今時のWEBフロントエンド実装
これまでWEBフロントエンドといえば、
- javascriptといえばjQuery
- cssといえば bootstrap
という古臭い私w
ASP.NET MVC で利用されていた knockout.js もちょっと触ったくらいで 特に入れ込んで利用してきたわけではなかった。
ここんとこGoを触っていて、 バックエンドは Martini やら AppEngine でイケそうな感触なので、 どうせならフロントエンドもモダンなものを覚えようかと調べ始めた。
それにしても、色々と乱立していて困るw
javascript上位言語
いわゆる、javascriptの言語仕様に限界を感じたベンダが、 「コンパイルすればjavascriptとなる言語」 を模索しているようだ。
- CofeeScript
- TypeScript
- Dart
記述するには Dart が好みだけどVMをブラウザに搭載するのを諦めたぽいので、 この中で筋が良さそうなのは ES6 をベースとしている TypeScript だろうか。
要コンパイルと言っても、 タスク自動化ツール等もある昨今だと、 特にデメリットにはならないかもしれない。
まぁ、必要があれば覚えてみようかな? レベルで頭に留めておく。
ほにゃらら.js
- Backbone.js
- knockout.js
- Angular.js
- React.js
- Reactive.js
- Vue.js
- …
多いよ(怒)
最近はパッケージマネージャとして npm を使うケースが増えている。 本来はサーバサイドで動く node.js に関連するモジュールの管理に使っていたものが、 いつの間にかjavascriptパッケージマネージャのデファクトのように扱われているみたいだ。
一応、node.js はインストールしているので困ることは無いが、 残念ながら殆ど使っていないwし、 あまり依存関係が複雑なのを好まない私としては、 Vue.js あたりをCDNで直接指定するのがシンプルで良いかもしれない。
もう一つ、モダン且つシンプルで今後流行りそうなのが、
である。
Angular.js からES6/7を見据えて再設計した感じで、 テンプレートの記述も素のhtmlに近いから、 デザイナーと連携して事を進めている場合は特に重宝しそう。
今一番ホットなフレームワークかもしれない。
んで、お前はどうするんだよ!
個人的に使うにはUIが楽に構築できれば良いので、 Vue.js や React.js あたりにしようかと思っている。
ちょっと残念なのが、テンプレートに埋め込むときに “{{…}}” とするので、 Go の template とバッティングするところかな…。 Go 側でカスタマイズできるみたいなので、そっちで逃げるのも手か。
そして今後仕事である程度の規模が必要になることも有ると思うので、 Angular.js や Aurelia.js あたりにも慣れておけば、 いざって時に慌てないで済みそうだ。
そういえば、Google Closure Library はどこ行ったんだろ? あまり使われていないのかな? 個人的に期待していたのだけど、導入が面倒なのでまだ手を出していない。 最近リリースなどもあまり出していないみたいで、 ニュースに載ることもめっきり減っているような気がするなぁ。
こいつも後で調べてみるか…。