どこかの記事で見たのですが、「Web系の言語を一通り抑える」内容で、C#やASP.NETは見事に「不要」とされていて笑いました。確かに新しくWebサービスを立ち上げる時にRailsやLaravelといったサーバ系のフレームワークと、Vue.jsのようなフロントエンドのフレームワークを組み合わせてAWSでホスティングするのが一般的なようで、最初からASP.NETとかAzureでやろう!というのは宗教上の理由()が無ければあまり聞きません。
理由の一つとして、かつて学習コストが高く閉鎖的だったWindows系の技術が、今でもそうだと思われているのではないかと。(昔、自宅サーバが流行った時なども、Linuxは無料なのにWindowsはServer版を買わないとIISが5セッションまでしか受け付けてくれなかったりと、個人には敷居が高かったですね)
最近のMicrosoftは完全にオープン化に舵を切っているので状況は全く違うのですが、「ASP.NET」という名称は変わっていないので、未だにエンタープライズ向けの製品だと思われているのかもしれません。
また、名称が変わっていないのに、昔のASP.NETと現在のASP.NETでは相当違いがあるので、ここも入門する上で混乱を招くところではないかと。具体的に言うと、
ASP.NET WebForms
ASP.NET MVC(2/3/4/5)
などは、最新のASP.NET Core MVCとは異なるものです。
昔のように、最新のASP.NET Coreの入門書などがたくさんあればいいのですが、国力が弱くなった日本のためにわざわざ日本語の本を出しても儲からないのか、あまり書籍もなくなりました。
貴重なASP.NET Coreの書籍が下記の2つです。
どちらも、MVCモデルに従って、モデルを定義し、Entity Frameworkを使ってSQL Serverに接続するCRUDアプリを中心にして、スキャフォルドを活用して構築していく内容で、非常にわかりやすいので必携です。
なので基本的には上記の書籍で勉強すればいいのですが、このブログではもっと簡単に「HelloWorld」をやってみたいと思います。
続き