2年間 Aurelia で社内向けの Web システムを開発した私が思うこと

未来志向フレームワークと言われている Aurelia 。
これを2年間ほど使って社内向けの Web システムを開発して、思ったことを吐露します。

結論だけ言えば、大嫌いだったアイツのことがいつの間にか好きになっていたパターンでした。

aurelia.io

元々、私のフロントエンド技術の経験値は、Angular 1.x 系を業務で数ヶ月触ったことがあるくらい。
あとは jQuery でゴリゴリ DOM をいじってやっている、古臭い技術に染まっている状態でした。

そんな私が Aurelia に出会ったのは、だいたい2年くらい前。
社内向けの Web システム(勤怠管理システムのようなもの)を開発する有志活動に手を挙げたことがキッカケでした。

Aurelia は、たしか先輩が選定してきたフレームワークで、よく分からないけどオシャレだなーと思った記憶があります。

どうやら未来志向フレームワークという魅力に惹かれました。

が、触ってみると意外と面倒。

これってどうやれば実現できるんだろう、と Aurelia の書き方を調べようと思って公式ドキュメントを探しても、全然見当たらない。
Aurelia がどういった機構で動いているのか把握できていなくて、基盤をつくった先輩も深くまで理解しておらず、全員模索状態。

何で動いているんだろう? よく分からないけど、なんか動いているよね、みたいな状態。

結局、フロントエンドに機能を追加するたび、少しずつ知識を得て、やり方を覚えて、実践。
繰り返していくと、過去のリファクタリング

モダンなフレームワークで作っているとは思えないくらい、泥臭いやり方を続けた2年でした。

でも、なんだかなんだ2年も触っていれば、さすがに理解してきます。
そうして覚えた Aurelia のことを書いておこうと、最近は Qiita に記事投稿を始めてみました。

qiita.com

qiita.com

qiita.com

Tips 的な感じで書いている程度なのですが、これまで知らないことまで知ることができて、良い経験になっていると思っています。

実際、恥ずかしながら JavaScript がシングルスレッドで動いていることを知らず、以下の記事を書く時にはハマりまくり、非常に苦労しました。

qiita.com

書いていて思ったのは、まだまだ Aurelia について知らないことが多いな、ということ。
そして、ちゃんと覚えたらもう面倒くさくないな、ということでした。

ちゃんと理解してきたら、ようやく未来志向フレームワークの良さが分かってきた気がします。

メイン機能たるデータvalue だけでなく attribute や class にも適用できたりします。

あとは、小さく作って、それをまとめていくことのできる Custom Attributes と Elements が、再利用性が高くて好きですね。
両方とも「似たようなコード書いているな」と思う箇所を部品化するための機構で、小さなプラグインを作っている感覚で触れて楽しいです。

昔は Custom Attributes も Elements も全然知らなくて、簡単にできそうな再利用もしていないコードを量産していましたが、おかげで最近はちょっとだけ改善してきました。
ちゃんと部品化できてくると、コードの見通しが良くなってくるので、書いていて非常に楽しいです。

で、後から知ったんですが、以下の記事によれば Angular も Vue.js も凌ぐすごい成長株らしいですよ。

www.webprofessional.jp

最初は面倒しか感じなかった Aurelia も、さすがに愛着が湧いてきました。
今では、普通に業務で使用するフレームワークの候補として挙げて良いんじゃないかと思っているくらいです。

他のメジャーなフレームワークについては、正直あまり知りません。
が、とりあえず社内向けの Web システムを開発できるくらいは機能が充実しているのは確かで、理解してくれば飲み込みやすいもので。

大嫌いだったアイツのことが、いつの間にか好きになっていました。

Aurelia オススメなので、良かったら触ってみてください。
以下の記事でやってみた通り、 Skelton が用意されていて、始めるのは楽チンですよ。

qiita.com