2024年の人気webフレームワークと感想
つい先日、新規webサービス作成によるwebフレームワーク選定にあたり、2024年度の人気webフレームワークを調査しました。
問題が起きた時に、多くの情報がweb上にある方が解決しやすいので、言語は英語を使って調べました。
調査結果は以下のようになりました。
Django
Laravel
Ruby on Rails
Express.js
ASP.NET
Spring Boot
Flask
React.js
Angular
昔からよく見聞きするフレームワークがほとんどです。
私もExpress.js以外、全部プロダクトで使用したことがあります。
どれも枯れた良いフレームワークだと思います。
この調査を考慮して
React(typescriptなし)
Ruby on Rails
fast api(web3)
postres(DB)
という組み合わせでサービスを作成することにしました。
あえていうと
私はReactよりSvelteの方が好みなのですが、web3サービス構築だとReactの方がSvelteより色々と実装が楽なので、Reactを選択しました。ただ、鬱陶しいtypescriptは外しています。
さて、今回の調査で気づいたのは
人気のwebフレームワークはここ10年くらいほとんど変化していない
ということです。
最近のプロジェクト現場では、Go言語やRustなどの高性能な言語が注目を集めてます。
しかし、内心では
「GoやRustで書く必要性などほとんどない」
と思っている人がほとんどのはずです。
実際私も、重い処理以外でGoやRustは不要と思っています。
むしろ全てをGoやRustで実装することは、プロジェクト全体の生産性を下げてしまいます。
なので、今回取り上げた人気のwebフレームワークのリストは
サービス開発という仕事視点でよく考えられている
と言うことができます。
というわけで今回は
2024年の人気webフレームワークと感想
について記載します。
具体的には
技術選定の視点とおすすめフレームワーク
今後のwebフレームワーク
について記載します。
技術選定の視点とおすすめフレームワーク
サービスを作成する技術を選定するときは
いかに効率的にサービスの作成、運用ができるか
を意識することが重要です。
効率的という単語は数値のない曖昧な定義ですが、これには技術、コストなど全ての要素が含まれます。
個人的にはバックエンドならば
Ruby on Rails
Spring Boot
の二択が基本になると思っています。
スタートアップで若い人が多い現場であればRuby on Rails
伝統的な企業でベテランがある程度いる現場であればSpring Boot
を選ぶのが一般的には良いのではないでしょうか。
今回取り上げたように、世の中には色々なフレームワークがありますが、安定してサービス開発を進めたいのなら、Ruby on RailsかSpring Bootを使うと良いでしょう。
技術的に枯れていてあまり面白味がないという欠点はありますが
ビジネスという観点でサービス開発を判断するなら、Ruby on RailsかSpring Bootを使うことをおすすめします。
ただ、腕のいいエンジニアや、若くて意識高い系のエンジニアは、Ruby on RailsとSpring Bootでは物足りなさを感じて、現場から離脱する可能性が高くなるリスクがあることも頭に留めておきましょう。
次に、AIやweb3といった技術を扱う場合です。
この場合、よほどの理由がない限り
python
を使うようにしましょう。
他の言語でも開発は可能ですが
時間の無駄
が多く発生します。
AIとweb3は発展途上の技術ゆえ変化が多いので、変更が容易なpythonを使ってスピード重視で開発と改善を進めていくべきです。
作り込んでもどうせすぐに技術や仕様が変わってしまうので、pythonでプロダクトとして素早く動作するものを作っていく
という割り切った考えで実装を進めていくのが良いです。
最後はフロントエンドです。
正直フロントエンドは、どのフレームワークでも良いのですが
web3や大規模サービスならreactで、それ以外であればreact以外
で良いのではないでしょうか。
reactは最も人気のあるフロントエンドwebフレームワークですが、正直、大規模サービス以外ではオーバースペックになりつつあります。
基本的にはSvelteを使えば十分です。
また、どちらを選ぶにせよ
typescriptは外す
選択をおすすめします。
typescriptはメリットよりもデメリットの方が大きいです。
型がないと不安という人もいますが、慣れればtypescriptなしの方がパフォーマンスも可読性も高くなります。
どうしても複雑になる箇所だけJSDocを記載しておくと良いでしょう。
データベースは特に理由はなければ
postgres
を選択しておけば間違いありません。
今後のwebフレームワーク
現在と過去を振り返って今後のwebフレームワークを予想すると
バックエンドはあまり変化しない
フロントエンドはtypescritpを使わないシンプルな構成に
AIとweb3はライブラリとフレームワークが乱発する混乱期になる
という方向に向かっていくのではないでしょうか。
というのは
2000年から2010年代中盤はバックエンドwebフレームワーク戦国時代
2010年中盤から2020年代中盤はフロントwebフレームワーク戦国時代
という歴史があったように、次は
2020年中盤から2030年代中盤はAI・web3フレームワーク戦国時代
と、歴史は繰り返さないが韻を踏む可能性が高いからです。
実際、ここ10年変化の激しかったwebフロントエンドの技術は随分と落ち着いてきました。
今後はもっと落ち着いていくはずです。
一方で、AIやweb3の技術は今後10年で大きく変化していくでしょう。
10年後のAIやweb3は、現在のAIやweb3とは別物になっている可能性が高いです。
技術とはそういうものです。
なので、AIやweb3の学習をしていくことで、大きくエンジニアとしての力を伸ばしていくことができると思います。
まとめ
今回は
2024年の人気webフレームワークと感想
について記載しました。
まとめると
バックエンドwebフレームワークの人気はここ最近は変わっていない
フロンエンドwebフレームワークの人気も変化がなくなってきた
バックエンドとフロントエンドは技術の方向性が固まってきている
ということです。
このように情報を整理すると、20年前はカオスだったwebの世界も、だいぶ整頓されてきた印象を受けます。
一方でまだまだこれから開拓していく分野もあるので、自分のキャリアを考えながら選択していくのが良いのではないでしょうか。
以上です。