個人的に二転三転して、やはりJavascriptに戻ってきた話
一時期はStreamlitでフロントエンドは作れると考えていた。
もちろん、この選択は間違っていない。
サクッと周りに動くものを見せたいのであれば、現時点でも100%お勧めする。
しかしながら、StreamlitをWEB-APPとして、リリース可能なホスティングサービスが無い
(Streamlit Cloud という、ホスティングサービスはあるが、アクセスしないと直ぐにログアウトされる)
React
何度かReactのプロジェクトを作っては消し、作っては消し・・・
Next.Jsのプロジェクトを作っては消し、作っては消し・・・
Gatsby.Jsのプロジェクトを作っては消し、作っては消し・・・
もう半年近く、同じことを繰り返している。。。
Vercel
ホスティングサービスのVercelを知ってからは、GITHUBとCI&CDを回せることを学ぶ
もちろん、ここにもテンプレートがぎっしり用意されている。
見たこともない用語がびっしり並ぶ・・・
何々? Preact? 少し軽いReactらしい・・・
何々? Vite? ちょっと軽いビルドツールらしい・・・
片っ端からテンプレートを使って、プロジェクト作っては消し、作っては消し・・・
今度は自分のGITHUBに、ゴミプロジェクトが溜まりだした。
JSの世界感
自分が知っている常識をはるかに上回るペースで、JavaScriptの世界は日々移り変わっている。
少しばかりサーバー側のレンタリングのために、NODE.JSのフレームワークも調べ始めたが、
この言語に共通する世界観として、プログラム言語としての統一感以上に、その周辺を取り巻く開発環境が余りにも複雑になりすぎている。
どうもJsエンジニアというのは、何というか盛りだくさんの内容を、いかに自分たちが優位性を保つために競い合っているだけで、何か共通の課題に向けて方向を合わせて進めようという感覚が無いように思える。
最終的な結論
フロントエンドだけの話であれば、最終的にはビルド済みの静的ファイルを得ることが目的である。
特定の用途では、HTMLにscriptを埋め込むだけで十分という選択もある
これ以上、自分がJSフレームワークに溺れて、余計な時間を費やしたくない。
そもそも、少しだけのアプリケーションの用途で、巨大なnodeライブラリのインストールはしたくないし、ライブラリ自体のバージョン不整合で開発が一向に進まないという状況に陥りたくない。
英語学習
JSスキル獲得の傍らで、実は英語勉強もかなり進めてきており、最近は英語のYoutube動画もすんなり理解できるレベルに達している。やはり語学勉強はプログラミング以上に、時間をかければ身につくものだと実感する。
そして今回は、たまたま見た下記のYOUTUBEが自分の方向付けの決定打となった。
Percel
どうやら、自分のようにJSでウンザリしてきた方は、他にもいるようだ。
そんな中、このビルドツールはとてもシンプルであり、初めてJSの世界で、腑に落ちるという感覚を味わった。もちろん、その感覚は、さんざん苦労してきた自分だからわかる話しであって、全くの初心者には理解できないであろう。
もう一度React
このツールを使う前提で、もう一度Reactのポイントだけを詰め込んで、もう一度JavaScriptを始めてみたいと思った。Reactについては、散々苦しめられたが、以下のページにポイントがまとめられている
あとは常識的には、ReactでもTypeScriptは使った方が良い
ビルドツールが軽いから、物凄くモチベーションが上がった。
つまり、ビルドツールの複雑さが、JS習得の最大の課題だったということを、個人的には学んだ。