こんばんは。
いろいろあってNode.jsキャッチアップを開始して3日目です。意外とまだ3日目。
「とにかく最短でアプリが作りたい」という要望に対し、こちらの本をオススメされたのでKindleでぽちって進めております。
まず素のNode.jsでサーバーを立てる処理を書き、そこからフレームワークであるExpressを導入してCRUDやバリデーションを書き、そしてSequelizeというORMを導入してDBとのやりとりをし始めたところです。ここまでで本の7割。残りはORMを使って単純なCRUDから少し発展させた処理を盛り込んだアプリケーションを作って終了という感じになりそう。
Node.jsは言語自体はJavaScriptなので、「言語仕様の新規習得コスト」はありません。これまでに素のPHPを使ってCRUDアプリケーションを作ったり、Laravelを使ってサービスを作ったりした経験があるので、「webアプリケーションにおけるバックエンドの役割とは何たるか」みたいなところもある程度分かります。
だから、新しく覚えることは「Node.jsならどう書くか」というこの1点です。
この本も終盤に入ってきておりますが、普通技術書って「最初は簡単であとから難しくなる」じゃないですか。でも不思議と、今回は真逆でした。
「素のNode.js」→f「Express」→「sequelize」と、だんだん記述量も減ってくるし、「短いコードでできることが増える」ということは覚えることも減ってきます。フレームワークの使い方だとLaravelとも共通する部分がかなり多くなってくるので、素のNode.jsで書いてる段階が一番しんどかったです。
「一つの言語をしっかり習得できれば他の言語の習得はラク」なんてよく言いますが、プログラミング始めて1年半、ようやくこの言葉の意味を実感しております。これまでフロント言語とバックエンドはPHP(Laravel)しか触ってこなかったですが、しっかりのこの言語で「個人開発でアプリ作れる」「プロとして報酬をもらって仕事ができる」というレベルまで「深く」スキルを磨いてきたので、ちゃんと応用が効いてます。
これからプログラミングを勉強する方は、どんな言語でもいいからちゃんと仕事としてお金をもらえるレベルまで1つの言語をまずは習得するのがいいと思います。
「モダンこそ正義」みたいな風潮もありますが、ずっとバックエンドはPHPだけ触ってきた僕でも、1年間ちゃんとPHPを使っていると「Go言語を使ったバックエンドエンジニア」のオファーがきたりします。現職フロントエンドだし、GO触ったことないのに、です。
恐ろしくなって「バックエンドエンジニアとして企業で働いたことないし、GO触ったことないけど大丈夫ですか?」と聞くと、「PHPがちゃんとできていれば、現時点でGOを触ったことがあるかはそんなに重要じゃない」と言われました。
まあ、そういうことです。
なんでも良いから、まずは縦に深くスキルを伸ばしていきましょう。1つ軸ができれば、あとはラクです。
おわり。