Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
最近のWeb開発動向調査(at 2023年1月)
Search
ねこ
November 05, 2023
Technology
71
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
最近のWeb開発動向調査(at 2023年1月)
ねこ
November 05, 2023
More Decks by ねこ
See All by ねこ
在宅勤務、どうですか?
neko3cs
0
320
Twitter投稿確認ダイアログを作ってみてた。
neko3cs
0
290
Other Decks in Technology
See All in Technology
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
2.4k
SRE Lounge Hiroshimaへの招待
grimoh
0
580
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
270
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
260
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
570
SRE Next 2026 何でも屋からの脱却
bto
0
390
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
810
最近評価が難しくなった
maroon8021
0
260
アカウントが増えてからでは遅い? ~ マルチアカウント統制の勘所 ~
kenichinakamura
0
210
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
580
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
1
130
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
2.6k
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
170
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
How to Think Like a Performance Engineer
csswizardry
28
2.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
Transcript
最近のWeb開発動向 @neko3cs
誰? • neko3cs ◦ Twitter:@neko3cs ◦ GitHub:@neko3cs • 複合機売ってる会社でSI事業をしています ◦
金融系システムがメイン • 最近、ベース買いました ◦ ぼっちのやつに影響されました
このスライドはこんな人におすすめです! • ここ数年におけるWeb開発技術の動向をチェックしたい! • 最近Webアプリケーションの開発をしたいと思ってるけど 何から学んでいいか分からない! • とりあえず、情報をあつめたい!
注意点 • 範囲はここ2~3年のWeb技術の動向です • どちらかというとフロントエンド技術に寄った内容です • 筆者の個人的主観に基づく感想も含まれます
目次 • State of JS 2022の調査結果 • Web上のブログ記事から見た調査結果 • 何を学んだらいいの?
State of JS 2022の調査結果 • 有志の人によって実施されているJavaScriptを中心とした技術動向アンケートをまとめたサイト • 主に米国を中心に世界中の開発者を対象としている
引用:The State of JS 2022 State of JSについて 調査の見方について • 満足度と利用率から分析する ◦ 満足度 → 今後も使ってみたい人の比率 → 今後伸びる可能性があるもの ◦ 利用率 → 認知度に対する使われている比率 → 安定しているもの
State of JS 2022の調査結果 • ライブラリ ◦ フロントエンドフレームワークを対象とした分析項目 •
テスト ◦ テストライブラリ・フレームワーク対象とした分析項目 • モバイル&デスクトップ ◦ モバイル・デスクトップアプリを作るためのツール・フレームワーク対象とした分析項目 • ビルドツール ◦ JSモジュールの結合、CSSプリプロセッサの実行、altJSや特定のES規格への トランスパイル、難読化、といったビルド作業を行うためのツールを対象とした分析項目 引用:The State of JS 2022 確認項目
State of JS 2022の調査結果 引用:The State of JS 2022 ライブラリ
• Solid、Qwikがここ数年で人気 • Svelte、React、Vueが継続して満足度は高い
State of JS 2022の調査結果 引用:The State of JS 2022 ライブラリ
• React、Angular、Vueのシェアはとても高い • Svelteがシェアを伸ばしつつある
State of JS 2022の調査結果 • Solid ◦ Reactライク、仮想DOMがなく処理が爆速 •
Qwik ◦ Reactライク、Resumableという考え方でSSRのパフォーマンス問題を解決した • Svelte ◦ Vueライク、ロード時にライブラリのコードや仮想DOMがなく非常に軽量 • React ◦ Facebookが作成した、今一番シェアの高い、ネイティブアプリ向けのReact Nativeとの互換性 • Vue ◦ 元Googleの社員が作成、AngularJSをもっと軽量に出来ないかと作られる • Angular ◦ Googleが作成した、フロントエンドフレームワークの始祖、元々AngularJSとして作られるがTypeScriptベースのAngularとしてリメイクさ れる 引用:The State of JS 2022 注目したライブラリについて
State of JS 2022の調査結果 引用:The State of JS 2022 テスト
• Vitest、Testing Library、Playwrightがここ数年で人気 • Jest、Storybook、Cypressが継続して満足度は高い
State of JS 2022の調査結果 引用:The State of JS 2022 テスト
• Jest、Mochaのシェアが高い • Storybook、Cypress、Testing Libraryがシェアを伸ばしている
• Vitest ◦ Viteというビルドツールに組み込まれている、Jestを拡張する目的で作られた、非常に高速 • Testing Library ◦
コンポーネントの内部実装を意識する必要がない、ユーザーがアプリケーションを使用する観点からテストを記述できる、ランナーが必要 • Playwright ◦ 対応しているブラウザが非常に多い • Jest ◦ Facebookが作成した、Zero configurationを売りにしており面倒な設定が不要、ライブラリは他のを使ってもランナーはJestのものが使われがち • Storybook ◦ サンドボックス環境にて実行されたコンポーネントをGUIで確認出来る、ビジュアルテストでよく使用される • Cypress ◦ Seleniumとよく比べられる、ブラウザ上で直接実行されるため、Seleniumに比べて軽量、E2Eテストなどでよく使用される • Mocha ◦ 昔からあるフレームワーク、元々はNode.jsのテストフレームワークとして作られた State of JS 2022の調査結果 引用:The State of JS 2022 注目したテストライブラリ・フレームワークについて
State of JS 2022の調査結果 引用:The State of JS 2022 •
Tauri、Expoがここ数年で人気が上がっている • Native Appsが去年急に人気が上がっている • Electron、React Nativeは継続して満足度が高い モバイル&デスクトップ
State of JS 2022の調査結果 引用:The State of JS 2022 モバイル&デスクトップ
• Electron、React Nativeのシェアが高い • Expoのシェアが少し伸びている
State of JS 2022の調査結果 • Tauri ◦ デスクトップ向け、Rust製でパフォーマンスがよい、WebViewを用いており軽量 •
Expo ◦ React Nativeの開発サポートツールでXcodeやAndroid Studioなどのインストールを不要にする • Native Apps ◦ Swift、Kotlinなど各プラットフォームでサポートしている開発方法 • Electron ◦ デスクトップ向け、昔からある、JavaScriptでネイティブアプリを作成するライブラリ • React Native ◦ モバイル向け、Facebookが作成した、ReactライクでWeb開発者に優しい Microsoftが作成したデスクトップ向けの拡張ライブラリもある 引用:The State of JS 2022 注目したモバイル&デスクトップフレームワーク・ツールについて
State of JS 2022の調査結果 引用:The State of JS 2022 ビルドツール
• Vite、esbuild、SWC、tsc CLI、Turbopack、 Rollupなど様々なツールが注目されている状態 • 昔からあるwebpackの満足度は低いわけではないが下火化
State of JS 2022の調査結果 引用:The State of JS 2022 ビルドツール
• webpackのシェアは依然として高い • 利用率で最近注目されているものはVite、Rollup がある様です
Web上のブログ記事から見た調査結果 • 静的ホスティングサイト ◦ NetlifyやVercelといった静的サイトをホストしてくれるサービスの活用 ◦ CI/CDとの相性もいい!
• サーバーレスアーキテクチャ ◦ 静的ホスティングサイトの台頭に合わせ、FaaSを採用しサーバーサイド処理は簡潔に実装 • GraphQL ◦ REST APIの終焉とバックエンド開発の負担軽減 • Microfrontend ◦ バックエンドだけではなく、フロントエンドもマイクロサービス化 近年のWeb技術でのトレンド 引用:フロントエンドテクノロジートレンド遷移まとめ( 2022年版) | Hexabase 2021年後半から2022年以降のソフトウェア業界( Web中心)の技術動向予想(ポエム) - Qiita 『Micro Frontends』という記事を読んだのでまとめる - ねこさんのぶろぐ
State of JS 2022の調査結果 • Vite ◦ Vueの開発者が作成、非常に高速、IE向けにもビルド出来る • esbuild
◦ Goで作成されており、かなり爆速、型チェックがない、CSSモジュール非対応などまだまだ制約が多い • SWC ◦ Rustで作成されており、かなり爆速、DenoというNode.jsに代わるランタイムとの親和性が高い • tsc CLI ◦ TypeScript標準のビルドツール、Microsoft製 • Turbopack ◦ Rustで作成されており、かなり爆速、webpackの後継として作成された • Rollup ◦ ES6ネイティブ、webpackに比べて軽量なdistを生成する • webpack ◦ 昔からあるビルドツール 引用:The State of JS 2022 注目したビルドツールについて
何を学んだらいいの? • フロントエンドフレームワークはReactが安定! • テストはJestを使いつつ、用途に合わせてライブラリを追加! • モバイル開発はReact Nativeが安定! • デスクトップ開発はTauriがよさそう!
• ビルドツールはViteがよさそう!Turbopackにも注目! • 静的ホスティングサイトを使って簡単公開! • サーバーサイドはサーバーレスで! • データアクセスはGraphQLで!
おわり