00:08
はい、みなさんこんにちは。kkeethこと桑原です。本日もやっていきましょう。
kkeethのエンジニア雑談チャンネルです。この番組では、ウェビ業界に関することや、エンジニアリング、いろんな技術についての雑談などの情報を発信していきたいと思います。
で、本日のタイトルにあります通り、今日は、深く、なんかツッコンの話とかではないんですけど、最近流行ってるなっていう、なんかよく目にするOSSですね。あの、炎。
炎って読むのか、炎と読むのか、ちょっとすみません。僕はまだ発音はわかってないですけど。
まあ、日本の方々が作っていったNode.jsのフレームワークですね。で、まあ、ロゴとかも見てる通り炎だと思いますね。読み方は多分ですけど。ごめんなさい。間違ってたらごめんなさい。
一旦、今日の配信では炎と読ませていただきますけども、これに関していろんな発信がすごくされていましてですね。
まあ、興味深く読んでたんですけど、今までずっと手を動かしてこなかったんですけど、おとといか昨日ですね。
自分のこう、夜行性ってところはよろしくないんですけど、それでもまあ、ちょっと夜更かしをしてしまってですね。
この炎っていうライブラリーのチュートリアルですね。とりあえずGet Startedってやって、えーと、僕はバーセルにアップロードしましたね。
で、まあ簡単にいくつかのURLアクセスしたら、そのレスポンス返ってくるようになるところまでやりました。
で、一応バーセルにアップしたんですけど、まあもちろん、あの、ゲットでも取れるし、まあ200円で返ってくるんですけど。
あとはポスト、あとデリートかな?の3つまでが確かチュートリアルに書いてあったんで、そこまでやったかな。
プットは確かやってなかった気がしますね。
まあでも基本プットはあんま使わないと思うので、基本的にゲットポストだと思います。
まあ明示的にデリート使うときは僕はたまにやりますけど、まあ最近そもそもコード書いてないんであれですけど。
とはいえ、まああの、まず書いた感触としてはですね、すごく書きやすかったなってまずありましたし、
NPMクリエイトで炎とかで叩くと、そっから対話的に開発環境がガーッとこう立ち上がっていくっていうところがやっぱモダンだなっていう感じですね。
CLIのところがしっかり準備されているっていうのはさすがの一言だと思いました。
で、まあ感触としては本当に書きやすいっていうのに一言につきますし、そのいろんな環境のところの整備だったりとか対応というところでサポートがあるので、
もともとなんかクラウドフレアワーカーズとかの走りだっていうような記憶がありますね。
なんか何かのカンファレンスで、この炎とクラウドフレアワーカーのセットで、その場でライブコーディングをされている方がいて、
実際そのまま超高速で、確かTUDEアプリかなんかを作って、その登壇枠、何十分の短い中で一気にデプロイまでして動かしましたみたいなところで来てて、
いやこれは衝撃だったと思ったんですよね。
で、クラウドフレアワーカーズの対応とかがすごく強いんだろうなと思ってますし、
あの公式のゲットスターって言ってみましても、基本的には例はクラウドフレアワーカーの例の方が圧倒的に多いですよってところですね。
ただもう僕は使い慣れてるというところで、ついついバーセルを選んだんですけど、
まあそれ以外のところもしっかり対応されててすごくいいなと思いましたね。
あとはその各種ライブラリというかプラットフォームですけど、バンも対応してますね。
最新のバンも対応してますし、Dのも対応してますしとか、
あとAWSラムダもやったりしますし、ファストリーもですね、使えるというところで、
まあ本当いろんな他種多様のところの対応がされているっていうのも、これはかなり強いんだろうなって思いましたね。
03:04
またミドルウェア周りのところもやっぱり充実をしていて、今後も開発どんどん進んでいくとは思うんですけど、
まあだいたいノードジェス周りとかで思いつくものは結構対応されてて、
もう全然プロダクションレディで使えるんじゃないかなというふうには感触はあります。
まあとはいえ、結局ノードジェス界隈のフレームワークで、
まあ重鎮と言えば重鎮と言いますか、ほぼディファクトだと言われていたエクスプレスという存在がありますけど、
まあエクスプレスじゃなくてこっちに乗せ替えても僕いいかなと思いましたね、本当に。
まあ深く触ってないのでそれは今後の話もありますし、
各種エコシステムの対応とかの、あとその相性とかの話も出てくると思うんですけど、
まあ今絶賛、炎の開発はバリバリ進んでいるというところもありますし、
GitHubスターも今8000を超えてきたというと思うので、海外の方がもう割と評価をされているのは本当に大きいと思います。
8000はやっぱすごいんですけど、まあもっともっと伸びてほしいみたいなブログも見ましたね。
あの中の方、開発されている中の一人の方、ゆうすけべいさんという方ですね。
この方が炎の開発の中の人らしくてですね。
いやちょっと衝撃を受けましたね。
こんなこともされているのかというところで。
その方がつい最近ですね、今月頭に書かれていたOSSで世界と戦うためにというタイトルのブログを書かれていて、
これがまたすごく興味深かったですね。
まあなんていうか、やっぱ日本人はずだというところで、本当は数字もっと伸びてほしいし伸びると思っていたんですけど、
そこがあんまり伸びていなかったところに正直の悔しさがあって、
まあその辺のあれこれをブログで書かれていました。
まあ後ほどちょっと共有はしますので、
これすごく面白い記事だったのでぜひ読んでみてください。
NPMダウンロード数も最近は1週間で4万6千とすごく伸びてはいるというところ。
いやかなり盛り上がっているし、時間の問題でどんどんファイを奪っていくんだろうなというのは正直あるんですけど、
それでもまだ伸びるべきだというところで負けているという風な感触を彼は持たれているというところですね。
まあやっぱり英語と日本というところの側面から語られていて、
確かにそうですよね。OSSって結局は全世界共通というか、
別に日本で閉じる話はもちろんないので、
本当に良いものは良いというところで使ってもらえるはずだというのはやっぱりあると思うんですよね。
ただやっぱり発信が圧倒的に日本語が多いと、
日本語ってなった瞬間海外の方は読まれないというのは結構あると思うんですよね。
英語で書かれていたら違う言語の人も英語ならまず読むかみたいなところになると思うんで、
ここの差はまず大きいと思うんですけど、
まあ使ってもらうというところは本当にすごく難しいですね。
これはまさに使ってもらえれば使いやすさとか書きやすさは分かるなってすごく感じたんですけど、
とはいえみたいなところがやっぱりあるわけですよね。
ただ結構インフルエンサーの方々がこの本を取り上げてくださっているみたいなのがそのブログの中に書かれていて、
自称プレジデントオブホワイトボーズっていう有名な動画ですね。
ひたすらホワイトボードを使っていろんな技術に対する解説とか1分動画みたいなのを上げているベンって方がいらっしゃってですね。
フォロワー数もかなり多くてかつてもすごく面白いんですよね。海外の方なんですけど。
その方が取り上げていて、炎のことを言ってたんですけど、
エクスプレスがやっぱりノードJS界隈のほぼほぼデファクトと言われている、全世界で一番ダウンロードされているし使われてるんじゃないですかね。
06:01
フレームワークエクスプレスのがあるんですけど、これが次のJQueryみたいな存在になるみたいなことをおっしゃってて、
いやすごい強気な発言っていうか思ったことはありますよそれはもちろん。
もうなんか今JQueryの存在になりつつあるなと思ってはいるんですけど、とはいえこれを明言しているならば強いなと思いましたね。
でも炎というかノードJS界隈のフレームワークってもちろんたくさんあるんですよ。
エクスプレスだけではなくし、Coreっていうのもあったりしますし、僕はFastifyだったりとかも好きですし、
まあ速いのが好きだからってありますけど、などなど。
その他たくさんのフレームワークあります。
Salesとかもありましたね。レールズライクなノードJSフレームワーク、Salesみたいなのがあったりとか。
結構ノードJSのフレームワークはたくさんあるんですけど、なんやかんやエクスプレスを使うか、もしくはCoreを使うんですけど、
その辺との比較になるんですけど、基本的なエクスプレスがとりあえず納資で使うと。
一時期のWebフロントエンドにおけるJQueryとかありましたね。
とりあえずJQuery入れとけと。困ったら最後JQueryに頼れば作れるみたいな時代は本当にあったんですよね。
それだけJQueryというライブラリーが優れてるっていうのは確かにあると思います。
あと余談ですけど、JQueryはソースコードも結構面白くて、JQuery自体のソースコードを読むことはかなり勉強になりますね。
JSの勉強、設計ってこうやってやるんだっていうのをやりたければ、
入門向けであればローダッシュJSのライブラリーのソースコードを読むのが一番分かりやすいんですけど、
そこを飛び越えたいっていう人、中級から上級まで行きたいみたいなのがあるんだったら、
僕はJQueryのソースコードを読むのは全然良いと思ったりしますね。
さてよき、そういうデファクトと言われているようなエクスプレスの存在がJQueryと似たような存在になるので、
いずれ淘汰されていくんじゃないかみたいなところをおっしゃっているんだろうなっていうのは思います。
言いたいことはすごく分かりますけどね。
あとその版が発表されましたね。版が1.0で発表されたときに、
炎っていうライブラリーのところのピックアップもされてまして、
名前もしっかりここに出てきてたんですよね。動画が残ってるんですけど。
というので、かなり炎っていうのは評価をされていると。
その版に最も早くだったかな、対応したライブラリーとして炎っていうのが上げられていたので、
そういうのもあってピックアップされたんだなとそう思います。
あとはDenoとかですね。Denoのところでも対応してるからっていうので取り上げられていて、
Denoの中の人の一人もこのなんかのイベントで炎っていうのを取り上げたっていうので、
かなりやっぱ海外の評価は結構高いっぽいですね。盛り上がっては本当にいると思います。
なんですけど、まだまだ伸びていないってところが、
ゆうすけベイさんはちょっと悔しいっていうところが、もっと伸びてほしいっていうのがあって、
いろんなブログを書いたりとか、今後も発信をしていくというところをやってられていました。
まあなんていうんですかね。OSSで世界と戦うのは本当に難しいところはあるし、
いろんな面があると思いますけど、
これでも僕の感触としてはもう炎は時間の問題で普通に取りに来ると思いますね。
XSマジで食いに行くんじゃないかっていうぐらいの感触はありますし、
実際もう皆さんも書いていただければわかると思いますけど、
ベースの書き方はでもやっぱりどのノードJSフレーマークも一緒ですね。
入手して、いわゆるAppっていう変数にインスタンスを作って、
App.getとかApp.useみたいなのでガチャガチャ書いていって、ルーティングも書いていって、
09:04
あとはウォッチモードでひたすら何かリクエストが来たら対処しますみたいな書き方ですね。
この辺はなんかもうどのフレームワークも関係なしで、
大体デファクトでこういう書き方をするんだろうなと思うんですけど。
いやとにかく書きやすかったっていうのもありますけど、
サクサク動くってところもすごくいいなと思ったし、
インターフェースがすごくわかりやすかったので、
これはまあ来るなと思いましたし、
まあExpressでできないようなところをやれているっていうような感触はありますね。
ただまあ、ゆうすけさんもおっしゃってましたけど、
じゃあ全部できていると。
Expressができないことは全部できているし、
上位互換だっていうわけではまだないです。
まだまだ炎っていうのも今から育っていくフレームワークではあるので、
逆にExpressができていることを僕らができてないみたいなこともおっしゃってましたので。
まあどういう使い方をするかにもよりますけども、
一旦まあ盛り上がってきているっていうのと、
各種やっぱりライブラリーサポートが強いっていうのと、
CLIの対応というんですかね、環境周りのサポートがすごく手厚いので、
エンジニアに沿った機能というのがたくさん、
まあ今はモダンな機能が揃っているので、
そういう意味を兼ねて困ったら今は炎を使ってみてもよいんじゃないかなという気はしてます。
はい、とはいえまだまだ若いってところも加味して、
まあ皆さんも使っていただければと思いますけど、
最終的にはですね、コア機能もそうですけど、
ミドルウェアとかエコシステムの対応ってところが本当に強いというか、
最終的には皆さんが求めるところだと思っているので、
コアなところはもうぶっちゃけると時間の問題だから待っておけばいいし、
本当に対応しないものとか、この機能欲しいってあるならどんどんプルリク出して、
一体何で行くの一つだと思いましたよ。
で、ミドルウェアのところも今公式ドキュメントはざっと見てるんですけど、
まあいわゆるそのコールスだったりクッキーだったり、
eTAGとかJSXとか、ロガー周り、あとJSONのフォーマットでいうか、
PaaSだったりとか、あとグラフケールサーバーとかですね、
各種対応本当にできてますね。
もちろんオーセンティケーションですね。
ベアラートークンとかのオーセンティケーションとか、
ベーシックオーセンティケーションもそうですし、
ファイアベースオーセンティケーションも対応してたり、
セントリーもやられてるなどなど、
かなりミドルウェアは対応されてて、
もう申し分ないんじゃないかと正直思ってますので、
まず書いてもらえたらわかるっていうのはすごくその通りだと思ってるので、
どんどん彼らとして発信していいぞっていうところの話とか、
事例をどんどん増やしていくことに今後はなるんでしょうけど、
ちょっと追っていきたいなと思いましたし、
久しぶりにノードJスカイワイでの面白いフレームワークが出たなっていうので、
僕は今ちょっと注目をしてるし、
軽く書き始めましたけど、
これは確かにエンジニアに沿ったフレームワークというところで、
使いやすそうなっていうのは正直あると思います。
興味ある人は触ってみてください。
ちゃんと公式ドキュメントの版とDNOの対応もしてるっていうところで、
クイックスタートのところに、
版使う場合は版XのCreate-Honoとかでいただいていくとできますし、
DNOのところも、
dno-run-aでnpm-create-honoで叩くと、
ちゃんと動きますよと、開発完了作れますよというところで、
ほんとこの辺細かいんですけどね、
なんだかんだCLI揃ってないとエンジニアとしてはええってなるんで、
これはやっぱりありがたいし、さすがの一言だっていうのは尽きるなってところですね。
12:01
あとはヘルパーのところもかなり整備されてるし、
ドキュメントがまあまあもうちょっと、
ドキュメントは今後もブラッシュアップというか肉付けされていくと思うんですけど、
今は最低限のところの説明だけばーっと書いてあるので、
その辺を見てもらえればと思います。
あとはexamplesのリポジトリもたくさん生え始めているというところで、
どんどん困ったらまずそっちを見るのも一つかなとはちょっと思いましたね。
はい、というところで、今後もHonoJSというのはすごく盛り上がって、
僕も欲しいと思ってますし、熱いなと思いましたね。
和製と言いますか、日本人初、日本初のライブラリーというところが、
僕はやっぱり同じ日本人として応援したいとか、
盛り上げていきたいと思われたりするので、
ただ僕は基本フロントエンド側のやっぱり人間で、
専門分野はノードではないんですけど、
ノードJSで数年間仕事したこともあるので、
ちょっとこの辺は追っていきたいし、
自分でも今後もちょっと書きつつ、
こんな風に使えるんだとか、今までのExpressとここでどう違うのかっていうのを
比較して書いていきたいというのはちょっと思ったりしますのでね。
あと多分アドベントカレンダーもあったような気がしてて、
やっぱありますね、Honoのアドベントカレンダー2023というのがありますと、
今のところ参加者が5名で、
記事としてもまだ1,2,3,4,5、
5本しか書かれないっぽいので、
もし興味ある方、触った予定だけでもいいと思いますし、
中の方は本当にゲットスターティス触ってこう思いましただけでもいいと思いますので、
なんか触って思ったことあったら是非書いていただくと、
多分中の方も嬉しいと思うんでね。
是非是非書いていただければなと思います。
では、これで今日は終わっていきたいと思います。
じゃあ終了します。
お疲れ様でした。