見出し画像

凍える学び

お久しぶりです。りやんすです。

10日前くらいに神社に参拝し、そこでおみくじを引きました。結果は…

大吉
かなり勘が冴える時なので、直感通りに物事を処すると驚くほどうまくいく

おみくじ結果抜粋

ということで、初めて大吉を引いたので、これはチャンス!と思い、
今年はPCで作りたいものをジャンジャン作ろう!と思うに至りました。

つくりたいもの

いざ「つくりたいもの」を考えてみると、なかなか思い浮かばず…
いつもならたくさん浮かぶのに、いざつくろうとなると思いつかない。
ゲームを企画中だったりしますが、企画段階です。
すぐにつくり始められるもの、と考えた結果、思いついたものは、
「U22 プログラミングコンテスト」のリベンジです。
去年、U22にはWebiterを提出しましたが、その時は事前審査すら
通過することができませんでした。
自分でもあまり納得のいかない作品だったので、
今年は以前企画中だったWaberを作ろう!と思い至りました。
企画といっても、企画書などはなく、名前くらいしか決まってません。
Webiterは、HTML(Webサイト作りのための基礎となる言語)の知識が
深い人のみを対象に、古いブラウザでも動くように設計しました。
ですが、InternetExplorerはほぼ消滅しましたので、
モダンなブラウザでのみ動作する高性能なアプリを目指すことに。

準備する

今回は、高性能であることを売り?にしたアプリにするので、
個人開発で真面目に使用してこなかったNode.jsを使うことに。
幸い、Node.jsの開発経験がないわけではないので、
環境構築などは楽々できそう。
あとはGitHubでの管理などを真面目にしよう。
という感じで方針を決めて行きましたが、
最大の問題は、フレームワークライブラリをどうするかでした。
(フレームワーク/ライブラリ : アプリ開発を容易にするもの)
Vue(簡単)やReact(シンプル)、Svelte(速い)などのメジャーなものから、
NextNuxtSvelteKitなどの進化系みたいな立ち位置のものまで、
たくさんあるとかなり悩みます。
以前遊びに使ったVueを使ってみよう、ということでまずVueを始めました。
Vueはやっぱり簡単で分かりやすいなぁとは思いつつも、
アプリ開発が進んでいくにつれて分かりにくくなるのかなとも思いました。
次にSvelteをやってみましたが、これは私の問題ですが、
デプロイ(Webアプリを普通のWebサイトとして読み込めるようにする)
作業をやってみようとしても、なかなかうまく行きませんでした。
よくわからなかったので、保留にすることに。
次はNuxtをやってみましたが、なんか、こう…
イマイチ?(完全な主観)な気がしてやめました。
次、一番興味がありつつ、難しそうで一番抵抗のあったReactを
やってみるため、公式サイトのチュートリアルを見てみましたが、
「楽しいーー!」
かなりバニラJS(通常のWebサイトを動かすためのプログラミング言語)に
近い?表現で、思想も結構気に入りました。
私にはこれが合うかな、と思い、Reactを勉強することに。

凍える学び

Reactを勉強することにしたまでは良かったのですが、非常に寒い。
最近、いつも以上に寒い気がします。ストーブが磁石状態です。
寒いと、なかなか学びたいものも頭に入らない。
実際に簡単なアプリを開発してみたりもしましたが、
やっぱりチュートリアルのコードの方が質が高く、
チュートリアルを読破せねば!という謎の使命感に襲われつつ、
ついにやっと、昨日、チュートリアルが終了しました。
先ほど言ったNextはReactから派生しているので、
試してみましたが、こっちもNuxtと同じでなんだかしっくりこない。
Reactをそのまま使ってもいいのですが、進化系的シリーズを使ってみたい。
そんな感じでどうしようかなーと考えていた矢先、SolidJSという
フレームワークを発見。見てみると、
Reactと違う方法で高速化しているため、非常に高速なのに、
Reactと似た記法で分かりやすい!らしい。
せっかくReactを知り尽くした気分になったのに…
絶望で凍りつきました。
まだまだNode.jsの世界は広い。

調べれば調べるほど出てくる情報に頭がパンクします。
ただ、やっぱりこういう調べ物は楽しい。
絶望と物理的な凍えを乗り越え、
いつかWaberを完成させたいものです。

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