開発環境の羅列 2023 秋
自分の現在の開発環境について適当に羅列する。備忘録的な感じ。
OS
- Windows 11
- WSL2 on Ubuntu
- Mac OS X
OS に関しては、メイン端末は Windows 11 に WSL2 を入れて、そこで Ubuntu を走らせている。 日常のメモ書きから、プログラム開発まですべて WSL2 上の Ubuntu でカバーできている。 もしかして、Windows11 無くても生きていけるのではという錯覚に陥りがちだが、Word、Excel、PowerPoint を編集する作業があるので、多分、まだまだ Windows は必要。
Max OS X に関しては、Intel Mac のマシンを 11 年近く使っている。やべー。 こんなに長く使う予定は無かったのにどうして……。 でも、Mac 環境が無いと Safari の動作が確認できなかったりするので、しばらくは Mac は必要だろう。 M1 Mac 欲しいなぁ。
Terminal
Terminal に関しては、WezTerm に乗り換えてからずっと使っている。Win/Mac 共に使えるのが良いことと、同じ設定が使えるので愛用している。 今のところ、特に不満なく使っている
Editor
エディタに関しては、相変わらず Vim を使っている……ように見せかけて、完全に Neovim へ移行した。これは、Shougo-wareをメインで使っている関係上、Vim で四苦八苦するより、Neovim でぺちぺちやった方が早く環境構築が出来るからだ。 Neovim だから良いという訳ではないが、積極的に Vim を選ばなくても良い時代になったと言える。 ちなみに、エディタの起動時間は、WezTerm を立ち上げて、nvim とタイプして起動するまで 5 秒掛からない。この起動速度+十分に精錬された開発環境は VSCode を上回っている。LSP も有効化しているので、VSCode を積極的に使う理由が、今のところ僕には無い。流石に今のマシンスペックだと、VSCode は 10 秒で起動するので、たかが 5 秒くらいと言われるかもしれないので、起動速度が速い!すごい!とは言い切れないのが現状。実は、VSCode で開発したほうがもっと開発効率が良くなる可能性は全然ありますからね……。 僕がただ気がついていないだけで。 denops 経由での ddu がすげー快適なので、当分はこっちを使うんだと思う。 Fern のお陰で、ファイラー関連も快適だしなぁ。 VSCode で Shougo-ware が動くようになったら呼んで。
Language
開発言語は、JavaScript 系列に偏っていて、Node.js と deno を愛用している。 と言っても、最近は実質的に TypeScript の軍門に下ったと言える。 後述する Next.js 門下に下ったのが大きな要因。
Builder
これらをなんと名付けるか微妙だが、まあ、Builder というのが一番近いかな。 npm も yarn も pnpm も bun も全部使っている。 npm は以前死ぬほど遅かったが、最近は割りとストレス無く使える速度になっている。yarn もそこそこの早さなので、特に理由がない場合は yarn を使っている。 pnpm はプロジェクトによって採用されているので、使うことがある。 最近、bun を使い始めたけれど、bun install がめちゃくちゃ速いので、まだ体験していない人は体験するとびっくりすると思う。 Vite は一時期使っていたけれど、最近はめったに使わなくなったなぁ。
Framework
React か Vue かの論争は未だにあると思うけれど、僕は React を選んだ。 ただ、それだけ。というより、Next.js があまりにも便利すぎた。 フロントでやりたいことはかなりやってくれる。すごい。 もちろん、Nuxt でも同じことは出来るので、好みの問題。 というより、Next.js と Vercel の組み合わせによる開発体験があまりにも良すぎて、他のツールを使う気になれない。つまりそういう事だ。 あと、React も useState がすごい使いやすくて、これによって開発体験がまるっと変わった。 やりたいことの大体が React で表現出来る(当たり前だけれど)。そして、学習コストもそこまで高くない(素の JS を組むより楽)ので、もし、新たにプロジェクトを立ち上げる時は、React ベースの開発をおすすめする。 癖が強いけれども、Next.js の app router/page router 当たりを使いこなせるようになると、途端に Next.js への評価が爆発的に上がるようになる。CORS 気にしなくて良いのは相当に楽。 問題点を挙げるとすれば、File のアップロードを実装するのが大変だった。特に page router はむずかった。 逆に、app router だとシンプルに書けたので、Next13 で app router へ移行できる人は早めに移行すると良い。 変な Tips を覚えなくて済むし、素直にバックエンドへの中継処理が書ける。
Hosting
Hosting に関しては他にも、Firebase や AWS の EC2 を使うとかまあ、色々あるけれど、現状は Vercel が一番強い。Netlify でも一応運用してるんだけれど、Vercel の方が圧倒的に使い勝手が良いし、快適。Firebase の Hosting はクセが強くて、Google っぽいなーって感じ。EC2 やっても良いけれど、自前でゴリゴリ設定書くの正直面倒だから、その辺をまるっとやってくれる Vercel や Netlify はフロントエンドの置き場として最高だと思っている。 バックエンドをどこに置くか問題は抱えているけれど、そこは腕の見せどころでしょ。
CSS Framework
CSS Framework と言ったら嘘になるけれど、React と組み合わせならどっちかが良い。 デザインセンスが皆無の人ならば、MUI の方が設定項目少なくてもいい感じにしてくれるから、使いやすいかも。でも、MUI の枠をちょっと超えた事をやろうとすると途端に面倒になる。 TailwindCSS はその点、MUI よりナチュラルに書けるイメージ。 ゼロからコンポーネントを作っていきたい場合は、TailwindCSS はとても魅力的。 ただ、出回っている TailwindCSS のデザインはダサいと思われつつあるので、MUI の方が精錬されているという評価を受けやすい。 なんでや。
Browser
メインブラウザは Vivaldi。本気の広告ブロックを搭載してる、思想強めブラウザ。実質 Google Chrome。開発の際は、Google Chrome メインで開発している。Firefox は完成後にチェックするようとしていつも立ち上げている。皆さん、知っていますか?最近の Firefox マジで速いんですよ。Rust 導入の恩恵を受けているのが伝わる。もしかしたら、メインブラウザにのし上がってくるかもしれない。 Safari は、最終確認用。正直、ほとんど立ち上げない。でも、こっちで確認しないとバグってる事がまれにあって、マジでこいつは現代の問題児。
まとめ
一応まとめてみたが、去年からの進展はほぼ無い。去年が激動過ぎたとも言える。 この中では、やっぱり bun の衝撃度が一番大きい。bun install がとにかく早くて、ストレスが相当減る。 今後も、自分の開発環境をまとめて晒していきたいと思う。
コメント
コメントを投稿