最近欲しいと感じたもの

最近の(少なくとも僕の知っている)Webフレームワークというか Web アプリケーションを作るためのエコシステム全体のバランスが崩れてあまり調和が取れていない気がする。FaaSとかを使うととっても安く全世界に公開できるシステムを作れるというのに、僕がそれをビビって本気で勉強する気が起きないのは、標準が無いからな気がするけど、それにしても面倒なことが多い。それぞれの単発の技術としては納得感があるのだけど、僕が Django とかで始めたときのような、ORM で M 書いて、テンプレートエンジンで V 書いて、正規表現とタプルで C 書いて、 mod_wsgi の設定書いて終わり!みたいな感じじゃないあたりが辛い。

URL とロジックの結びつけは、 zip アップロードして画面でポチポチ設定する気にならない。そこまで手間は変わってないからたぶん気分の問題なんだけど、なんとか統合なんちゃらとか、必要なステップのような気もするし、設定より規約に従ったら省けるステップのような気もする。 Swagger と zip をアップロードした後にあのあたりいじってるとうーんってなる。実はもっと簡単な方法があって僕がそれを知らないだけの話かもしれない。ちょっと気をつけて書いた Flask あたりを放り投げたら勝手に FaaS で実行してくれないかな。というかあのあたりは MVC それぞれの代替というよりも、これまでの Webサーバとかリバースプロキシ+C を 1 レイヤにした感じがする。そうなってくると、うまく開発スタイルを作るのが難しい。開発者がリバースプロキシを使うのもちょっとうーんってなる。エコシステムのバランスが取れていないような気もする。毎月無料分用意しとるやろって言われても、なんか開発が1台で完結できないのはモヤモヤする。クラウド上で動くアプリ作ってるんだからしゃーないやろって言われても、新幹線の中でノートパソコンを開いて遊んでいた時間は今後別なことに使わないといけなくなってしまう。そこまで困らないんだけどなんかモヤモヤする。

アカウント管理まわりはもう変わりきった感じする。数年前はクライアントサイドに保存してHMACで署名とかちょっと怖いなとか思ってたけど、最近はもう違和感ない。逆にスケールの観点からリクエストごとに同じ場所に問い合わせるとかやばいって気がする。保存先をクラスタにするってのもあるけど、 HMAC の良さには敵わない気がする。それで思ったのは HttpServletRequest のあたりとかもう不要だよなぁと。 Spark Java は最近触ってて好きなんだけど、やっぱり裏側に Servlet がチラチラと顔を出してくる。あぁやっぱり普遍的な抽象化って難しいなぁ。頼むからそんなに高く積み上げないでくれ。コントロールしたいのは些細なことなのに何層も掘り下げるのは残念な感じがする。

FaaS と Java は相性悪いって話もわかるんだど、 JavaScript でサーバサイド書くのはなかなか辛いものがある。最近の KVS だけならまぁいいんだけど、node.js + RDB で Promise まで含めたときの混沌とした感じはなんというかこれこそジャヴァスクリプトって感じがする。その点まぁPythonはいいぞ。でもやっぱりサーバサイドは Java バイトコードぐらいで動いて欲しいのと型はしっかりして欲しい。

検索エンジンミドルウェアも皆あれで満足しているんだろうか?ログ解析ツールとしてはよく聞くけど、プロダクトの部品として普通に検索エンジンとして使っている情報はあんまり見ない気がする。僕が知らないだけかもしれない。あのアップデートの辛さは聞く限りではそうとう辛い。検索と権限の組み合わせも考えるととても既存の何かではスマートに対処できる気がしない。権限は将来変わる可能性があるのでインデックスするときに用意できない。汎用的な検索サービスが欲しいけど、そのあたりを考えるとなかなかに難しい。

クライアントサイド周りも職場の席近い先輩が、サーバがどんどん状態放棄して複雑さが押し付けられてるって叫んでる。SPA の画期的なフレームワークもまだ無くて、 Angular2 には少し期待しているんだけど、大半の開発者が欲しいのは DI とかの裏方ではなくて、ヒストリ管理とかショートカットキーとかユーザに直接影響する部分ではないだろうか。近い気もするけどなんかここももやもやする。レスポンシブデザインも結構前から言われているけど、完璧に洗練される前に若干盛り下がった気がする。そしてなによりこうしていろいろ考えるとなんとかスクリプトコンパイルしてなんとかスクリプトとかなんとかシートにした後になんとかファイしてなんとかマップつくってってのがなんとかパックでできるらしいけど、俺はただそのコマンドにこのオプション付けて欲しいんだけどってのをなんとかプラグインのソースを探してなんとか修正して半日ぐらい終わるともう何かやり遂げた感じがする。ただコマンドのオプション1個足しただけなのに。このあたりはなんか太古の呪文があったような…、acとかinとかamとか、なんだ、うっ…頭が…。

あーなんかのうみそすきゃんしてぽんっとしてくれるそうちがほしい。