ここ数年やってきたことを中身無くつらつらと。

 先日の「ぺちぱな。13」で時間が余ったので適当に話させていただいたが、即興でやったため本当に適当で内容がとっちらかってしまった。しかしながら、そんな感じでもなければこのところ何をやっていたかをアウトプットできそうにないので、こちらの方でも書かせていただこうと思う。

 長崎という西の僻地で心身ともに持病を抱えている初老の人間が一人でなんとか試行錯誤している有様であるので、内容に甚だ見ていられない様も多々あろうかと思うがご容赦願いたい。本人は手持ちの能力をできる限り活かせる方向で足掻いているつもりであるので、助言、指導の類があれば是非お聞かせ願いたい。

 ここ数年は長崎市内にある開発会社とは言えないところで働かせてもらっている。働くことになった経緯の詳細は割愛するが、無職になってフラフラしている知人にチャンスを与えたということであろう。入ったばかりの頃は静的なWebページの修正やコーディング、PHPでちょっとしたWebアプリの開発等も行ったが、WordPress案件、軽いインフラ周りをやったりもしていた。業務の都合上、外注することも多かったのでそちらと連携して開発支援をすることもあった。しかしながら、メインで取り組んでいたのはWebアプリと、それに連携して動くSPAの開発である。

 基本的な構成として、バックエンドにはDjango、フロンドエンドにはAngularJS 1系を採用している。CSSフレームワークはtwitterのBootstrapを採用した。これらはほぼ私の好みと力量によると言って良い。もちろん先方の要求を満たしているが、バックエンドがWebアプリケーションである必要もなければ、フロントエンドがSPAである必要もない。

 DjangoはRDBMSと連携してデータを用意し、JSON形式で受け渡すのが主な役割であるので、Djangoの多機能な部分はあまり活用されていない。Formsは使っていないし、Template機能もそう活用していない、Adminサイトにしても試験的なデータを投入するくらいだ。Djangoとの付き合いは、途中全く触っていない時期もありつつ10年を超えてしまっているが、機能的に足りないと思うところもなく気に入っている。

 フロントエンドからはAngularJSのngResource経由でアクセスするのでRESTっぽいURLを用いている。そこで検討したのがDjango REST frameworkであるが、採用はしていない。完全にRESTfulな実装にできるかどうか自信がなかったし、何かあった時に内部に手を入れるのが面倒に感じられ早々に評価をやめてしまった。結局は自分の知識の足らなさが原因であるが、自分の都合の良いようにJSONで返してくれればそれでいいと思ってしまった。

 AngularJSを導入したのは1.2かそこらだったと記憶している。評価自体はその少し前より行っていた。当時も他にいくつかこの手のFrameworkはあったわけだが、割とあっさりとAngularJSに決めてしまった。Djangoを選択していることもそうだが、自分にとってフルスタックであることは居心地がいいらしい。新たに必要な機能が出てきた時、それが用意されていないとまた他のものや自前実装などを含めて評価、決定をしなくてはならない。それが面倒くさくて嫌いなのだ。Angular wayと揶揄された向きもあったが、一人プロジェクトであることは決まっていたし、他に転用できないのはそう大きい問題と思わない。

 Bootstrapとの相性が良かった点も都合が良かった。相性が良いというか、UI Bootstrap(Angular directives for Bootstrap)というAngularJSからBootstrapの各コンポーネントを利用できるライブラリーが既に存在していた。Bootstrap自体は前々からWebアプリを使う際に利用していて、こちらも特に不満があるわけでもなく使い続けたかった。特に凝ったことをしないので、一部のコンポーネントが普通に使えるだけでありがたかったのだ。

 ビルドツールは当初Gruntを使っていたが、昨年からwebpackへと変更した。それと合わせてbowerではなくnpmでインストールも行うようになった。bowerは最初の方、こんなものかと利用していたが、一層余計に挟まっている感がしていたので取り外したかった。Grunt自体はそう困ってもいなかったのだが、変化が欲しかったし時勢に乗った。使いこなしているとは到底言えないと思うが、こちらも気に入っている。

 ちょいちょいtwitter等で言っているのだが、今年の課題は脱AngularJSである。正確にはAngularJS 1系からの移行で、Angular2を念頭に置いているがどうにも決心が付かない。最近ではAngular2と言うと怒られてしまうのだが、便宜的にAngular2と言う。次世代AngularJSとして開発が続けられていた。もちろん本命かと思い何度か移行を検討しているが、とりあえず保留している。チュートリアル等をやってみたこともあるが、あまりに変わっているので、これほど変わるのなら他のFrameworkへ行くのも大して変わらないのではないかと二の足を踏んでしまった。推奨言語がTypescriptであることも理解する、どんどんと巨大化していったことも理解はする。が、私の手に負えるのだろうか。総じてコスト高であると思ってならない。とはいえ、個人的な趣味ではあるが、React.jsは好きになれない。全部JavaScriptでできなくてもいい。ならばVue.jsかとも思い、眺めてみたりしている。Vue.jsはいいとこ取りの雰囲気がして、素直に移行できそうな気はする。ところがどちらもフルスタックであるとは言えないのが悩ましい。

 と言ったところである。全く大したことがない。いい歳をして何をやっているのかと思われたかも知れない。でも、そんなものであるから仕方がない。この程度でもなんとか働いていける、報酬が貰えると思えばいくらか若い世代の気持ちのセーフティネット程度にはなれるだろうか。

 でも、みんなはおじさんみたいになっちゃダメだよ!