ReactもVue.jsもAngularJSも万能ではないよ

React好きですか?私は大好きです。仮想DOM、素敵じゃないですか。でも、会社のプロジェクトで採用しようとは全く思わないです。

JSフレームワークの話題といえば、やれReactだ、やれVue.jsだ、やれ脱jQueryだ、というのがここ数年のトレンドだと思います。これ、もう辞めませんか?フレームワークを使えばどんなものにでも対応できる、なんてものは幻想です。

先日、社内のアプリ開発チームと話をする機会があったのでいろいろと聞いてみたのですが、React Nativeを採用したアプリがあったけれども全てSwiftなどネイティブ言語に戻したらしいです。
とある人が率先してReact Nativeに取り組むも、デザイナーやプロデューサーからは批判続出、挙げ句の果てにはその人は退職して残された人がメンテを続けるという。
可読性の落ちていくコードに、ネイティブのような細かな処理を実装するのが困難(ノウハウも蓄積されていないため)で、まあガッカリだったそうで。

私はアプリ開発とは別の世界でやっているので、正直詳しいことはよくわからないのでなんとも言えないのですが、話を聞く限りでは良いことが何もなかったとのこと。うーんこの。
Web開発にしても、各種ライブラリのアップデートに対応していくなんて無理ゲーです。そんな工数はないですよ。

そんなこんなで自分の所属チームでは以下のような形で落ち着いています。

基本ライブラリ
  • jQuery
  • Underscore.js
モジュールバンドラ
  • webpack
トランスパイラ
  • Babel

普通ですね、超定番。枯れ始めた良い感じのツールたちです。セレクタはSizzleでいいのでは?AjaxはPromise使えばいいじゃん?などという話も出たのですが、結局は誰でも使いやすいようにjQueryに(あと面倒なブラウザテストを避けるためにも)なっています。

結局のところ、弊社のようにサービスを継続させていくにはメンテナンスが不可欠なわけで、仮に担当者が変わっていっても対応し易いようなものを開発していくしかないよなぁというのが所感です。仕方ないね、サラリーマンだもの。
そして仮に新しい技術やツールを採用するとしても、本当にそれが必要なのかどうかについてチーム全体で検討し合うべきだと思いますです。