GitHub PagesからDeno Deployに移転した

#blog

ryoo14

移転しました

最近せこせこWebアプリを書いていんだけれども、作り始める時に「フロントエンドとバックエンドで言語分けよう!バックエンドはJSON返して、フロントエンドはそれをSPAで描画するだけにしよう!(適当)」とイキってしまった。

Rubyしかまともに書けないくせに何故かRailsは一切使えないので、Sinatraで頑張ってバックエンドは完成したんだが、いざフロントエンドをオシャレに実装できる何かを調べているとJavaScriptやらTypeScriptやらNodeやらDenoやらReactやらVueやらわんさか出てくる。

世の中の賢い人たちの間ではどうやらReactが流行っているようだ。僕くらいの初心者になると、そもそもフロントエンドのアプリがどういう仕組みで動くものかさえちゃんとわかっていなくて、クライアント側のブラウザで実行されるんだろうなくらいに思っていた。

で、React使いたいけどそもそもJSに触れたことがないので色々調べ始めたものの、やっぱり文法のお勉強は単調で飽きてしまって横道にそれまくった結果、どうやら最近はSSRがトレンド?ということがわかった。

サーバーサイドレンダリングである。

サーバーサイドレンダリング?

サーバーサイド?

そう、NodeもDenoもサーバーサイドでJS(もしくはTS)を実行できる凄いやつなのである。

あれじゃあバックエンドをRubyで書かずにJSで書けばよかったんじゃね?となった僕は、JSおよびTSを学ぶことを決意し、多分おそらくユーザーも多くて日本語記事も充実してそうなNode.jsではなく、ロゴの可愛さからDenoを選択して、思いつきでブログをdeno_blogを使ってDeno Deployに移転したのであった。

deno_blog

今時点でJSもTSも何も学んでいなんだけど、どんな言語にだってシンプルなブログシステム的な何かは存在しているのだ。探せばすぐにdeno_blogが見つかった。

導入はめっちゃ簡単で、元々Jekyll用に書いてた記事markdownをsedで置換しまくったらもう移転完了。リンクの色を僕の好きな #ff8552にしたくてmain.tsxstyleを書いてみたが、ローカルでは反映されるもののデプロイすると反映されないようで、そこだけ宿題として残っている。

ページングに対応していないので、存在している記事が全て1ページに表示されてしまうのも何とかしたい。僕に実装する力はないので、これが取り込まれたりする未来を待っている。

どうでもいい葛藤

僕自身は趣味グラマーでしかないので、色々なシチュエーションで最適な言語を使い分けるよりも、ひとつの言語で色々できたほうが時短になるし嬉しい。

Rails 7でHotwireとやらがデフォルトに採用されたとかで、JS書かなくてもSPAっぽく動かせちゃうという記事を読んだ時はRubyに心臓を捧げようか、全然関係ないけどめっちゃ流行ってるRustに生涯尽くそうかなどなどちょっとだけ葛藤した。

ただ、RubyとRailsはネットに溢れるオワコン扱いな文面を見るのがしんどいし、Rustはライフタイムが理解できる気がしない。

結局Denoのロゴが可愛いのでJS, TSやることにした。Denoめっちゃ可愛くない?

Artwork | Deno

たぶん3ヶ月後くらいにはGo最高とか言ってる。