本書はtypescirptの使い方について書いて行きます。
1372 views
対象読者の年代は30代後半から40代あたりを想定しています。
一昔前、WEBサービスを作成するときは、フロントエンドはajaxやJQueryといったjavascriptのライブラリを使い、バックエンドはPHPやJavaといった、異なる言語で作るのが主流でした。
しかし、よくよく考えると、フロントエンドはjavascript、バックエンドはPHPやJavaなど、別の言語で作成するのは非効率なやり方です。
そこで、フロントエンドもバックエンドも一つの言語で完結できたらいいのに、と考えられるようになりました。
その思想から、最近はフロントエンドもバックエンドも、javascriptで完結させる流れになってきています。
気づけばわたしもプログラマー歴20年を超えるおっさんプログラマーになりました。
30代まではC言語を中心としたミドルウェアをやり、40代になってからWEBプログラマーを始めました。
そんなわけで、最近のわたしは仕事でPHPやpythonでWEBプログラムを書くことが多いです。
フロントエンドは旧式のajaxやjQueryなどを使っていますが、若者に負けねーぞということで、興味本位にjavascirptを調べました。
調べて分かったのは、従来のjavascirptの知識しかない人にとっては、結構ハードルが高い状況になってきているということです。
ハードルが高いといっても、AIやブロックチェーンなどのように、微分や積分、ハッシュ計算や暗号化など小難しい理論の上に技術があるとか、そういうことではありません。
全部おっさんの知識でどうにかなります。
ハードルが高い、を平たく言うと、面倒臭くなっているです。
もう少し馬鹿正直な感想を言うと、javascirptがおっさん化している、です。
コンパイルするようになりましたw
C言語か!って言いたくなるような状況です。
コンパイルしないといけないので、ソースをどこに配置して、ビルドしたモジュールはどこに吐き出すといった、makeファイルみたいなものを作る必要が出てきました。
これは、C言語でも面倒くさい作業でしたが、javascriptにそれを求められると、えー、そんなのjavascirptじゃないよ!と言いたくなり、拒絶反応が起きます。
または、俺は何か違う言語の記事を読んでいるのか?と錯乱する人も出てくるかもしれません。
ただ、コンパイルするのにはそれなりにメリットがあります。
javascriptのライブラリの依存関係とかを適切に扱ったり、ザルだった変数チェックなどもできます。
旧javascirptを書いていて、こう思ったことがあると思います。
この言語、危なくない?コンパイラ言語みたいに型を厳しくできないかなぁ…
javascirptを貧弱、貧弱、とディスり続けたおっさんたちのせいで、なめんなよ!と言わんばかりに、できるようになっちゃいました。
ただ、コンパイルと言っても、ソースコードをバイナリファイルに変換するのではありません。
typescirptで書かれたプログラムをjavascirptに置き換えるのです。
これをかっこよく、altJSと言います。
ちょうど、C++をビルドすると、いったんC言語に置き換え、そこからバイナリに変換しますが、C++からCに置き換える処理がtypescirptとjavascirptにも起きるのです。
作ったライブラリの配布が、C言語のDLLの配布と同じ感覚
もう、javascirptは、ちょこっと動くプログラムではなくなりました。
もはや、一大言語として接しましょう。
一大言語なので、いろいろなライブラリが複雑に絡まるようになりました。
旧javascirptでそうなると、取り込むライブラリの順番なども気にしなければならず、発狂モノでした。
インストーラーじゃないですが、javascirptで作ったライブラリは、webpackなどを使ってまとめる必要があります。
さらにジェネレーションギャップも起きています。
パッケージ管理ソフト?
ちょっと前まではCDNをhtmlのscriptタグに書いて、ささっと書いて終わり、みたいな世界でした。
そのとき、思ったことありませんか?
ライブラリを調べてダウンロードして集めるの、メンドクサイ
これは、npmというパッケージ管理ソフトを使うようになりました。
pythonで言えば、pipコマンドみたいなものです。
これはややこしくなった半面、慣れればかなり便利です。
C言語って最近どうしてるのかなぁ…。もう3年くらい離れているからわからない…。
apacheいらねーよ
WEBサービスというとapacheをインストールしてしましたよね。
もっと便利なxamppがあるぜとか、そういう次元ではありません。
nodeというコマンドを使えば、WEBサーバが起動します。
昔は思いましたよね、apacheの設定メンドクセェ
pythonのflaskやdjangoで言えば、デバッグ用のWEBサーバが起動しますが、あのノリでWEBサーバが起動します。
しかも、本番でも使えるらしく(違ったらごめんなさい、まだ信じられない)、SSLも設定できます。
これは便利!!
色々と変わっていますが、総じて言えるのは、「昔、XXだったらいいのにぁ」がほぼ実現しているということです。
そして、実現したら、C言語などとやることが同じ、というデメリットが出てきた、ということです。
Page 1 of 12.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/