C#でSAPが書ける Blazorフレームワークを勉強したい
まず、私のWeb開発に対する意見なんだけど
ごめんなさい、スクリプト言語は私の中では5年前に終わった
Railsが出た当初は、こんなエコなシステム!RailsだけでWebはいいじゃん
って思った時期もあったんだけど、結局はコンパイルできないためテストコードいっぱい必要で開発速度アドバンテージ失い
PaaSの方がアドバンテージ高く
そしてスクリプトの実行速度の遅さに、決定的だったのがCPUがマルチコア化し、プロセス生成ではもうスペック出せない事
そこで、非同期フレームワークnodeが出たのだが、結局はnodeの速度限界とシングルスレッドしか扱えない事、言語構文から無理が出て
最終的には、Java(Scala)、Erlang(Elixir)、 C#、Go、Rust・・・ といった、非同期可能なコンパイル言語以外ないなーと思うように
その中から選ぶと
Scalaはコンパイル遅い。Javaは言語が古かった(最近のJavaはラムダも使えたり十分だが昔は一貫してオブジェクト指向で関数型要素が入ってこなかった)、Erlang(Elixir)はVMの速度が遅いという話で及び腰、Rustは開発がちょっと遅くて安定しない、C#はWindowsでしか動かないから論外
で、Goという選択肢を選んだ
が、最近はその状況もかわってきてる
Javaは最近言語をどんどん柔軟に関数型プログラミングを採用してきたので今は十分使える
Erlangは実際に評価してみないとな・・多分今は問題になるほど遅くはないと思う
www.atmarkit.co.jp
MicrosoftがRust をバックアップするとの事で状況は変わってきた
そして、.net Coreという、マルチプラットフォームで動作する .netフレームワークをMicrosoftが発表した!!
という事で、最も期待しているのがC#
そのなかで Blazorというフレームワークが面白そうだ
BlazorはC#でSPAを作れるらしい
なんとViewもC#で作れる
仕組みは、C#で書いてビルド時に .netのILからWebAssemblyに変換してブラウザで実行していると!
ってことで、Blazor注目!!