スキップしてメイン コンテンツに移動

開発環境の羅列 2023 秋

開発環境の羅列 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 がとにかく早くて、ストレスが相当減る。 今後も、自分の開発環境をまとめて晒していきたいと思う。

コメント

このブログの人気の投稿

ddu.vim introduction

ddu.vim へ移行する 昨日、重い腰を上げて、 denite.vim から、 ddu.vim への移行を行った。 基本的なセッティッグは、ddu.vim の README.md を読めばある程度出来る。 とは言え、ddu.vim の理念を理解していないとそもそも使えないプラグインなので、理念を含めて説明していきたいと思う。 ddu.vim とは ddu.vim は、 Shougo さんによって開発されている、Vim プラグインである。 Unite.vim や denite.vim の流れを組むプラグインであり、物凄く雑に説明すると、Vim で操作できる全てをコントロールしようというプラグインである。 雑すぎねーか。 Unite.vim からこのコンセプトは変わっていないが、Unite.vim は速度が遅いという欠点を抱えていた。 そこで、速度改善のために、pure Vim Script から脱却し、Python3 を採用したのが、denite.vim。 しかし、denite.vim は Python 回りのでトラブルが多かった。 そういう地獄のような状況で、 denops.vim というプラグインが登場する事で環境が一気に変わった。 denops.vim は、 Deno を Vim で使えるようにするプラグインで、これがべらぼうに Vim と相性が良かった。 早いし、色々なことが出来るなど、非常に柔軟な対応を出来るようになった。 Python ちゃんは要らなかったんや……。 簡単にまとめると、 ddu.vim は全てを繋ぐ 環境依存性を著しく下げる denpos.vim の登場により、環境構築が容易に Deno を採用することで高速性と柔軟性を担保 と言った、まさしく次世代のプラグインと呼ぶことが出来る。 ddu.vim の概念 ddu.vim には、 UI sources filters kinds という概念があり、これらも合わせてインストールが必要である。 それぞれ好きな物をインストールすれば良いと書いてしまえばそれで終わりなのだが、初めて導入する人にとっては何を言っているのか意味が分からないと思う。 UI は、文字通り、ユーザーインターフェースである。 とりあえず、ファジーファイン

PlemolJP導入

PlemolJP を導入した 思い立つことがあり、 PlemolJP をインストールする事にした。 自分は、PowerLine を使っているので、PlemolJP Nerd Fonts 版である、PlemolJP_NF をダウンロードしてインストールした PlemolJP の releases から、PlemolJP_NF_vx.x.x.zip をダウンロードする。 zip を展開し、PlemolJPConsoleNF-Regular.ttf をインストールする set guifont=PlemolJP_Console_NF:h18 を gvimrc に書く(フォントサイズはお好きに) ちなみに、これは Windows 限定の設定なので、Mac や Linux などで導入する際には、別の方法をオススメする。 余談 gvimrc に指定するフォント名が微妙にわかりづらい。 普段は、 set guioptions-=m してメニューバーは出していないが、今回は :set guioptions+=m を実行して、編集 → フォント設定からフォントを選び、フォント名に入力されている文字列をコピペして、スペース部分をアンダースコアで置き換えた。 この辺のルールとかに詳しい人にぜひとも教えて欲しい所。 導入した感想 今までの Powerline フォントはいまいちなのが多かったが、PlemolJP の表示は非常に良い。 今後はこちらをメインで使って行きたい。 あと、僕はヱビス派です。