Fork me on GitHub

JSer.info 15周年: 15年間のJavaScriptを振り返る

Edit on GitHub 編集履歴を見る

2011年1月16日に開始したJSer.infoは、2026年1月16日で15周年を迎えました🎉

JSer.infoは15年間で820件の記事を公開し、13,606件のサイト/記事/ライブラリを紹介してきました。週1回の更新を15年間継続しています。

この記事では、15年間のJSer.infoのデータを振り返りながら、JavaScriptエコシステムがどのように変化してきたかを見ていきます。

なお、この記事のデータはJSer.infoで紹介した記事の傾向であり、JavaScriptエコシステム全体を示すものではありません。
また、2024-2025年はJSer.info自体の投稿数が減少しているため、データにも2025年に減少傾向が出てしまっている点に注意してください。


15年間の基本統計

項目 数値
総投稿数 820回
総紹介記事数 13,606件
運営期間 2011年1月〜2026年1月(15年間)
平均更新頻度 週1回

年別の紹介記事数を見ると、2013年の1,269件をピークに、近年は600〜700件程度で推移しています。一方で、1記事あたりの紹介文の長さは15年間で約2倍に増加しており、「量より質」へとスタイルが変化しています。

紹介記事数 投稿数 1投稿あたり 紹介文の平均文字数
2011 915 65 14.1件 62文字
2013 1,269 57 22.3件 58文字
2017 1,068 54 19.8件 79文字
2019 790 53 14.9件 90文字
2021 789 53 14.9件 101文字
2025 552 41 13.5件 108文字

15年間の基本統計

あと、2025年は投稿ペースが少し落ちているため投稿数が減っています。
そのため、この後に出てくるデータにも2025年に減少傾向が出てしまっている点に注意してください。


情報源の変化: 個人ブログから公式ドキュメントへ

15年間で最も大きな変化は、情報源の構成です。

初期(2011-2013年)の主な情報源

  1. github.com (327件)
  2. d.hatena.ne.jp (154件)
  3. slideshare.net (147件)
  4. amazon.co.jp (98件)
  5. amazon.com (83件)

中期(2017-2019年)の主な情報源

  1. github.com (828件)
  2. medium.com (134件)
  3. developers.google.com (103件)
  4. webkit.org (69件)
  5. nodejs.org (64件)

後期(2023-2025年)の主な情報源

  1. github.com (568件)
  2. nodejs.org (98件)
  3. bun.sh (62件)
  4. zenn.dev (56件)
  5. developer.chrome.com (55件)

GitHubが一貫して最大の情報源であることは変わりませんが、その周辺が大きく変化しています。

情報源の変化

初期にははてなダイアリーSlideShareAmazon(書籍) が上位でした。個人ブログや勉強会のスライド、書籍が主要な情報源だった時代です。

中期にはMediumが多くなり、ブラウザベンダーの公式ドキュメント/ブログ(developers.google.comやwebkit.orgなど)が上位に入りました。個人ブログのプラットフォームがはてなからMediumに移行し、同時にブラウザベンダーからの一次情報が重要視され始めた時期です。

後期では公式ドキュメント/ブログ(nodejs.org、developer.chrome.com、bun.sh)や zenn.dev が上位に入っています。Mediumは姿を消し、一次情報源への直接アクセスが増えました。

コンテンツタイプの変化

種類 2011-2013 2014-2016 2017-2019 2020-2022 2023-2025
リリースノート 560 750 862 937 986
解説記事 719 692 813 617 526
ライブラリ/ツール 371 599 446 397 191
スライド/動画 292 309 170 60 49
書籍関連 192 203 135 73 45
チュートリアル 97 154 93 33 14

コンテンツタイプの変化

リリースノートは一貫して増加し続けています。一方、スライド/動画、書籍、チュートリアルなどの学習コンテンツは減っています。これは公式ドキュメントが充実したりGitHubのリリースノートが情報発信の中心になり、勉強会のスライドや書籍の紹介が減ったことを反映しています。


日本語ブログプラットフォームの変遷

JSer.infoで紹介してきた日本語の技術ブログも、15年間でプラットフォームが大きく入れ替わりました。

はてな Qiita Zenn
2011 92 0 0
2014 29 19 0
2016 10 45 0
2020 3 4 3
2021 1 1 22
2024 2 1 24

はてなダイアリー/はてなブログ → Qiita → Zenn という流れで紹介記事のプラットフォームが変化しています。

日本語ブログプラットフォームの変遷

ただし、全体として日本語ソースの割合は徐々に減り、5%前後で安定しています。
(タイトルとかだけをみてるはずなので、実際にはもう少し高い可能性はあります)

日本語ソース 合計 割合
2011 203 915 22.2%
2012 194 1126 17.2%
2013 150 1269 11.8%
2014 114 1147 9.9%
2015 80 1043 7.7%
2016 93 1078 8.6%
2017 67 1068 6.3%
2018 64 921 6.9%
2019 26 790 3.3%
2020 25 810 3.1%
2021 43 789 5.4%
2022 33 712 4.6%
2023 42 737 5.7%
2024 44 638 6.9%
2025 26 552 4.7%

日本語ソースの割合推移

これはJSer.infoが意図的に日本語を避けているわけではなく、JavaScriptの一次情報源がほぼ英語であることの反映です。ブラウザベンダー、公式サイト/プロジェクト、主要なライブラリのメンテナーはほとんどが英語で情報発信しています。


技術トレンドの変遷

UIフレームワーク: jQuery → Angular → React

jQuery Angular React Vue
2011 109 1 0 0
2013 86 44 6 0
2014 35 49 52 11
2015 29 30 103 10
2017 7 34 153 28
2019 9 9 84 20
2021 8 6 84 23
2025 1 4 82 4

2011年はjQueryが一番多く、2013年/2014年頃からAngular/React/Vueが増え、2015年にはReactが多く増えました。2017年にReactは153件でピークを迎え、その後は安定期に入っています。

2025年ではReactの件数がピーク時の半分程度になっていますが、これはReact自体が成熟し、毎週取り上げるような新しいニュースが減ったことを示しています。

UIフレームワーク推移

ビルドツール: webpack → Vite

webpack Rollup esbuild Vite
2016 33 2 0 0
2017 43 8 0 0
2020 26 7 5 1
2022 11 3 9 28
2023 13 10 16 36
2025 8 2 6 23

webpackは2017年が一番多く、2020年までは話題が多かったです。
一方で2020年にesbuildが登場し、2022年にはViteの紹介記事数がwebpackを上回りました。

JSer.infoでも、esbuildの登場以降はRustやGoで書かれたツールの紹介が増えました。「JavaScriptのツールはJavaScriptで書く」という前提が変わり、パフォーマンスへの期待値が変化したことを反映しています。

ビルドツール推移

ランタイム: Node.js一強から多様化へ

Deno Bun
2020 13 0
2021 21 1
2022 21 5
2023 19 27
2024 18 26

2020年にDeno 1.0がリリースされ、2022年にBunが登場。Node.js一強の時代から、複数のランタイムが競争する時代に移行しました。

特にBunは2023年の1.0リリース以降も定期的なリリースをしているため、JSer.infoでも多く紹介しています。

ランタイム多様化


JSer.infoでの言及が変化した技術

15年間で言及がなくなった技術(2011-2013 → 2023-2025)

技術 初期 後期
Backbone.js 75 0
CoffeeScript 71 0
AMD/RequireJS 74 3
Grunt 49 0
PhantomJS 37 0
Bower 13 0

これらの技術は当時よく使われていましたが、今ではJSer.infoで取り上げられることはなくなりました。

Backbone.jsとCoffeeScriptは2011-2012年頃によく紹介されていました。AMDとRequireJSはモジュールシステムの先駆けでしたが、ES Modulesの標準化により役目を終えました。Grunt/Gulpはnpm scriptsやビルドツールに置き換わり、PhantomJSはPuppeteer/Playwrightに取って代わられました。

15年間で言及が増えた技術

技術 初期 後期
ESM/import 2 117
Rust 1 40
WebAssembly 0 51
monorepo 0 14

ECMAScript Modulesは2015年のES2015で仕様化されましたが、ブラウザとNode.jsの両方で実用的に使えるようになったのは2020年以降です。

Rustへの言及は、SWC/Rspack/Biome/OxCなどのツールチェーンに関連しています。JavaScriptのエコシステムにおいて、パフォーマンスクリティカルな部分はRustやGoで書かれることが増えました。
2025年にはTypeScriptコンパイラ自体もGoで書き直すことが発表されています。

WebAssemblyは2015年に発表された技術で、JSer.infoでも2017年頃から言及が増えています。monorepoの概念自体は古くからありますが、JavaScriptエコシステムで注目されるようになったのは、Lerna(2016年)やnpm/yarn workspaces以降です。
今では、npm/yarn/pnpmなどのパッケージマネージャー自体がmonorepoを公式にサポートしています。

15年間で言及が変化した技術


横断的トピックの変化

フレームワークに依存しない、技術横断的なトピックの推移も見ていきます。

テスト パフォーマンス セキュリティ a11y
2011 30 46 27 10 6
2014 52 87 58 14 9
2017 108 86 93 15 15
2020 123 44 80 13 16
2021 129 59 64 28 17
2025 88 47 42 15 23

型(TypeScript) への言及は2021年にピーク(129件)を迎え、その後は減少傾向です。TypeScriptが「当たり前」になり、「TypeScriptを使う」こと自体がニュースになりにくくなったためと考えられます。

テスト への言及は2014年にピーク(87件)を迎えました。Jasmine、Mocha、Karmaなど多くのテストフレームワークが競っていた時期で、JSer.infoでも頻繁に取り上げていました。現在はJest、Vitest、Playwrightなどに収束しています。

パフォーマンス への言及は2017年にピーク(93件)。webpackの最適化やTree Shaking、コード分割などをJSer.infoでも多く紹介していた時期です。

a11y(アクセシビリティ) は、一貫して増加傾向にあるトピックです。6件から23件へ、約4倍に増加しています。

横断的トピックの推移


情報ソースの種類の変化

紹介記事のソースを「公式(プロジェクト/ドキュメント)」「GitHub」「個人ブログ」に分類しました。

ソース 2011-2013 2014-2016 2017-2019 2020-2022 2023-2025
公式 204 294 467 471 479
GitHub 506 1,015 910 903 596
個人ブログ 213 194 141 76 70
  • 公式: nodejs.org, webkit.org, reactjs.org, eslint.org など公式サイト/ドキュメント
  • GitHub: github.com, github.io
  • 個人ブログ: はてな, Qiita, Zenn, medium.com/@個人 など

情報ソースの変化

比較してみると、2011-2013年は個人ブログと公式がほぼ同数(213 vs 204)でしたが、2023-2025年には公式ブログ/ドキュメントが個人ブログの約7倍(479 vs 70)になっています。公式ドキュメントやプロジェクトサイトでの情報発信が充実したことで、JSer.infoで紹介する情報源も公式サイトが中心になりました。


開発プラクティスの変化

開発手法に関するトピックも変化しています。

プラクティス 2011-2013 2017-2019 2023-2025
CI/CD 31 56 67
Migration/移行 10 32 56
RFC/Proposal 2 73 45
Breaking Change 3 15 17

RFC/Proposal への言及が増えているのは、ECMAScriptがES2015でStage制を導入したことで、Proposalとして紹介することが増えた点や、ライブラリ/フレームワークがRFCプロセスを採用するケースが増えたことを反映しています。

Migration(移行) への言及が増えているのは、エコシステムの成熟を示しています。新しい技術への移行、メジャーバージョンアップ、レガシーコードの刷新など、「既存のコードベースをどう更新するか」が重要なテーマになりました。

開発プラクティスの変化


15年間の変化の総括

JSer.infoの15年間のデータから見えてくる変化をまとめます。

15年間の変化の総括


JSer.info自体の変化

15年間でJSer.info自体も変化してきました。

技術的な変化

  • 2014年: TumblrからGitHub Pagesに移行
  • 2015年: Realtime JSer.info公開
  • 2016年: HTTPS化、Ping機能追加
  • 2021年: JSer.info Policy公開
  • 2023年: JSer.info Watch List公開
  • 2025年: MCP執筆補助、AIによるヘッドライン生成を導入

運用面の変化

  • 週1更新を15年間継続
  • GitHub上で完結するワークフローの構築
  • 自動カテゴライズ、自動タグ付け、ヘッドライン生成の導入
  • postemを使った記事投稿
  • 韓国語版の翻訳(@uyeong さん、@rewrite0w0 さん、@Serzhul さんに感謝)

「交換可能にする」という目標のその後

JSer.info 11周年 で「2025年までに交換可能にする」という目標を掲げました。完全な交換可能は達成していませんが、AIの活用によって更新フローは大きく変化しました。

JSer.info 更新フロー

JSer.infoの更新フロー 2025年 - YAPC::Fukuoka 2025での発表資料 より

JSer.infoについてでは「更新のために私への負荷をできる限り減らしスムーズに行えることが継続への鍵」と書いていました。現在のJSer.infoでは、情報収集からPR作成、タグ付け、グループ分け、ヘッドライン生成まで、多くの部分が自動化されています。人間が注力するのは情報の判断にある部分だけになってきています。つまり、何を紹介し、どう伝えるかという部分です。
退屈な作業を自動化し、判断という価値のある部分に集中できる仕組みが整ってきました。

詳細は YAPC::Fukuoka 2025での発表 を参照してください。

2025年の更新頻度について

2025年は更新頻度が少し下がっています。個人のブックマーク(情報収集の入力)を分析したところ、原因はある程度わかってきています。

ブックマーク数 投稿数 投稿間隔
2021 2,862 53 6.9日
2023 2,373 53 6.9日
2025 1,033 41 8.9日

ブックマーク数(入力)が2021年をピークに64%減少しています。一方で、ブックマークから記事となるケースが2倍以上に向上しています。2021年は4件ブックマークして1件掲載だったのが、2025年は2件ブックマークして1件掲載になっています。その結果、入力が64%減少しても、投稿数は23%減に抑えられています。

ブックマークとJSer.info更新の相関

減少の原因としては、記事は読んでいるものの、ブックマーク時に説明文を書くスタイルのため、その負荷で取りこぼしている可能性が高いと考えています。
数値としてわかってきたので、この辺はトラッキングしながら改善していけるといいかなと思っています。
最近だとpostemなどのツールにClaude連携などのブックマーク補助機能を追加しているので、改善していくと考えています。

また、最近はRSSリーダを作っているので、RSSから情報収集して判断して公開するというJSer.infoの情報システム全体が自分で書いたもので回せるようになります。

JSer.infoの情報システム全体の大まかな流れ:

RSSフィード → 収集 → 判断 → 公開

JSer.info情報システム

YAPC::Fukuoka 2025での発表資料

これによって、今まで摩擦があった部分も技術的に取り除きやすくなる気がしています。


おわりに

JSer.infoは2011年1月16日に開始し、15年が経ちました。

15年前、JavaScriptはjQuery(jQueryは2026年1月14日に20周年!)とBackbone.js/CoffeeScriptの時代でした。今ではReact、TypeScript、Viteが多く紹介されるようになり、Node.js以外のランタイムも選択肢として選べるようになりました。

JSer.infoで紹介する情報源も変わりました。勉強会のスライドや書籍から、公式ドキュメントやGitHubのリリースノートが中心になってきています。

変化し続けるJavaScriptのエコシステムにおいて、JSer.infoが「JavaScriptの情報を整理して正確に伝える」役割を果たせていれば幸いです。


この記事やJSer.infoに関する意見や感想などは、次の場所に書いてください。

15年間読んでくれている方、サポートしてくれている方、ありがとうございます!


JSer.info Sponsors

JSer.infoをGitHub Sponsorsで支援してくれている方々に感謝します。
特に長年支援してくれているサイボウズ株式会社さんに感謝します。

JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


関連リンク

この記事を書くのに使ったJSer.infoのデータセットはjser/datasetで公開しています。
また、今回はDuckDBを主に使って分析しましたが、そのクエリなどについてはjser/jser.github.io#1343で公開しています。

DuckDBで直接JSer.infoのデータセットを読み込んで、横断的トピックの年別集計を行うクエリの例。

duckdb -c "
SELECT
    YEAR(CAST(date AS TIMESTAMP)) as year,
    SUM(CASE WHEN LOWER(content) LIKE '%security%' OR LOWER(content) LIKE '%セキュリティ%'
        OR LOWER(content) LIKE '%脆弱性%' THEN 1 ELSE 0 END) as security,
    SUM(CASE WHEN LOWER(content) LIKE '%performance%' OR LOWER(content) LIKE '%パフォーマンス%'
        OR LOWER(content) LIKE '%高速化%' THEN 1 ELSE 0 END) as performance,
    SUM(CASE WHEN LOWER(content) LIKE '%accessib%' OR LOWER(content) LIKE '%a11y%'
        OR LOWER(content) LIKE '%アクセシビリティ%' THEN 1 ELSE 0 END) as a11y,
    SUM(CASE WHEN LOWER(content) LIKE '%test%' OR LOWER(content) LIKE '%テスト%' THEN 1 ELSE 0 END) as testing,
    SUM(CASE WHEN LOWER(content) LIKE '%型%' OR LOWER(content) LIKE '%type%' THEN 1 ELSE 0 END) as typing
FROM read_json_auto('https://jser.info/source-data/items.json', ignore_errors=true)
GROUP BY year
ORDER BY year;
"

┌───────┬──────────┬─────────────┬────────┬─────────┬────────┐
│ year  │ security │ performance │  a11y  │ testing │ typing │
│ int64 │  int128  │   int128    │ int128 │ int128  │ int128 │
├───────┼──────────┼─────────────┼────────┼─────────┼────────┤
│  2010 │        0 │           0 │      0 │       0 │      0 │
│  2011 │        6 │          19 │      3 │      34 │     29 │
│  2012 │        7 │          31 │      2 │      98 │     43 │
│  2013 │       11 │          28 │      7 │     118 │     69 │
│  2014 │        6 │          39 │      4 │      82 │     52 │
│  2015 │        9 │          20 │      8 │      66 │     72 │
│  2016 │       10 │          39 │     22 │      60 │     75 │
│  2017 │       13 │          69 │      5 │      72 │    104 │
│  2018 │       11 │          68 │     14 │      50 │     90 │
│  2019 │       20 │          54 │     14 │      55 │    103 │
│  2020 │       11 │          65 │      9 │      34 │    117 │
│  2021 │       23 │          54 │      8 │      39 │    124 │
│  2022 │       18 │          39 │      7 │      57 │    114 │
│  2023 │       13 │          66 │      6 │      57 │    111 │
│  2024 │       12 │          36 │      9 │      46 │     90 │
│  2025 │       14 │          30 │      9 │      34 │     86 │
│  2026 │        2 │           4 │      1 │       2 │      5 │
├───────┴──────────┴─────────────┴────────┴─────────┴────────┤
│ 17 rows                                          6 columns │
└────────────────────────────────────────────────────────────┘
この記事へ修正リクエストをする
JSer.info Slackに参加する