「ASP.NET MVC」の版間の差分
imported>Administrator |
(→その他) |
||
(2人の利用者による、間の10版が非表示) | |||
1行目: | 1行目: | ||
− | '''ASP.NET MVC''' | + | '''ASP.NET MVC'''(読み:えーえすぴーどっとねっと・えむぶいしー)とは、Webアプリケーションを開発するためのフレームワークである。名称に[[MVC]]とあるようにMVCパターンとなっている。 |
− | + | 2012年3月27日に、[[Razor]]や[[JSON]]などの実装を含む[[ASP.NET MVC]]および関連ライブラリのほぼ全てが[[Apache License 2.0]]のもとで[[オープンソース]]化され<ref>http://aspnetwebstack.codeplex.com/</ref>、翌日には[[Mono]]への取込が始まった<ref>https://github.com/mono/aspnetwebstack</ref>。 | |
− | |||
− | 2012年3月27日に、[[Razor]]や[[JSON]]などの実装を含む[[ASP.NET]] | ||
== ASP.NET と ASP.NET MVC == | == ASP.NET と ASP.NET MVC == | ||
11行目: | 9行目: | ||
大事なことなのでもう一度言うが、[[ASP.NET MVC]]と[[ASP.NET]]はまったくの別物である。 | 大事なことなのでもう一度言うが、[[ASP.NET MVC]]と[[ASP.NET]]はまったくの別物である。 | ||
− | + | このようなクソな名称を採用した[[マイクロソフト]]のセンスの無さには驚愕する。 | |
− | ASP.NET(無印)とASP.NET MVCの唯一の共通点は、ASP.NET MVCで用いるデフォルトのビューエンジン([[PHP]] | + | ASP.NET(無印)とASP.NET MVCの唯一の共通点は、ASP.NET MVCで用いるデフォルトのビューエンジン([[PHP]]でいう[[Smarty]]、[[Ruby]]の[[eRuby]]/erbに相当)で用いるテンプレートファイルの[[拡張子]]がaspxである点くらいである。[[拡張子]]は同じだが、ASP.NET(無印)のaspxファイルは人間が直接触ることを想定していないのに対して、ASP.NET MVCでは至って普通のHTMLテンプレートファイルであり、本当に共通点は[[拡張子]]だけある。 |
しかもASP.NET MVC 3からは[[Razor]]という新型ビューエンジンが導入され、HTMLテンプレートファイルの拡張子も.cshtmlまたは.vbhtmlとなってしまったため、拡張子という共通点すら無くなった。 | しかもASP.NET MVC 3からは[[Razor]]という新型ビューエンジンが導入され、HTMLテンプレートファイルの拡張子も.cshtmlまたは.vbhtmlとなってしまったため、拡張子という共通点すら無くなった。 | ||
20行目: | 18行目: | ||
従来の[[ASP.NET]]では、Windowsアプリケーションに近い開発スタイルが取られており、[[HTML]]を気にせず、ビジュアル・デザイナーでGUIアプリケーションを作るような感じで開発を行うというものであった。逆を言えばHTMLは実行時に自動生成されるものであり、人間が直接編集するものではないという独特のシステムであった。 | 従来の[[ASP.NET]]では、Windowsアプリケーションに近い開発スタイルが取られており、[[HTML]]を気にせず、ビジュアル・デザイナーでGUIアプリケーションを作るような感じで開発を行うというものであった。逆を言えばHTMLは実行時に自動生成されるものであり、人間が直接編集するものではないという独特のシステムであった。 | ||
− | 一方でWebアプリケーション開発で主力である[[PHP]]や[[Perl]]、[[Python]] | + | 一方でWebアプリケーション開発で主力である[[PHP]]や[[Perl]]、[[Python]]の開発者から見ると、[[HTML]]を触れないとか意味不明すぎて誰もが敬遠し、また[[SEO]]的にも良くないなど、クソだクソだと口コミが広まった。 |
− | こうした批評をうけ、[[PHP]] | + | こうした批評をうけ、[[PHP]]と[[Smarty]]の組合せのようなシンプルなものを、装いも新たに実装したのがASP.NET MVCである。 |
== Mono == | == Mono == | ||
ASP.NET MVCを[[Mono]]で利用に関しての特記事項を記載する。 | ASP.NET MVCを[[Mono]]で利用に関しての特記事項を記載する。 | ||
その他にも色々あるだろうが、個人的にはまった部分について記載しておく。 | その他にも色々あるだろうが、個人的にはまった部分について記載しておく。 | ||
+ | |||
+ | [[Mono]]を用いてASP.NET MVCを使ったアプリケーションを動かす方法などについては[[xsp]]や[[mod_mono]]の項目も参照。 | ||
=== ハンドラーの強制変更 === | === ハンドラーの強制変更 === | ||
32行目: | 32行目: | ||
=== ファイル名の大文字小文字 === | === ファイル名の大文字小文字 === | ||
− | + | [[Windows]]は[[ファイル名]]の大文字小文字は区別しないが、[[Linux]]/[[Unix]]では[[ファイル名]]の大文字小文字を区別するため、この点を考慮していないウェブアプリは注意する必要がある。個人的にはASP.NET MVCで「マスターページが見つからない」というエラーではまった。 | |
− | |||
== ルーティング == | == ルーティング == | ||
42行目: | 41行目: | ||
== マスターページ == | == マスターページ == | ||
− | + | [[ウェブサイト]]を作るうえで、ヘッダやフッタなどの大枠のデザインは統一されるのが一般的ということで、大枠部分をテンプレート化しておける機能(テンプレートファイル)をマスターページという。便利。 | |
− | |||
− | |||
{{stub}} | {{stub}} | ||
== ビューヘルパー == | == ビューヘルパー == | ||
− | + | 「[[ビューヘルパー]]」を参照。 | |
− | |||
− | |||
− | ASP.NET | + | == その他 == |
+ | *[[ASP.NET MVC/TwitterのOAuthで認証を行う]] | ||
− | + | == ASP.NET MVCの主なバージョン == | |
− | + | * [[ASP.NET MVC 1]] | |
− | == | + | * [[ASP.NET MVC 2]] |
+ | * [[ASP.NET MVC 3]] | ||
+ | * [[ASP.NET MVC 4]] | ||
== 関連項目 == | == 関連項目 == | ||
− | * [[ASP.NET MVC | + | * [[MonoRail]] - [[ASP.NET]](無印)上に[[Ruby on Rails]]のActionPackっぽい独自[[MVC]]を実装しているオープンソースプロジェクト。 |
− | * [[ | + | * [[MvcContrib]] - ASP.NET MVC向けの独自ライブラリ群を作っているオープンソースプロジェクト。主要メンバーには[[MonoRails]]の中の人もいる。 |
− | * [[ | + | * [[xsp]] - [[ASP.NET]]系のフレームワークを使ったウェブアプリをLinuxやMac上で動かすための[[Webサーバー]]。[[Java]]でいう[[Apache Tomcat]]のようなもの。 |
− | * [[xsp]] | + | * [[mod_mono]] - [[xsp]]をApacheモジュール化したもの。 |
== 参考文献 == | == 参考文献 == | ||
− | + | {{reflist}} | |
− | |||
− | |||
{{stub}} | {{stub}} |
2015年1月27日 (火) 01:15時点における最新版
ASP.NET MVC(読み:えーえすぴーどっとねっと・えむぶいしー)とは、Webアプリケーションを開発するためのフレームワークである。名称にMVCとあるようにMVCパターンとなっている。
2012年3月27日に、RazorやJSONなどの実装を含むASP.NET MVCおよび関連ライブラリのほぼ全てがApache License 2.0のもとでオープンソース化され[1]、翌日にはMonoへの取込が始まった[2]。
目次
ASP.NET と ASP.NET MVC[編集 | ソースを編集]
ASP.NET MVCは、ASP.NET(無印)と名称が非常に似ているが、まったくの別物である。 どちらかというとASP.NET MVCは元祖ASP(.NETが付く前)に近い。
大事なことなのでもう一度言うが、ASP.NET MVCとASP.NETはまったくの別物である。
このようなクソな名称を採用したマイクロソフトのセンスの無さには驚愕する。
ASP.NET(無印)とASP.NET MVCの唯一の共通点は、ASP.NET MVCで用いるデフォルトのビューエンジン(PHPでいうSmarty、RubyのeRuby/erbに相当)で用いるテンプレートファイルの拡張子がaspxである点くらいである。拡張子は同じだが、ASP.NET(無印)のaspxファイルは人間が直接触ることを想定していないのに対して、ASP.NET MVCでは至って普通のHTMLテンプレートファイルであり、本当に共通点は拡張子だけある。
しかもASP.NET MVC 3からはRazorという新型ビューエンジンが導入され、HTMLテンプレートファイルの拡張子も.cshtmlまたは.vbhtmlとなってしまったため、拡張子という共通点すら無くなった。
概要[編集 | ソースを編集]
従来のASP.NETでは、Windowsアプリケーションに近い開発スタイルが取られており、HTMLを気にせず、ビジュアル・デザイナーでGUIアプリケーションを作るような感じで開発を行うというものであった。逆を言えばHTMLは実行時に自動生成されるものであり、人間が直接編集するものではないという独特のシステムであった。
一方でWebアプリケーション開発で主力であるPHPやPerl、Pythonの開発者から見ると、HTMLを触れないとか意味不明すぎて誰もが敬遠し、またSEO的にも良くないなど、クソだクソだと口コミが広まった。
こうした批評をうけ、PHPとSmartyの組合せのようなシンプルなものを、装いも新たに実装したのがASP.NET MVCである。
Mono[編集 | ソースを編集]
ASP.NET MVCをMonoで利用に関しての特記事項を記載する。 その他にも色々あるだろうが、個人的にはまった部分について記載しておく。
Monoを用いてASP.NET MVCを使ったアプリケーションを動かす方法などについてはxspやmod_monoの項目も参照。
ハンドラーの強制変更[編集 | ソースを編集]
詳細は「mod_mono#ASP.NET MVCを使うための設定」を参照。
ファイル名の大文字小文字[編集 | ソースを編集]
Windowsはファイル名の大文字小文字は区別しないが、Linux/Unixではファイル名の大文字小文字を区別するため、この点を考慮していないウェブアプリは注意する必要がある。個人的にはASP.NET MVCで「マスターページが見つからない」というエラーではまった。
ルーティング[編集 | ソースを編集]
アクション[編集 | ソースを編集]
マスターページ[編集 | ソースを編集]
ウェブサイトを作るうえで、ヘッダやフッタなどの大枠のデザインは統一されるのが一般的ということで、大枠部分をテンプレート化しておける機能(テンプレートファイル)をマスターページという。便利。
ビューヘルパー[編集 | ソースを編集]
「ビューヘルパー」を参照。
その他[編集 | ソースを編集]
ASP.NET MVCの主なバージョン[編集 | ソースを編集]
関連項目[編集 | ソースを編集]
- MonoRail - ASP.NET(無印)上にRuby on RailsのActionPackっぽい独自MVCを実装しているオープンソースプロジェクト。
- MvcContrib - ASP.NET MVC向けの独自ライブラリ群を作っているオープンソースプロジェクト。主要メンバーにはMonoRailsの中の人もいる。
- xsp - ASP.NET系のフレームワークを使ったウェブアプリをLinuxやMac上で動かすためのWebサーバー。JavaでいうApache Tomcatのようなもの。
- mod_mono - xspをApacheモジュール化したもの。