![見出し画像](https://assets.st-note.com/production/uploads/images/13641629/rectangle_large_type_2_cf5d6288a806be2186d2219d72e9b74c.jpeg?width=1200)
溢れんばかりのフレームワークの海に溺れた
なんとか修正したけど、普段使わないフレームワークは、同じ言語だろうかというくらい難しすぎる。
最適解も分からなくて困るんだが、世の中、フレームワークが多すぎる。
思い返せば、30年前に C言語のライブラリで提供される関数群を見て、それだけでも卒倒してました。今といえば、ライブラリなどで提供される関数(メソッド)以前にフレームワークが増えすぎて、もう意味がわからない。
「会社の仕事しねぇ」とかいいつつも、昨日は、お仕事の宿題やってました。というか、とあるプログラムの改修だったので、「お勉強がてら」という意味あいでお直ししているので、仕事感0です。お勉強の代わりです。しかし、これがまた厄介。Angular2 + ionic。Javascript 分かる。おかげさまで、Typescript も問題ない。HTMLも読める。CSS もだるいけど、見ればまぁ分かる。にもかかわらずだ。Angular2 はちょろっと勉強したものの、その方言の癖が強すぎて投げ出したアレ。ionic は webpack の代わりかと思ったら、そんなことなかった。そんな中、実装して展開すると言うよりも、デモとして利用するだけなので結構無茶なコード書いて対応しました。たまに失敗するんだろうな、これというのは分かっていながらも、デモ用だからいいやって。
およそ半日かけて、修正しました。修正しましたと言うか、Angular2+ionic へ対応できるようなコードをほんの数行だけ追記するのに、半日かかりました。しかも、SPA コードでTypescript なのでコード生成のビルドをしないと、正確にテストできません。ローカルでできなくもないんですが、Heroku で開発してるので、Githubにpushしたら自動的にテスト環境へリリースしてくれます。大助かりです。んがしかし、ビルドにめっちゃ時間がかかる。いうても 5分くらいですけれども、ちょっとしたコードを試すのに5分待たされるのは、苦痛でしかないです。ローカルでちょっと試すだけの環境を作ればよかったんでしょうが、まぁその環境作ること自体が苦行です。だって、ionic がなんだか(まだ)よく分かってないんですもん。webpack みたいなもんかと思ったら、ちがうのね。しかも情報量少なすぎる。これだから海の向こうのやつは(愚痴)。
ということで、世の中には大変な数のフレームワークが溢れていて、ホントに困ります。自分の生業はコーダーでもプログラマーでもないので、ちょろっと慣れないフレームワークやライブラリが入ってくると、まずそれらを理解するために時間を費やさないといけないという。あーしんどかった。
今は Node.js + Express を Jest でテストする原稿を書いていますが、ここに落ち着くのだって、えらい時間かかりましたよ。BaaS としての Node.js + Express はよく利用されているので、まぁいいでしょ、ここは。問題はテストフレームワーク。Ruby だったら Rspec か Test だけど、Node.js だと Mocha、Jasmine、Jest、Chai とか。しかも、Jasmine や Jest はほとんどのテスト機能を満足してるので、単体でもなんとかなるけど、Mocha や Chai は補完関係。使い分けも使い方もしんどい。みんな似たようなことと言うか、同じことしかしないのにだるすぎるわ。今回は、もうすべてを包含している Jest にしたけど、方言多すぎるのはほんとに勘弁してほしい。これらと Supertest 組み合わせて API テストするとか、もうねしんどい。
これらはまだ「バックエンドサービス」だからいい。フロントなんて、テストフレームワーク以前に、フロントエンド用のフレームワークが覚えきれないほど提供されてる。そして、それらは互換性もなければ、組み合わせの妙だったりする。Angular2+ionic とか、もう知らんわ、一つで完結せいよと思う。しかも、なんだよ Angular2 とか。いつの時代だよ。
というわけで、今やってる typescript の原稿おわったら、バックエンドは Rust へいくか、Ruby へ帰る。フロントとしての Javascript(Typescript) はもう諦める。Vue.js あたりで勘弁してもらう。
貴方がサポートしてくれると、私が幸せ。 私が幸せになると、貴方も幸せ。 新しいガジェット・ソフトウェアのレビューに、貴方の力が必要です。