次の個人開発で使いたい、爆速開発可能な超モダンなスキルスタック
現在、2名の web エンジニアでsliiというサービスを開発しています。slii のスタック(こちらの記事から確認できます)もかなりモダンで個人開発に特化したものを使っています。
今回使ってみてよかったものと、次の個人開発で使いたいものをまとめました。
開発技術一覧
個人開発において、私(達)が重視していることは、開発速度の速さ、開発体験の良さ、コストの低さです。
逆に重視していないことは、技術の安定性、スケーラービリティです。
それも踏まえてみていただけたらと思います!
デザイン
1.figma
もうほぼデザインツールは一択ですね。前回に引き続き採用です。最近ではプロンプトでアプリ UI を生成するGalileo AI も出てきてどんどん便利になっています。次の次くらいでは使いたいなと思っています。
フロントエンド
1. TypeScript
安心安全。
2. React
Vue × Nuxt も結構注目しているのですが、次のフレームワークが使いたいと思い、次回も React です。世界でもシェアをとっていることもあり、周辺ライブラリも一番豊富なので、開発速度、開発体験、共に良しです。余談ですが筆者は割と Angular が好きです。
3. Remix
まだほぼ触ったことないですが、次回の開発で一番楽しみにしている Remix です。Next.js と違い 、SSG や ISR ができないのですが、キャッシュコントロールなどで、パフォーマンスの向上を図ることを推しているようです。
4. Rome
聞き馴染みないかもしれませんが、ESLint
と Prettier
を統合したツールです。特徴はなんといってもそのスピードでベンチマークを見てみると Prettier と比較して最大で 25 倍、ESLint と比較して約 15 倍高速になるようです。ただ筆者はESLint
と Prettier
のスピードに不満に思っていないので、完全に興味本位で使ってみたいと思っています。
5. Tailwind CSS
前回に引き続き採用です。Tailwind CSS については言うまでもなく、bootstrap を抜いて最も人気のある CSS フレームワークです。開発現場で、採用するかしないかはTailwind 考の記事にもあるように慎重に考えた方が良いですが、個人開発なので、サクッと採用です。
6. mantine
react の UI ライブラリです。公式ドキュメントも充実しており、個人的にはデフォルトのデザインがかなり好みです。ライブラリ自体の開発速度もかなり早くバージョンアップも頻繁に行われています。デザインにもよりますが、Tailwind CSS と組み合わせると、開発体験かなり良いです。
7. jotai
state 管理のライブラリです。前回も使いましたが、開発体験よかったので、今回も採用です。最近メジャーアップデートがあり、さらに使いやすくなったと思うので、キャッチアップしていきたいと思います。
8. TanStack Query
データフェッチ時に使います。最大に利点は一度叩いたデータをキャッシュしてくれることです。キャッシュからデータを取ってこれば、ステート管理をするデータもかなり減るので、コードの可読性、保守性が上がります。ゆえに state 管理ライブラリは jotai のようなシンプルなものを使うと、開発速度がかなり上がります。
バックエンド
1. supabase
個人開発では学習目的でなければ Baas を使うのが一番です。Firebase より supabase を採用している理由は RDB であること、記述が SQL ライクにかけることです。(Firebase の記述はどこのデータをさしているのか分かりにくい)。また無料枠も広いので、アプリがバズらない限りは、無料で開発できます。
ツール
1. GitHub
copilot とペアプロしてます。
一応 PR をもとにレビューしてからマージしています。
2. chatGTP
ロジックを主に教えてもらっています。自分で考えるよりも早いです。
3. Discord
コミュニケーションは Discord でやっています。仕事感がないのが一番気に入っています。(Slack は業務で使っているので休日にあまりみたくない)。Discord でペアプロとかもできます。
Discord にグループがあるので、興味のある方はご参加ください!
個人開発アプリを作っていきます。現役エンジニアや勉強目的の方もご参加いただいています。
現時点で 10 名ほど。コアメンバーも増やしていきたいと思っています。
その他(やらないであろうこと)
1. テスト
まあ、いいかなと。。。
2. アトミックデザイン
そんなに使い回すものが多くない。結構めんどくさいと思っている。コンポーネントは適切な大きさに切り出していますが、Next.js
ではpages
の配下に使うコンポーネントを置いています。共通コンポーネントのみcomponents
の配下に置いています。
まとめ
前回の開発と大きく変わりませんが、現状個人開発では React
or Vue
× Supabase
が一番気に入っています。技術の発展は目まぐるしいので、今後も技術にアンテナを張って最新、最善のものを採用していきたいと思います。
Discussion