まーた今年も終わってしまう!まだ何もしてないのに!
というわけで、今年もいつもの振り返りを。
やってたこと
なんだかんだReact、なんだかんだNext
自分から選ぶことはもうないやろなって思ってても。本業でも副業でも、やっぱり触れる機会が多かった。
ただなんというか、既にReact/Nextで作られてるけど、メンテできないから助けてほしいとか、選んだものの自信ないから手伝ってほしいとか、そういうのが多かった。
からのコレね。
とはいえ、まだまだ「これからReactはじめます!」っていう層もいるやろうし、もうしばらくは稼げるネタとして付き合っていく必要はありそうかなって感じ。
個人的には、SolidとかSvelteとか他の選択肢が充実してきて、React一択ではないっていう意識がもう少し市場に広まってくれると嬉しいところ。数年先にレガシーjQueryみたいなノリでレガシーReactが残り続けるのは、jQueryのそれよりタチが悪いと思ってるので。
まあ実際フレームワークがどうのこうのっていうのが支配的な要因ではないとは思うけど。がんばろう日本。
Astroとアイランドアーキテクチャ
本業でも副業でもよく使った。個人的には、2022年はAstro元年やったなーと。
これに関連する登壇も2件やってた。
アイランドアーキテクチャもといPartial Hydrationの、"ちょうど良さ"が刺さるターゲットはたしかに存在していて、
- 完全に静的なサイト
- ブログとか、ドキュメンテーションとか
- 静的なサイトにJSをちょい足し
- ティザーとか、ポートフォリオとかコーポレートサイトとか
このあたりにとっては、顧客が本当に欲しかったものやったなーという認識。ここでも、React/Next以外の選択肢がいろいろ出てくるのは公平性からしてもよい話よね。
まぁこの一線を超えてしまうと、SSR+CSRしたほうがパフォーマンスも開発効率もいいわ!ってなることも確かなので、結局は適材適所ではあるけども。
Astroとしては、事前レンダリングとSSRをハイブリッドにできる機能がはやく安定化されるといいな〜って思ってる。
Experimental Prerender API by natemoo-re · Pull Request #5297 · withastro/astro · GitHub
現状では、experimentalなフラグが必要な段階。
社内向けツールで素振り
(試合の予定ないのに)ひたすら素振りしてた。
社内向けとなると、AstroよりかはSPA(1つ or Nセット)が刺さる感じの要件が多かったので、Viteで足回りから自作したり、Viteベースのフレームワークに乗ったりすることが多かった。
というわけで、使ったやつらに対する所感を簡単に。
Solid: 普通によい。けど、JSXではあるがReactとは微妙に勝手が違うところと、ここ数年のReact漬けなマインドセットからの切り替えが課題という感じ。個人的には、いわゆる定番ライブラリに依存しない暮らしをずっとしてたので困らんけど、世間はそこで困りそう。あれがないとかこれがないとか。Signalsベースな書き味には文句ない。SolidStartはこれからに期待する段階(つまりまだまだ)なので、今だとSPAを作る場合に単品でピックするのはアリという感じ。
Preact: Signalsにはちょっと心躍ったけど、結局Solidでいいなっていうところに落ち着いた。VDOMが必要!っていうシーンに出会ったら考える。(たぶんない)
Svelte: SvelteKitがメジャーに到達したのは大きくて、これでもう大手を振って気持ちよく推せるやつ。ちょっとした社内ツールはもう全部Svelte(Kit)でいいってくらい。ただ融通がきかないというか、すべてがJSではないが故に冗長になるシーンがあったりと、規模に応じて判断かな〜って感触。
Qwik: 試したいとはずっと思ってはいるものの、社内ツールではその真価を発揮することはなさそうで、未だにちゃんと試せてない。というか、Qwikの「理論上はこれがベスト」っていうのを頭ではわかっていつつも、いざ実際にそれを採用する日はくるんか?っていう二律背反を己の中で解消できずにいる・・・。やっぱ無理やりにでもなんかで使ってみるしかない?なんか説得力のある利用例が出てくるといいな〜。
Cloudflare Workers, Pages w/ Functions
今年も回し者をやってた感ある。
社内ツールのバックエンドでいろいろ使ってて、Cron trigger、KVはもとより、αになったばかりのD1をいち早く試したりもしてた。
年初の頃に`miniflare`と`wrangler`のOSS活動をしてたけど、今やその`miniflare`は`workerd`に置き換えられ役目を終えてしまったので、なんだか感慨深いものである。
ベータな`wrangler pages`コマンドが少し育ってきて、簡単なFunctionsならCloudflare Pagesに統合してもいいなって思えるようになった2022年。とはいえネットワーク上のKVやD1を使いつつ、ローカルでコードを開発することはまだできないので、それによっては引き続きWorkers+Pagesの二刀流でやるしかない2022年って感じ。来年に期待。
去年に引き続き、CDNエッジWorkerを活かしたアーキテクチャ探訪もしてたけど、あまり実りはなかった。
長らくクライアントとAPIを分離するアーキテクチャやワークフローに浸かってたせいで、単にエッジでAPIが動いてあとはSSRできればそれでいいというか。マイクロフロントエンド!みたいな大仰なやつは、そもそも個人的守備範囲ではないので食指が動かず。
エッジでSSRする文脈でいうと、単にSSRなのか、+ Partial Hydrationなのか、それともStreaming SSRなのか、RSCみたいな混ぜ込みな方向性なのか、などなどそのあたりの模索が進んでいくのであろう。って思ってたら、Ryan氏も同じこと言ってたし間違いない。
JavaScript Frameworks - Heading into 2023 - DEV Community 👩💻👨💻
副業/複業
めちゃめちゃしてた。3件も並行してみたりと、本業より儲かる月もあったくらいに。
2021年の反省として、もっとリアルワールドに触れるべきと思ってやってみてたので、そういう意味ではよかった。
が、しかし、「実際の学びはさほどなかった」というのが正直なところ。
まあ自分にとっては既視感しかないようなものであっても、そういうことがデキると思われてるから副業の依頼がくるわけで、そこに学びを求めるなという話か・・なるほどな・・。
なので2023年は、とりあえず既存の取引先だけにして、ちゃんとなにか実になる勉強をする年にしたい・・とにかく学びを得たい・・と思ってるところ。知に飢えてる。もちろんおもしろそうな話があれば、取引先を開拓することもやぶさかではないけど。
そのほか
VimからNeovimへ、iTerm2からWeztermへ
移行しているところ。
`coc.nvim`を別に乗り換えたくてあれこれ試行錯誤してるうちに、VimではなくNeovimに鞍替えしていた・・っていう話があって、これはまた別で記事を書く。おそらく年明けに。
AdventOfCode 2022
例年より難しく感じた。(毎年これでDFS/BFSの書き方を思い出すっていうレベルの層からすると)
半年ぶりにRust書いたけど、言語自体はそんなに忘れてなかったし、相変わらず便利やなってなった。同時に、いちいちめんどくせ〜〜ってなる感じも思い出した。
わからない問題の解説動画(Python)を見てて、Pythonもすごい便利やんってなって、普段のJavaScript/TypeScriptの非力さを感じるなどしてた。
2023年は
この振り返りだけ見ると、それなりになんかやってた風ではあるが、ぶっちゃけ暇を持て余し続けた1年だった。副業/複業もあれこれやってみてたけど、それでも時間を持て余してたな・・っていうのが正直なところ。
かといって、夕方以降や週末は子供対応で時間のなさを感じてたりと、もっと日中の時間の使い方を工夫する必要があるなと実感した1年だった。そういえば去年はこんな余裕はなかったと思うので、子育てにも多少の余裕が出てきたということかも?
というわけで、日中帯はデスクに向かい何かしら生産性のあることを行うべし・・みたいな概念を捨てたほうがいいのかもしれないなって思ってる。
もともと弊社はそういう(時間で勤める)働き方ではないけど、社会人的性根がそうなってしまってたことに気付いたので、まずこれを捨てて。基本的には、好きなように悠々自適な暮らしをしつつ、なんか作業や案件があったら人生の片手間でそれをやる、副業も同じく、という感じにしていこうかと。週末にやりたいことは、平日の昼間にやってしまう的な。
ただ何がやりたい?っていうのが決まってないので、インプットを増やして、まずそれを見つけないといけない。副業に時間を使うのは、お金は儲かるのでアリアリなものの、なんというか将来性に欠ける択なので推しづらいし。
そんなスキマを埋められる知的好奇心をくすぐるネタ(推しOSSとか)を見つけるか、はたまた趣味に全振りするか(またベース弾きたい)、どうしようか考えながら年を越したいところ。
みなさまも良いお年を。