見出し画像

realworld不足

最近Next.jsいじってて思ったことなんですが...

よくフレームワークのexample見てると、しっかりしたプロジェクトには`realworld`の名称でサンプルアプリが存在してる。中身は決済や在庫管理だったり、スターウォーズ情報を扱うサンプルアプリだったりする。最後の例だった場合、僕はそんなにスターウォーズ詳しくないのでドメイン知識が乏しくて死ぬ。

realworldに書いてあるコードが実際realworldだった試しはほとんどない。データの表現や状態管理周りの共通処理が実運用に転用できるかもしれない程度で、結局のところ運用必要になるミドルウェアへの対応やトランザクションの管理などでは参考例として成立しない。(だからOSSのオーナーがダメというわけではない。それはこのポストで言いたいことと最もかけ離れている)

会社や社外コミュニティのメンバーと一緒にコードを書くことの利点は、運用前提のコード資産をシェアできるところにあり、だいたいの人はそうやって補っていると思う。それが通用しない新しい、あるいはマイノリティーの技術では、自力で試すしかない。

僕は主戦場がGo言語でのサーバーサイドの開発で、TypeScriptでのフロントエンド開発もしたりするが、「コミュニティが盛り上がっているな〜」と思う技術でも、得てしてこのrealworld知見のシェアが足りていない。Goも結構年季が入ってきたと思うのだけれど、いまだにアーキテクチャやORM、APIフレームワークやロガーの選定で迷うという話を何度も相談されている。

おそらく僕も含めて、コミュニティで盛り上がっている人は大体その技術を会社でゴリゴリに扱っていて、つまりrealworldに生きているのだ。これから始める人からすると、盛り上がっている人に「登壇しなよ〜」とか言われても、「いやチュートリアルが終わったあと何すればいいのか、どの書き方が暫定的な正解なのかわからないんだが!?」という気分で、微妙に苛立つ部分があるのではないか。まあ僕も軽い気持ちで「登壇しなよ〜」って誘っちゃうんですけど。最近Next.js触ってて、新しめのバージョンでHooksが絡んだりすると微妙に知見が無かったりして困ったので、最近似た気持ちになった。

とにかく、技術が(より多くの人の手によって)発展するにあたって重要なのは、積極的利用者であるコミュニティでワイワイやってる人が、チュートリアルからrealworldまでの道のりをできるだけ緩やかにつないであげること。局所的な事例を紹介する、技術的に尖った話も大事なのだけど、フェーズによっては運用までの技術選定や書き方を薄く広く総ざらいした話を登壇とかでシェアした方が、良いのではないかなあと思う。自戒です。

この記事が気に入ったらサポートをしてみませんか?