Frontend技術 #1:「なぜReactじゃ駄目なのか?」
普段はReactで仕事をしているのですが、プロジェクト内のサブコンテンツの作成で「手軽にサクッと作れて、誰でも保守ができる感じの構成にしたい」との要望を受けました。
いつもならば「(取り敢えず)Reactでいきましょう!」と言うところですが、誰でも保守ができるという言葉が引っかかり、他の技術も検討してみることにしました。
なぜReactじゃ駄目なのか?
Reactはとても開発の活発なパッケージで、半年ぐらいのサイクルでトレンドが変わっていきます。
その過程で作られた数多くエコシステムにより、現行ではReact構成の選定を行うと画像のような状況になってしまいます。
なぜReactには、こんなに多くのエコシステムがあるの?
実際にnpmに検索ヒット数で比較してみると、こんな感じでした。
・react : 63,785 packages
・angular : 24,455 packages
・vue : 16,526 packages
react、angular、vueは知名度的には同等のフレームワークですが、上記を見ての通りpackage数で比較するreactが圧倒的に多いいことが分かります。
多い理由については挙げればキリがないですが、1要因だけ挙げるとすれば、React自身のもつ柔軟性がエコシステム開発とマッチしている結果だと思います。
実際Reactが提供しているTop-Level APIを活用することで多くのアイディアを実現できると思います。
開発のトレンドサイクルが早いことのメリット
・常に最新の技術を取り入れることが可能
(今で言うとハイパフォーマンス化、オフライン対応など)
開発のトレンドサイクルが早いことのデメリット
・継続的にパッケージのアップデートに対応する保守コスト
・継続的に発生する学習コスト
・一定期間以上前の知識は、ほぼ役に立たなくなる
Reactだけじゃない!いっぱいあるフロントエンド技術
Reactは何でも作れるので選択肢として間違いということは無いでしょう。
しかし、他にもフロントエンド技術はいっぱいあるよ!ということで、
低コストで学べそうという基準から7つのフロント技術を選定し、実際に開発をしてみました。
開発したものを紹介!
↑のリポジトリに各のフロント技術を使った開発物を公開しています!
今回選定したfrontの技術は以下の7つです。
(他にもEmberとPolymerとかあるけど、今回の記事では除外)
まとめ
次回から、各Frontend技術の詳しい紹介、シンタックス、メリット、デメリットの話を1記事づつ公開していき、最後に数値データを元にした比較や各技術の使い所について、まとめた記事を公開する予定です。(全10記事くらい予定)
#2に続く
この記事が気に入ったらサポートをしてみませんか?