自己紹介
こんにちは!アーロンと申します。4月1日にトヨクモのエンジニアとして入社させていただいて主にClojureについてブログを書いてる人です。アメリカ人で純粋な日本語話者ではないのでよろしくお願いします! Github - aburd (Aaron B) · GitHub
概要
4月11日にトヨクモのオフィスで4月のTokyo Clojure会を開催させていただきました!
元々の開催者はPaul Chunという方なんですが、開催することはできなくなりました。このグループで僕はClojure勉強できたので、無くなったら残念に思ってグループの管理者の責任を渡してもらいました。ちょうど僕がトヨクモに入社したので、Clojure使ってる会社として会場を貸すことになりました!
今月のテーマはHTMXでした! HTMXの紹介
内容
1. 僕はHypermediaとSPAのアーキテクチャーの違いとHypermedia中心のアーキテクチャーがどうやってClojure・HTMXができるのがというLTをさせていただきました
2. HTMXとReititとHiccupに基づいたフレームワークsimpleui.ioの作成者Matthew MolloyさんからのSimpleUIの紹介をしていただきました
3. Pizzaを食べながらLTのこととWeb開発にどういう影響がありそうなのかというような会話できました
僕からの感想・学んだこと
やっぱり現在ウェブアプリを作るなら、SPAフロントエンドJSONを吐き出すバックエンドが通念になってるのですが、何を作るかによってそこまでやる必要がありません。むしろある条件によって大変なことにあう可能性があり、気をつけなければならないです。主にソフトチームはFacebook・Googleの規模ではないし、同じ規模の問題を解決してないかもしれないので、多分アーキテクチャーを真似する必要がありません。HTMXを使えば、コードベース行数がかなり減るしデプロイすることも減るだろうしブラウザーはすでに入ってる機能が利用できるし、何を作ってるかによってかなり複雑性が減る可能性があります。
SPA・JSONバックエンドのアーキテクチャーに向いたアプリ
- 複雑なUI (例えばWebのスプシーアプリ、UIに更新が多く)
- クライアントが多く、HTMLよりもJSONがパース・シリアライズことでバックエンドCPUを節約する必要がある場合 (これでも大きい規模でしか効果でない臭さがあり)
- オフラインでも使えるようなアプリ
HTMXに向いたアプリ
- 大体の「ビジネス用のアプリ」
- UIにユーザー対話数は中級レベルのアプリ
- クライアントはダウンロード速度が遅くても電波が悪くても使えることが必要 (HTMXのJSはただ14KB)
コロナ時代から対面のイベントがなくて、みんな久しぶりに会えたし、新しい顔も見えたし、楽しかったです 毎月・2っヶ月に1回としてのイベントをしていこうと思っておりまして、東京にいるならぜひ来てください!