今年も残り少なくなったので今年を振り返り、昨年秋に出版した 「作りながら学ぶ React入門」 の GitHubのサポートページ に おきた事をまとめてみました。
今年のサポートページへの Isuues
2017年9月11日に開始したGitHubのサポートページには1年と数ヶ月で以下のような16件のIssuesが寄せられました。中には Pull Request を送って頂いた方もいました、ありがとうございます。
- 本の誤植報告: 5件
- 質問: 3件
- 要望: 1件
- 開発環境の問題報告
- 2017-10-18 Mocha が Version 4 になり、E2Eテストが終了が終了しなくなった
- 2018-03-02 Webpack が Version 4 になり、npmモジュールや設定が変更された
- 2018-07-02 Material-UI がreact-tap-event-pluginを使わなくなりE2Eテストが動作しなくなった
- 2018-10-18 Babel が Version 4 になり、npmモジュールが変更された
- 2018-11-18 あるバージョンのBabelとESlintの組み合わせが動かなくなった
最初は誤植の報告が多かったのですが、時間が経つと色々なツールがバージョンアップし開発環境が動かないという報告が増えて来ました。また質問もあり、サポートページを維持していく私のモチベーションに成っています。
私は React は優れたコンセプトのもとに作られた学びやすいライブラリーだと思います。しかし Reactを含むモダンJavaScriptの開発環境の構築・維持が React の学習を難しくしていると思います。
jQueryであればエディターとブラウザーがあれば開発がスタートできます、本に書かれたサンプルはタイプミスが無ければ動きます。
しかし、Reactの場合は本やWebを参考に Webpack, Babel … というツールをインストールし 、設定ファイルを正しく書いても動かない事がままあります。本やWebを書いた時点では動いたのですが時間が経ちツールがバージョンアップすると動かなくなる事が良くあります。さらにツール自体が時代遅れになりて使われなくなる場合があります、Webpackがメジャーになる前は Gulpやbrowserifyが使われていましたよね。さらに Parcelのような Webpack に代わるかもしれないツールも開発されています。
この混沌としたモダンJavaScript開発環境で悩まずに済むように、私は GitHubにサポートページ を作り 「作りながら学ぶ React入門」 のコードが動くようにサポートしてきました。
今年来た問題報告には Mocha, Webpack, Babelのバージョンアップで動かなくなる問題が発生し、対応してきました。
また、Material-UI のようにコードが使っているライブラリーの仕様変更なども起きました。
このように、当初から予想されていた開発環境の構築・維持が GitHubのサポートページ を使って、なんとか出来た事を誇りに思っています。
来年のサポートページ
以前書いた Reactの変化(最近のReactの動向) のように React は変化を続けます。また、React Version 16 でlife cycleメソッドが一部変化し書籍の内容が正しくない部分が出来てきました。旧メソッドはVersion 16ではサポートされていますが、Version 17では無くなります。
そこで、来年のサポートページでは以下のようなサポートを行いたいと思っています。
- React Version 16 変更点のドキュメントを追加
- React Version 17 対応
- 引き続き、開発ツール・ライブラリーのバージョンアップへの追従
また確約はできませんが Typescriptがかなり使われている事を知ったのでTypescriptサンプルの用意なども検討しています。