Posted at
Nuxt.jsDay 25

2018 年の国内の Nuxt.js について振り返る

2018 年ももう終わりますね。今年は Nuxt の大躍進の一年であったと思います。

国内では爆発的な人気を誇り、 Vue.js による Web アプリケーションエンジニアでは知らない人がいないレベルのフレームワークになったのではないでしょうか。

Nuxt.js について語りたいことは非常に多くあります。 v2.0 リリースをはじめとする多くの技術的アップデートや周辺ツールの強化など、話題にこと欠かすことはありません。

そんな中、 Nuxt.js Advent Calendar の最後となるこの記事では、あえて Nuxt.js のテクニックのようなトピックではなく、今年国内であった Nuxt.js の動きを中心に追っていくことができればと思います。

実際の開発についての情報については、既に多くの情報が公開されているかと思います。僭越ながら、私自身も Qiita に大量のナレッジを残しておりますので、タグから情報を追っていただければと思います。

https://qiita.com/tags/nuxt.js


2018 年の Nuxt

一年を振り返るにあたって、まずは国内海外問わず、数値的な伸びから見てみます。

npmtrends での実際のダウンロード数は、基本的には右肩上がりで伸び続けており、かつポイントポイントで人気が跳ねていることがわかります。

10月末の跳ねは Vue Fes Japan あたりの効果、 12 月のものはアドベントカレンダー契機でしょうか。

Screen Shot 2018-12-25 at 10.35.01.png

Google Trends での検索動向も見てみます。わかりやすいように、よく比較される Next.js も一緒に載せておきます。

まずは日本。

Screen Shot 2018-12-25 at 10.37.27.png

そして、世界。

Screen Shot 2018-12-25 at 10.37.38.png

ちょうど、 React / Vue の関係と同じように、 Next / Nuxt でも、日本は Vue.js ベースであることによってシェアが高まっていることがわかります。ひとまず、日本というスコープで見ると、十分に人気のある技術となったと言えるはずです。


国内コミュニティにおける Nuxt

ではそんな日本コミュニティでは、実際どのような活動が行われたでしょうか。観測範囲内での自称についてまとめてみました。

もし「他にもこういう活動があったよ!」というかたがいらっしゃれば、ぜひコメントや編集リクエストをいただければと思います。積極的に反映していきます。


日本語ドキュメントの継続的な翻訳活動

Vue.js といえば日本語ドキュメントの貢献が非常に活発なことで知られていますが、 Nuxt.js も例外ではありません。

@inouetakuya さんを中心に、私含め 3 人がメンテナとして変更を取り入れつつ、非常に多くの人が日本語ドキュメントの翻訳に関わっています。特に inouetakuya さんは、後述する Vue Fes Japan 2018 にて Atinux 氏から名指しで日本語ドキュメントへの貢献を讃えられることもありました。

今年は v2 リリース前、 v2 リリース後、秋の陣と 3 回大きなドキュメント翻訳の機会がありました。今後も Nuxt.js に大きな変化のある節目を中心に翻訳が行われていくため、興味のあるかたはぜひ Vue.js Japan User Group の Slack へと参加してみてください。

https://vuejs-jp-slackin.herokuapp.com/


オンリーイベントの NuxtMeetup が開催

Screen Shot 2018-12-25 at 10.53.52.png

また、オフラインとしては Nuxt だけをテーマにしたミートアップ「 NuxtMeetup 」が開催されました。運営は株式会社 SCOUTER で、 3 月に #1 が開催されて以降、既に 6 回のイベントが開催されており、いつも定員をオーバーしているホットなイベントとなっています。

https://nuxt-meetup.connpass.com/


商業技術書が販売開始

今年の国内コミュニティの動きとして、新しく Nuxt を学ぶ人のための「書籍」という土壌が整った一年でもありました。

手前味噌となりますが、4月の技術書典4という技術書の同人誌即売会の時に 300 冊ほど用意したものが完売し、そこから発展し、商業での執筆に発展し、10月に Nuxt v2 に対応した書籍が販売されるなど、初学者の参入ハードルは以前よりぐっと下がったと思います。

なお、 2018 年 12 月現在では、書籍は以下の二つが出版されています。どちらも物理書籍・電子書籍両方で販売されている状態です。


Vue Fes Japan 2018 で共同開発者の Atinux 氏が登壇

Screen Shot 2018-12-25 at 10.53.04.png

また、今年は Vue.js Japan Users Group による国内初のカンファレンスとして、 Vue Fes Japan 2018 が開催されました。

Vue Fes Japan 2018 では多くの海外スピーカーを誘致して、英語ベースでのセッションが半分ほどとなりましたが、その中の一つのセッションとして、共同開発者の Sébastien Chopin(Atinux) 氏による「Nuxt.js 2.0」が行われました。

Nuxt.js の開発チームのメンバーが国内で発表するのは今回が初となります。

https://www.youtube.com/watch?v=3dFFy8waxcg


Nuxt.js Advent Calendar

Screen Shot 2018-12-25 at 19.20.44.png

また、このアドベントカレンダーも国内でのシェアの増加が見て取れるものになっているかと思います。

今年はジャストアイデアによって Vue.js Advent Calendar と Nuxt.js Advent Calendar を分けて企画することとしました。当初は「Nuxt.js オンリーでそこまで書くことあるかな?」と少し不安ですが、蓋を開けてみれば 25*2=50 記事中、この記事を含めて 42 記事が投稿されるという十分な結果となりました。

全体として基本的な知識というよりは、 TypeScript / PWA / Apollo / 実運用 / テスティングと、実用的な情報が揃ったかと思います。この 42 の記事とその著者の貢献によって、来年以降 Nuxt.js に挑戦する人のための道がより整備されたはずです。


企業利用でのナレッジの増加

また、コミュニティと少し離れたところでは、企業によるナレッジも非常に多く増えた一年ではないかと思います。あまり特定企業の宣伝が多くなってもフェアではありませんので多くは紹介しませんが、王手から大規模ベンチャー企業、スタートアップまで。非常に多くの企業・団体が Nuxt.js を利用しはじめた一年でもありました。

一休.comレストランのスマートフォン検索ページがSPAになりました

https://user-first.ikyu.co.jp/entry/2018/10/09/080000

Nuxt.jsとFirebaseでSPA×SSR×PWA×サーバーレスを実現する

https://inside.dmm.com/entry/2018/04/10/nuxt-firebase

Web サイト制作にこそ Nuxt.js がベストマッチである理由

https://techblog.scouter.co.jp/entry/2018/03/19/115229


コミュニティとしての下地が一通りひかれた印象

このように俯瞰してみると、今年は国内ではナレッジ共有を含めたエコシステムやコミュニティの下地が一通り引かれたという印象をうけます。

継続的に開催されるイベントによってコミュニケーションの機会が生まれ、門をたたくための第一歩を提供され、開発コミュニティからも日本が一つのマーケットとなっている印象もある程度生まれたのではないでしょうか。

NuxtMeetup などの各種イベントでも、少しずつ実践的なテーマの話が増えている印象をうけるので、来年はもっとディープな開発の話の場が生まれていくのではないかという期待があります。


2019 年について

2019 年には、 Vue v3.0 のリリースが訪れることが期待されるため、それにあわせて Nuxt も大きな変化を迎えるかもしれません。また、徐々にハイレベルなナレッジを多くの人が求めるようになり、より実践的な会話の場やコミュニティもきっと生まれていくはずです。

最近では v-fukuoka や v-osaka など、地方での Vue.js のイベントも盛んとなっており、かつどちらも話題のターゲットとしてはじめから Nuxt を含んでいることを明言しています。

2018 年にたまった多くの知識や経験を共有しつつ、引き続き激動の Nuxt を見守っていく一年になるのではないかと考えております。

来年はもっと多くの人が Nuxt.js Advent Calendar に参加するような状況とするためにも、私自身尽力していきたいところです。