新しいプロジェクトにRailsを使用しない理由

Scribd on Railsを作成し、Railsで3番目に訪問されたサイトになり、フレームワークは正常に機能しました。 しかし今日、私はRailsを使用し、間違いを犯しているように見える膨大な数の新しいプロジェクトを見ています。





2006年に脚本家の David Hanssonの直後にRailsを使用し始めました。DavidHanssonでは、世界にフレームワークを堂々と紹介しました。 Scribd on Rails 0.7の最初のバージョンを作成しました。 次に、フレームワークに移行すらなかったとき。



当時、Railsには多くの話題がありましたが、それを選択することはかなり危険な動きでした。 新しいサイトのほとんどは引き続きPHPとJavaで記述されています。これは、これらのプラットフォームの膨大な数の開発者の存在によって促進されました。 Railsは引き続き人気を獲得し、優れたライブラリの従者と忠実な開発者の軍隊を獲得すると確信しています。



ラッキーです! Scribdを育てている間、Railsは一緒に成長しました。 これは、新しいシリコンバレープロジェクトを開発するための基盤となるテクノロジーになりました。 Java Spring、PHP、およびASP.NETの開発者は、何が起こっているのかを認識し、新しい言語に切り替えることができる仕事を探し始めました。 私たちのプロジェクトが始まったとき、私たちは勝ちました-才能のある人たちが私たちのところに来ました。なぜなら、彼らをRailsで働かせることを提供できるからです。



変化の風



Railsの全盛期が終わったことを心配しています。 Railsで新しいプロジェクトを開始することは、2007年にJava Springでプロジェクトを開始することとほとんど同じです。下のグラフは、2007年から2016年にグーグルで動作するWebフレームワークを示しています。







出典: Google Trends



開発者の関心がRailsから新しいフレームワークに移行したことを確認することは不可能です。



Railsの最大の問題はRubyです



Rubyが遅いことは誰もが知っています。 しかし実際、Rubyは人気のあるプログラミング言語の中で最も遅い言語です。





なぜRubyはそんなに遅いのですか?



歴史的に発展した言語の特徴を指摘する人もいます。 そしてこれは本当です。 しかし、もっと深い理由があると思います。 Rubyには企業スポンサーはいません。



2007年には、Python、PHP、およびJavaScriptはかなり遅い言語でした。 FacebookはPHPに多額の投資を行い、HipHopを作成して高速化しました。 また、Googleは誤ってJavaScriptのサーバー側の急速な開発を推進し、JavaScriptでのJITコンパイルを迅速化しました。



Rubyインタープリターはボランティアによって作成されます。 2007年から2012年の間に、インタプリタの修復と高速化を複数回試みました(Rubinius、JRuby、YARVなど)。 しかし、信頼できるスポンサーがいなかったため、ボランティアは退屈して吹き飛ばされました。 JRubyはまだアクティブであり、最新バージョンは有望ですが、まだ多くの作業が先にあります。



Railsの最初の大規模IT企業であるTwitterは、Railsを取り上げて通訳を修理することができました。 Facebookが当時PHPで行っていたように。 これにより、すべてが変更され、今後何年もRailsの優位性が保証されます。 しかし、Twitterのエンジニアは、Rubyを高速化するよりも、高速な言語でTwitterを書き直す方が簡単だと判断しました。



他の人が彼を捕まえている間、レールは静止していました



Railsは、通常のWebアプリケーションの作成を高速化する多くの発見を所有しています。 しかし、しばらくして、他のフレームワークはこれらの革新を単に取り上げました。 Django for Pythonは現在Railsクローンです。 JavaScriptのSails.jsでも同じことが言えます。 そして、これらのフレームワークは、「主流ではない」プログラミング言語で書かれているという事実に悩まされていません。



同時に、Railsの開発自体が停滞しました。 3番目のバージョンは2010年8月にリリースされました。 Githubは4年間フレームワークの新しいバージョンに切り替えませんでした-メリットは十分に大きくありませんでした。 ScribdをRails 3にアップグレードする際に経験した痛みを思い出して、Rails 4でそれを危険にさらすかどうかはわかりません。



JavaScriptとフロントエンド開発のイノベーションの成長とRailsの停滞を比較するのは興味深いことです。 過去7年間で、バックエンドは小さなステップで変化し、フロントエンドはPrototypeからjQuery、Coffeescript、Angular、Reactに移行しました。 毎回-生産性が向上します。



募集



過去2年間で、初心者向けのプログラミングセンターが数多く成長しています。 彼らは多くのことを教えますが、サーバー側の開発に関しては、Railsには優位性があります。 どうやら、これはスタートアップのRails開発者に対する依然として高い需要に対する市場の反応です。



一方で、Railsエコシステムは、内部の有能な人々の数が増加したために勝ちました。 残念ながら、逆の効果がありました。 深刻な開発者、特にコンピューターサイエンス(CS)の学位を持つ開発者は、これらのコースを「最上位のプログラミング」と見なし始めました。 フレームワークの評判が損なわれているため、より多くの経験豊富な開発者がRailsでの作業を拒否していることに気付きました。 Flash / ActionScriptでこれがどのように起こるかを見ました。真面目な開発者は、しばしば(誤って)彼を「デザイナー向け」の軽量バージョンとして扱いました。



新しいプレイヤー



フレームワークのなかには、Railsの後継者としての地位を強く望んでいる人がいます。 Node.jsリード 信じられない? 人気のある企業によるサーバー側の言語使用に関する統計は次のとおりです。





ソース: CodingVC



そしてここでは、労働市場で何が起こっているかを示しています。





ソース:Indeed.com



これは、すべての新しい言語に欠陥があるという事実にもかかわらずです。 Node.jsは、6つの競合するフレームワークでクラッシュします。 Goは現在、マイクロサービスで非常に人気がありますが、大規模なアプリケーションはありません。 Django / Pythonはその位置を保持しているようですが、成長していません。



Webアプリケーションを確認したい場合は、3年間でエンジニアが書きたいものを理解する必要があります。 これは、現在生産性を向上させるフレームワークを選択するよりも重要です。 Facebookを使用している場合は、好きなものを使用できます。人々はあなたのために働きたいと思うでしょう。 しかし、ほとんどの企業はFacebookではありません。 一般的に、推測する場合、追加の努力をする必要はありません-新しい人気のあるフレームワークは、あなた自身で人を引き付けるでしょう。



All Articles