2024 年の JavaScript と TypeScript のトレンド: 開発者エコシステムアンケートのインサイト
JetBrains は過去 7 年間にわたり、変化し続ける開発者の状況と使用されている主要テクノロジーを関連付けるために開発者エコシステムアンケートを実施してきました。 その結果は生データと分析レポートの両方の形式でコミュニティと共有され、すべての関係者がこのエコシステムの状況を把握できるようになっています。 本日は今年の調査結果を JavaScript と TypeScript に焦点を当てて確認したいと思います。
アンケートの概要
2023 年の開発者エコシステムアンケートでは、世界中の 26,348 人の開発者からインサイトを収集しました。 このアンケートの結果を自分で確認し、プログラミング言語やツール、テクノロジーから回答者に関する有用な情報や豆情報に至るまで広範なトピックを網羅した情報を入手できます。 私たちは開発者独特のライフスタイルにも注目し、その情熱や興味を明らかにする予定です。 アンケートはできるだけ公正かつ代表的なものにするため、データをクリーニングしてバイアスを排除するための複数の段階を含む方法で実施しました。 実際に使用した方法についてはこちらをご覧ください。
JavaScript のインサイト
JavaScript の使用に関するトレンド
今回も JavaScript が 2023 年に最も使用されているプログラミング言語という結果になりました。7 年連続で使用言語のトップを維持しています。 これは、JavaScript が多くのフロントエンドウェブ開発の原動力となる障壁の低い言語であるためだと思われます。 興味深いことに、そのシェアはここ 3 年間毎年少しずつ低下しています。この低下は TypeScript の採用が増えると同時に発生しているため、将来的な変化の兆しである可能性があります。
JavaScript ユーザーがよく開発しているもの
JavaScript 開発者の 80% は主にウェブサイトに取り組んでいます。 JavaScript で 2 番目によく開発されているソフトウェア製品はユーティリティ(小さなタスクに使用する小さなアプリ)です。 その他の種類のソフトウェアの開発に JavaScript を使用している人はわずかでした。 データを主に 2 つの開発部門に分けると、JavaScript 開発者の 86% がフロントエンドプロジェクトに、34% がバックエンドにも従事していました。
JavaScript と TypeScript のコードエディターと IDE
アンケートの結果より、回答者の大半(51%)が JavaScript と TypeScript の開発に Visual Studio Code を使用していることがわかりました。 2 番目によく使用されているツールは WebStorm(21%)で、僅差で「別の IntelliJ ベース IDE」(16%)が続いていました。この回答には PyCharm、IntelliJ IDEA、GoLand、および PhpStorm などの各種 JetBrains IDE 製品が含まれています。
コードエディターと IDE のどちらを使用すべきか迷っているなら、その答えはシンプルです。両方を使用し、作業中のタスクに応じて切り替えればいいのです。 コードエディターは簡単な編集や比較的小規模なプロジェクトに適していますが、大規模なプロジェクトや複雑なタスクに取り組む場合は IDE の方が頼りになります。
JavaScript フレームワークの好み
JavaScript フレームワークとライブラリは JavaScript 開発者コミュニティ内で普及しており、使用していないと回答した JavaScript 開発者はわずか 8% でした。 フレームワークとライブラリは複雑な対話型ウェブアプリケーションの構築を単純化するツールと構造を開発者に提供します。 これらのフレームワークのうち、明らかに人気なのは React であり、JavaScript 開発者の 57% が使用しています。 アンケートによると、2 番目によく使用されているのは Vue(32%)で、3 番目は Next.js(27%)でした。 Angular と Express(20%)はともに 4 位で並んでいます。
通常、フロントエンド開発で最も一般的な 3 大フレームワークは React、Angular、Vue です。 どのフレームワークを選択するかは、主にプロジェクトの具体的な要件とチームの好みによって決まります。
React が最も使用されているフレームワークである理由
- React は 2013 年 5 月 29 日に初めてリリースされました。 市場に出た最初のフレームワークではありませんでしたが、概して確かな実績を持つ最初の大きなフレームワークであることが有利に働きました。 これにより、早期の大量採用が始まりました。 このフレームワークはニーズに合わせて進化し続けているため、早い段階で習得した開発者はそのまま使用を継続できました。
- React は他の UI フレームワークと同様、UI が再利用可能なコンポーネントのツリーとして構築されるコンポーネントベースのアーキテクチャを採用しています。 このモジュール方式により、コードの管理と保守だけでなく、アプリケーションの各所でコードの再利用を簡単に行えるようになっています。
- React は JavaScript の拡張構文である JSX を使用します。 JSX では開発者が HTML のようなコードを JavaScript 内で記述できます。ほとんどのユーザーが関連する概念に精通しているため、快適に開発できます。
- React は柔軟性に優れており、小さなシングルページアプリケーションから大規模で複雑なウェブアプリケーションに至るまでさまざまなプロジェクトタイプで使用できます。 その柔軟性により、多様な開発シナリオに適した選択肢となっています。
モジュールバンドラー
モジュールバンドラーは JavaScript 開発者にとって有益なツールです。 ファイルとアセットを互いに認識し合うようにバンドルできるだけでなく、依存関係をマッピングすることも可能です。 モジュールバンドラーはリゾルバーと同様、一般的には初期化時にすべての依存関係が機能するのに必要なファイルが使用可能であることを確認します。 その後、モジュール内の各ファイルを処理して依存関係グラフを構築する仕組みになっています。
これが完了すると、モジュールバンドラーはこのような複数のモジュールを ‘output’ 構成パラメーターで指定された 1 つのファイルに統合し、必要な場合に正しく呼び出し/実行できるようにすべてのモジュールのレジストリを管理します。
2023 年に 1 位となったモジュールバンドラーは webpack で、JavaScript 開発者の 57% が使用していました。 webpack は約 10 年前から存在しており、絶えず進化しながら変化し続ける開発者のニーズを満たしています。 ですが、より最小限の構成により優れたパフォーマンスを求める開発者が増えているため、Vite(38%)や esbuild(11%)などの代替手段が広く採用されるようになってきています。
ユニットテスト
WebStorm デベロッパーアドボケイトの Jan Niklas Wortmann は失望していたとおり、ユニットテストは JavaScript 開発者の間ではまったく一般的ではなく、回答者の 32% がユニットテストを作成していませんでした。 作成している回答者の大多数は Jest を選んでおり、40% を占めていました。 Cypress は 15% で 2 番目によく使用されているフレームワークで、Mocha、Vitest、および Playwright は 10% 程度が使用していました。 Jest は概して簡単であり、運用に乗せるために構成する必要はありません。 ユニットテストが採用されていない大きな理由はそれだと思われます。とっつきにくく感じられ、採用する際の障壁が高いのです。
JavaScript 開発者が直面している課題
JavaScript には依然として固有の課題がありますが、コミュニティはその対応に継続して取り組んでいます。 たとえば、非同期モデルは async/await の導入によって改善されました。 ライブラリとフレームワークのリリース頻度は低下しており、それを追うのに疲れることはなくなってきています。主要なライブラリとフレームワークは互いに感化しながら成熟していっている状況です。 好き嫌いに関係なく、JavaScript には強力な型付けの仕組みがありません。これは引き続き解決が必要な問題ではありますが、TypeScript が現われたことで、開発者は簡単に実装可能な代替手段を使用できるようになりました。
TypeScript のインサイト
TypeScript の採用と成長
JavaScript は開発者が頻繫かつ効果的に活用してきた動的型付け言語ですが、これは実行時にのみエラーが発見されることが広く受け入れられているということを示しています。 現在は全体的な開発者エクスペリエンスが向上し、開発者がコードに自信を持てるより型安全な TypeScript への移行が進んでいます。 この事実は TypeScript の採用が年々増加していることだけでなく、開発者が TypeScript を使用する目的が JavaScript と重なっていることからもわかります。
JavaScript から TypeScript に切り替える理由
TypeScript は静的型付けが備わった JavaScript のスーパーセットであり、JavaScript プロジェクトとの互換性を維持するように設計されています。また、既存のプロジェクトを段階的に移行するのにも便利です。 TypeScript も ECMAScript 規格に準拠しており、多くの場合は最新の JavaScript 機能をサポートしています。 つまり、開発者は未来の JavaScript 仕様の機能をブラウザーで広くサポートされる前から使用できるのです。 TypeScript の現在の安定版リリースは 5.3.2 で、2024 年 3 月には TypeScript 5.4 がリリースされる予定です。
まとめ
JavaScript と TypeScript エコシステムは進化し続けます。 2016 年当時とはまったく異なり、現在はテクノロジー、フレームワーク、言語、ライブラリが成熟し始めており、開発者の好みに共通点や傾向が現れつつあります。 WebStorm のようなツールは開発者がコードを最大限に活用し、JavaScript や TypeScript を効果的に扱えるように成長と改善を続けていくでしょう。 弊社はこのエコシステムの問題や限界を解決するため、新しく革新的なテクノロジーが開発され続けることを願っています。 この目標を念頭に置き、エコシステムと私たちと同じ開発者のニーズに合わせて製品を更新し続けていきます。
オリジナル(英語)ブログ投稿記事の作者: