RealPath:
WebPath:
2017/08/29 04:22 (JST) 更新
概要 >>

ASP.NET Core 概要

Contents

かなり昔の話ですが、たとえば90年代に動的な Web サイトを構築する際、特にそれがオープン系であれば Perl, PHP 等が使われることが多かったかと思います。この時代は規模によりますが、総じてシンプルに 1 人や 2 人でも運用できていたことの多いのが実情だったかと思われます。

しかし近年、多様化する需要や開発技術の進歩により Web サイトひとつひとつの設計規模が大きくなるにつれ、システムを少人数でフルスクラッチ開発することが難しくなってきました。

そんな中、同じような繰り返し作業の手間を減らし (DRY) 開発効率を上げる思想が浸透し始め、Web 開発を加速する Web フレームワークがちらほらと登場してきました。

リリース フレームワーク
2005年12月 Ruby Rails 1.0 (Ruby)
2008年 9月 Django 1.0 (Python)
2009年 3月 ASP.NET MVC 1.0 (C#)
2010年 4月 CakePHP 1.3 (PHP)
2016年11月 ASP.NET Core MVC 1.1.0 (C#)
2017年 2月 CakePHP 3.4 (PHP)
2017年 4月 Django 1.11 (Python)
2017年 5月 Ruby Rails 5.1 (Ruby)
2017年 8月 ASP.NET Core MVC 2.0.0 (C#)

※ Java 関連のフレームワークも当然登場はしているのですが、エンタープライズ向けであることが多く情報がガチガチなのでちょっと紹介は保留します。折を見て後ほどまとめます。

さて数ある Web フレームワークですが、上述した (Java以外の) フレームワークの中では ASP.NET (C#) は特異な性質を持っています。
フレームワークというよりは言語側の話なのですが、C# は静的が型情報の管理機構を持っており、厳密な型制約を行えます。

この点はとても重要で、一度作ったモジュールが「壊れにくい」または「壊れた場合にすぐに気づける&すぐに原因特定できる」という利点があります。

もしこの記事を読んでいる方の中で Visual Studio によるデバッグを長年経験してきた方がいらっしゃったとしたら、その利点の大きさは言うまでもなく伝わると思います。

各種フレームワーク歴史参考

MVC の概念について


ASP.NET Core (ASP.NET Core MVC) フレームワークは、他のよくある Web フレームワークと同様に MVC (Model, View, Controller) のポリシーに則って構成されています。

MVC は現在(2017年時点)多くの Web フレームワーク (Ruby on Rails, CakePHP 等) で採用されている構成であり、今ここで説明するまでもなくググればすぐ見つかるので一旦説明は省きます。

以下サイト情報などを参考にしてみてください。

ASP.NET Core で出来上がるものの見た目

もしかしたら先入観として「MS製フレームワークで作るWebは概してダサい」と思っている方もいらっしゃるかもしれませんが、先に示しておきますと

20160904223222p

こんな感じで、実はデフォルトで Bootstrap レイアウトが組み込まれる形になってるので普通に作れば普通の今風の見た目になります。

お手軽さについての言及

とりあえず最新の Visual Studio (例えば Community 2015 等) さえインストールしてあればすぐに ASP.NET Core プロジェクトを作成、実行することができます。

img