2年間 Aurelia で社内向けの Web システムを開発した私が思うこと
未来志向フレームワークと言われている Aurelia 。
これを2年間ほど使って社内向けの Web システムを開発して、思ったことを吐露します。
結論だけ言えば、大嫌いだったアイツのことがいつの間にか好きになっていたパターンでした。
元々、私のフロントエンド技術の経験値は、Angular 1.x 系を業務で数ヶ月触ったことがあるくらい。
あとは jQuery でゴリゴリ DOM をいじってやっている、古臭い技術に染まっている状態でした。
そんな私が Aurelia に出会ったのは、だいたい2年くらい前。
社内向けの Web システム(勤怠管理システムのようなもの)を開発する有志活動に手を挙げたことがキッカケでした。
Aurelia は、たしか先輩が選定してきたフレームワークで、よく分からないけどオシャレだなーと思った記憶があります。
どうやら未来志向フレームワークという魅力に惹かれました。
が、触ってみると意外と面倒。
これってどうやれば実現できるんだろう、と Aurelia の書き方を調べようと思って公式ドキュメントを探しても、全然見当たらない。
Aurelia がどういった機構で動いているのか把握できていなくて、基盤をつくった先輩も深くまで理解しておらず、全員模索状態。
何で動いているんだろう? よく分からないけど、なんか動いているよね、みたいな状態。
結局、フロントエンドに機能を追加するたび、少しずつ知識を得て、やり方を覚えて、実践。
繰り返していくと、過去のリファクタリング。
モダンなフレームワークで作っているとは思えないくらい、泥臭いやり方を続けた2年でした。
でも、なんだかなんだ2年も触っていれば、さすがに理解してきます。
そうして覚えた Aurelia のことを書いておこうと、最近は Qiita に記事投稿を始めてみました。
Tips 的な感じで書いている程度なのですが、これまで知らないことまで知ることができて、良い経験になっていると思っています。
実際、恥ずかしながら JavaScript がシングルスレッドで動いていることを知らず、以下の記事を書く時にはハマりまくり、非常に苦労しました。
書いていて思ったのは、まだまだ Aurelia について知らないことが多いな、ということ。
そして、ちゃんと覚えたらもう面倒くさくないな、ということでした。
ちゃんと理解してきたら、ようやく未来志向フレームワークの良さが分かってきた気がします。
メイン機能たるデータvalue だけでなく attribute や class にも適用できたりします。
あとは、小さく作って、それをまとめていくことのできる Custom Attributes と Elements が、再利用性が高くて好きですね。
両方とも「似たようなコード書いているな」と思う箇所を部品化するための機構で、小さなプラグインを作っている感覚で触れて楽しいです。
昔は Custom Attributes も Elements も全然知らなくて、簡単にできそうな再利用もしていないコードを量産していましたが、おかげで最近はちょっとだけ改善してきました。
ちゃんと部品化できてくると、コードの見通しが良くなってくるので、書いていて非常に楽しいです。
で、後から知ったんですが、以下の記事によれば Angular も Vue.js も凌ぐすごい成長株らしいですよ。
最初は面倒しか感じなかった Aurelia も、さすがに愛着が湧いてきました。
今では、普通に業務で使用するフレームワークの候補として挙げて良いんじゃないかと思っているくらいです。
他のメジャーなフレームワークについては、正直あまり知りません。
が、とりあえず社内向けの Web システムを開発できるくらいは機能が充実しているのは確かで、理解してくれば飲み込みやすいもので。
大嫌いだったアイツのことが、いつの間にか好きになっていました。
Aurelia オススメなので、良かったら触ってみてください。
以下の記事でやってみた通り、 Skelton が用意されていて、始めるのは楽チンですよ。