今年俺を一番幸せにしたDX最高な奴ら10選
みなさん、普段から開発者体験(DX)を気にしてますか?
DXとは、開発中に感じる“心地よさ”や“効率の良さ”を指します。
車輪の再開発のようなDXを損なう体験がなければ開発はずっと楽しいんです!
そこでこの記事では、「心から開発を楽しめる」相棒たちを10選紹介します!
1. Convex
“SQLの呪縛”からの解放
歴史のあるSQLはどうしても、歴史に引っ張られます。
Supabaseとかを使ってると、Row Level SecurityやSQL Functionsとかで、死ぬほど書きにくいSQLを書かなきゃいけなくなることありますよね。まるでFirebaseの認証ルール並み。良くも悪くも結局SQLだから、隠しきれない歴史の重み、つまりDXの悪さがでてくる。
しかしConvexは一切そういうのはありません!!!!
全てがDXを中心に一から考えられて作られたサービス。そう、React時代のバックエンド。
リアルタイムにデータが更新されるのもポイント高い。けど、やっぱりDXが最高。毎回毎回drizzleやprismaを使ってる時にgenerateして型を生成していたのが、convex dev走らせとくだけで自動で型生成されます。
SQLにうんざりしている人はこの機会に離れてみよう。感動します。え、NoSQLに逃げたことある?いやNoSQLは本当にDXがうんちオブザイヤーなので、Convexの方に逃げることをおすすめします。
2. TanStack Start
もうすぐNext.jsの時代は終わる
Next.jsの'use client'はどう考えてもDXが悪い。サーバー側でfetchしたデータをクライアント側でごちゃごちゃしたいときに、その時点でコンポーネントを2つに分けなきゃいけなくなるなんて発狂もの。
でも、この子は違うの。1ファイルにまとめられる。
もともとWeb開発はhtml, css, jsで分けられていたけどDXが最悪だったので、1ファイルでまとめられるReact + Tailwind CSSが誕生し主流になった。そのはずなのに、また逆行してるよ。。。
ファイルを機能で分けるな!ドメインで分けさせてくれ!
あと、クライアント側で型安全にfetchする手段なくて草って感じ。無限スクロールみたいに、クライアント側でfetchする機会はゼロじゃない。
oRPC使えばいいけど、最初から全部込み込みなのがTanStack Startちゃん。
あと型安全といえば、Next.jsのtypedRouteなんて毛が生えたもので、結局as Routeでキャストしなきゃいけない場面が多いところで、TanStack Startちゃんは全部やってくれる。
3. ElysiaJS
"JS/TS界隈のFastAPI"
普段はConvexで全部賄えるけど、どうしてもSQLを使わなきゃいけないとか、どうしてもネイティブアプリのためにOpenAPI準拠のサーバーが必要とか、どうしてもWebsocket使わなきゃいけなくて常駐サーバー立てたいとか、そういう時にElysiaJSちゃんはやってくれます。
なんといっても書き心地のよさ。特にOpenAPI系。
HonoだとOpenAPI(Swagger)の情報を細かく書かないといけないですが、ElysiaJSはTypeScriptの型からOpenAPIドキュメントを生成してくれます!
import { Elysia } from 'elysia'
import { openapi, fromTypes } from '@elysiajs/openapi'
export const app = new Elysia()
.use(
openapi({
references: fromTypes()
})
)
まるでJS/TS界隈のFastAPI。
冗長なコードは書かせません。最強。
4. Clerk
認証に人生を使うな
公式UIコンポーネントが最高すぎる。better-auth使ってるみなさん、組織ページとか招待機能とかアカウント作成ページとか本当に自分で作りたいんですか?それよりもっと集中して開発すべきところありますよね?人生の時間を車輪の再開発に当てないでください。
もちろん非公式のbetter-auth-uiもありますが、公式が用意してくれているんですよ。その安心感。
あと日本語対応もありがとう。。。better-authくんは自力で対応しなきゃいけないから。。。
5. SwiftUI
フロントエンド開発の理想郷
VStack、HStack、ZStackとかもうコンポーネント全てがわかりやすすぎる。最高。Web開発はどうしても歴史が古いから直感的じゃないmarginとpaddingの使い分けや、CSSの古臭いFlexboxとかGridとかを強制されるけど、全てDXを中心に一から作り直されてて最高。
もちろんFlutterみたいにサードパーティライブラリ導入必須とかじゃなくて、状態管理も全部SwiftUIに含まれてます。
フロントエンド開発の理想郷です。
そもそもSwiftの書き心地が最強。TypeScript民なら一度は悩むResult型がちゃんとデフォルトであるのは当たり前で、Enumのdot syntaxとかもう、最高。手放せない。
デザインも世界最高峰だし、ほんとに機能だけ実装していけるDXの良さ。
Figmaでデザインしてから開発?いやいや最初からSwiftUIでプロトタイプ作った方が早いですよ、と言いたい。
それに比べてなんなんあの、DI必須なJetpack Composeは。MVVMだし。機能別にファイルを分けないでください。画面別にしてください。レイヤー文化を持ち込まないで下さい泣 あとNavigation 3早くGAしてください。。。号泣
6. FastMCP
PythonがTSを超える瞬間
まじで最強。MCPサーバー作るならこれ一択。TypeScript SDKと比べて、その書き心地いかれすぎ。
from fastmcp import FastMCP
mcp = FastMCP("Demo 🚀")
@mcp.tool
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
どう考えてもみやすい。
普段TypeScriptしか触らない人もMCP開発するならPython触るべし!
うーん。
やっぱデコレーターいいよね。
え、NestJS?いやあれは。。。
7. Marimo
異次元のプロトタイプ開発
プロトタイプ運用から始める社内ツール作るならこれ一択。デザイン考えずに、どんどん機能を追加していけるから最高。まずWeb上でコード書きながら実装して共有も簡単っていう、そのnotebook形式の書き心地を知らないエンジニアは人生の半分損してる。その上でmarimoはデザイン的にも機能的にもモダンなjupyter notebookで最高。
StreamlitやRetoolだけでなくMarimoを使ってみてほしい。(TS民にも)
8. Polar.sh
Stripeの正統後継者
Stripeの分かりづらさを全て排除してくれる。Stripe使って開発したことがある人にすごい刺さる。
従量課金のメーターとかもちゃんと用意されているカスタマーポータルもGood。まじstripeは従量課金がメジャーじゃない時代からあるから、従量課金ネイティブじゃないんだよね。従量課金を実装しようとしたら、「え?サブスク扱いなの?」とか色々直感と反することがあるけど、polarちゃんは全部ちゃんと考えてくれている。最高。
あ、ちゃんと内部の課金処理はStripe使ってるから、信頼性は大丈夫だよ。
9. Railway
Dockerfileを書く理由が、またひとつ消える
Cloud Run、fly.io、Renderよりまじで開発者体験優れてる。時代はサーバーレスだけど、まだ常駐サーバーの需要はある。そんな時にRailway。
Railpackが勝手にイメージ作ってくれるから、まじでインフラのこと意識しなくてコード書ける。最高。Dockerfileを描いてる時の虚無さ。。。別に俺インフラエンジニアじゃないんだよな。。。ってなるのを、防いでくれます。これであなたもコードに集中できる。
10. Codex
開発はPCからスマホ時代に
まじでいい。性能はClaude Codeとどっちが優れているかという熱い議論は置いといて、GitHub連携と、Slack連携が神がかってる。
GitHubのプルリクのコメントで「@codex レビューして」って打つだけで、ため息が出るようなクソデカPRでも、驚きの精度で問題を発見してきてくれる。マジでCodexのレビュー無しでは生きていけない。
Slackも@codexにメンションしてリポジトリの内容質問できるし、非エンジニアとの潤滑油になってくれる。
そして何よりもスマホアプリの存在。
そう、スマホアプリがもう最高なんです。しかも公式から出てます。
え、なんていうアプリ?いや、ChatGPTですけど。
ChatGPTからCodexが使えるんです。メニュー探せばありますよ。
スマホなのにこれ、ちゃんと仮想環境用意してくれてるので、ultracite(biome)とかで事前に型チェックできるのも偉い。
え、まだあなた隙間時間に開発してないんですか?
スマホあるのに?
番外編: Fish & Starship.rs
Dotfilesに確実に入れておきたい
Claude CodeやCodex CLIのようになんだかんだターミナルは使う。
ターミナル使う機会が多いってことはねえ、ターミナルのDXもよくしたいでしょ?
fishの補完機能を体験したら絶対に元のターミナルには戻れない。
いや、これはガチ。
pnpx prisma generateやbun devのような頻繁にうつコマンドを、一瞬で打てるようになる快感を覚えたらもう戻れません。
いやいや、Warpがあるって?VSCodeやCursor内のターミナルも使うでしょ?
あとついでにFishとともに入れたいのが、Starship.rs。
チーム開発でワークスペースごとにnodeやpythonのバージョン違う時に、迷える子羊になりません。
あとかっこいい。
あとがき
SQL、Next.js、Dockerfile、CSS、Stripe…
いいんですか?その範疇で生きていて。
古い古い歴史から解放されませんか?
DXが良ければUXも良くなる。そういう仕組みなんです。
ユーザーのことを考える余裕はどこから生まれてきますか?そりゃ開発者の心の余裕ですよね?
良いサービスを作るには、良い開発者体験からなのです。
まだ悩んでますか?
これら次世代の開発者体験を知ってしまったらもう元には戻れないことを保証します。
TypeScriptを知ってしまったらJavaScriptには戻れないでしょう・・・?
新時代へ・・・Go to with DX
Discussion
楽しく読ませていただきました。
不勉強なもので、紹介されていた最高なDXの数々はほとんど耳にしたこともありませんでした。
レガシーなものを、使い勝手が悪いから捨てて、新しいものを手に先に進めるのは若者の特権なですね。
とてもうらやましいです。
年をとると、残りの人生も大して残ってないのに、手にしたものがいつまで使えるのかが気になるものです。
人間、命の危険がない、つまり安全だと判断している場合、新しい刺激や変化を求めなくなると聞いた事があります!自分含め若い世代は良くも悪くも競争社会真っ只中なので、社会的プレッシャーを受け続ける環境の中、置いてかれないよう日々流行を追い続けます!
ライフステージ毎のDXがきっとあると思います😎