ASP.NET 5の抂芁







ASP.NET 1.0の最初の予備リリヌスはほが15幎前に発衚され、それ以来䜕癟䞇人もの開発者がそれを䜿甚しおさたざたなアプリケヌションを䜜成および実行し、長幎にわたっお膚倧な量のコヌドず機胜を远加したした。



私たちのチヌムが取り組んでいるASP.NET 5ず呌ばれる新しいASP.NETリリヌスに぀いおのニュヌスを曞いおいるので、私は今日非垞に興奮しおいたす。 このリリヌスの䞀郚ずしお、ASP.NETをよりコンパクトで、モゞュヌル匏で、クロスプラットフォヌムにし、クラりドホスティング向けにしおいたす。 ASP.NET 5 Previewは、最近利甚可胜になった最新のVisual Studio 2015 CTPでダりンロヌドできたす。



ASP.NET 5は、最新のWebアプリケヌションを䜜成し、Windows、Linux、およびMacで動䜜するように蚭蚈されたオヌプン゜ヌスのWebフレヌムワヌクです。 MVC 6フレヌムワヌクずWeb APIが含たれおいたす。 ASP.NET 5はSignalR 3の基盀にもなりたす。圓初、ASP.NET 5は.NET CoreCLRで実行するように蚭蚈されおいたすが、完党な.NET Frameworkでも実行できたす。



ASP.NET 5では、WebフレヌムワヌクのコアをよりコンパクトにSystem.Web.dllが䞍芁になった、モゞュラヌに珟圚はほずんどの機胜がNuGetパッケヌゞの圢匏で䜜成されおいるので、必芁なもの。 ASP.NET 5では、次の倉曎が行われたす。



そしお最終的な結果ずしお、ASP.NETはおなじみですが、Web開発の珟代の珟実にはるかによく適合したものになりたした。



柔軟なクロスプラットフォヌムランタむム



ASP.NET 5は2぀のランタむムで実行され、アプリケヌションをホストする堎所を遞択できたす。 ランタむムの遞択は次のずおりです。



.NET Coreは、たったく新しいクロスプラットフォヌムランタむムであり、重量はほずんどありたせん。 .NET Coreを遞択するず、たったく新しい利点を掻甚できたす。

1.NET Coreランタむムをアプリケヌションに盎接提䟛する暩利がありたす。これは、アプリケヌションがシステムにむンストヌルされおいるバヌゞョンではなく、アプリケヌションで動䜜するこずを意味したす。 rutimeバヌゞョンは、他のアプリケヌションをプルアップする他のバヌゞョンず䞊行しお動䜜したす。 これが他のアプリケヌションの動䜜に圱響を䞎えるこずを恐れるこずなく、ランタむムのバヌゞョンを新しいバヌゞョンにアップグレヌドできたす。 これにより、アプリケヌションずフレヌムワヌクの新しいバヌゞョンの展開がはるかに簡単になり、他のアプリケヌションの実行䞭に曎新できるようになりたす。

2アプリケヌションは、本圓に必芁な機胜のみに䟝存したす。 したがっお、アプリケヌションに関係のないサヌビスを曎新するように求められるこずはありたせん。 これにより、他のアプリケヌションに圱響を䞎えるこずなく、アプリケヌションをより迅速か぀簡単に展開できたす。

3アプリケヌションをクロスプラットフォヌムにできたす。 Windows、Linux、およびMac OS X甚のクロスプラットフォヌムバヌゞョンの.NET Coreを提䟛したす。開発甚に遞択したオペレヌティングシステム、および展開甚に遞択したオペレヌティングシステムに関係なく、どこでも.NETを䜿甚できたす。 クロスプラットフォヌムバヌゞョンのランタむムはただリリヌスされおいたせんが、積極的に取り組んでおり、すぐに公匏プレビュヌを公開するこずを玄束しおいたす。



.NET Framework-.NET Frameworkのフルバヌゞョンず比范するず、珟圚.NET Core APIははるかに制限されおいるため、アプリケヌションを.NET Coreで実行するには、おそらく倚くの倉曎を行う必芁がありたす。 アプリケヌションを曎新したくない堎合は、完党な.NET Frameworkバヌゞョン4.5.2以降䞊のASP.NET 5で実行できたす。 そうするこずで、.NET Framework APIの完党なセットを取埗し、アプリケヌションは倉曎なしで動䜜したす。



MVC 6は統合プログラミングモデルです。



MVC、Web API、およびWebペヌゞは远加機胜を提䟛し、倚くの堎合、゜リュヌション開発SLNで䞀緒に䜿甚されたす。 ただし、ASP.NETの以前のリリヌスでは、これらのフレヌムワヌクは個別に開発されたため、倧量の重耇ず矛盟が含たれおいたした。 MVC 6では、これらすべおのモデルを単䞀のプログラミングモデルに結合したした。 これで、これらのフレヌムワヌクの違いを「調敎」する必芁なく、Web UIずサヌビスの䞡方を含むWebアプリケヌションを䜜成できたす。 たた、シンプルなWebペヌゞアプリケヌションを最新の信頌性の高いMVCにシヌムレスに転送できたす。

同じコントロヌラヌから同じMVCフィルタヌパむプラむンを䜿甚しお、Razorビュヌデヌタを返すこずができるようになりたした。

既存のフレヌムワヌクを統合するこずに加えお、サヌバヌ開発を容易にする新しい機胜を远加しおいたす。 たずえば、タグヘルパヌ。 マヌクアップ内のタグのセマンティクスを単玔に拡匵するこずにより、ビュヌでHTMLヘルパヌを䜿甚できたす。

぀たり このように曞く代わりに

@Html.ValidationSummary(true, "", new { @class = "text-danger" }) <div class="form-group"> @Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label"}) <div class="col-md-10"> @Html.TextBoxFor(m => m.UserName, new { @class = "form-control" }) @Html.ValidationMessageFor(m => m.UserName, "", new { @class ="text-danger" }) </div> </div>
      
      





次のように蚘述したす。

 <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="UserName" class="col-md-2 control-label"></label> <div class="col-md-10"> <input asp-for="UserName" class="form-control" /> <span asp-validation-for="UserName" class="text-danger"></span> </div> </div>
      
      







タグヘルパヌは、プレれンテヌションをより「自然」で読みやすくしたす。 たた、HTMLヘルパヌ出力のカスタマむズを簡玠化したす。



MVC6アプリケヌションの他の䟋を衚瀺するには、リンクをご芧くださいチュヌトリアル



最新のWeb開発



今週、ASP.NET 5プレビュヌをリリヌスしたした。これには、ずりわけ、アプリケヌションを少し改善するための機胜が含たれおいたす。



ダむナミックな開発

Visual Studio 2015では、動的コンパむルを䜿甚したす。 倉曎を確認するために毎回アプリケヌションを再コンパむルする必芁はなくなりたした。 代わりに、1コヌドを倉曎し、2倉曎を保存し、3ブラりザヌを曎新し、4倉曎がアプリケヌションを自動的に曎新する方法を確認したす。









新しい開発経隓が埗られたす。これは、コンパむルされた蚀語で䜜業するよりもむンタヌプリタヌ蚀語で䜜業するように芋えたす。



他のコヌド゚ディタヌたずえば、Cプロゞェクトを操䜜するためのアドむンを備えたSublime Text 3を䜿甚しお、ASP.NET 5プロゞェクトを操䜜するこずもできたす。 Visual Studioのすべおの機胜は、コマンドラむンツヌルで芋぀けるこずができたすが、その間はクロスプラットフォヌムです぀たり、むンプレヌス線集はMac OS XずLinuxの䞡方で利甚できたす。



䞀般的なWeb開発ツヌルずの統合

将来のMS Visual Studio 2015のもう1぀の機胜は、人気のあるオヌプン゜ヌスプロゞェクトであるBower、Grunt、Gulpの組み蟌みサポヌトです。これは、各開発者にずっお䞍可欠なツヌルであるず考えおいたす。





Bower JavaScriptラむブラリをASP.NETプロゞェクトに远加するには、bower.json構成ファむルに盎接远加したす。











Visual Studioが利甚可胜なパッケヌゞのリストをIntelliSenseに提䟛するこずを忘れないでください。 次回゜リュヌションを開くず、Visual Studioは䞍足しおいるすべおのパッケヌゞを自動的に埩元するため、それらをすべおバヌゞョン管理システムに配眮する必芁はありたせん。



サヌバヌ偎のパッケヌゞの堎合、もちろんNuGetを䜿甚する必芁がありたす。



Grunt珟代のWeb開発では、アプリケヌションを構築するためだけに開発ずは異なる非垞に倚くのタスクに埓事しおいるこずに気付くこずができたすLESS、TypeScript、CoffeeScriptファむルの収集、JavaScriptの瞮小、ナニットJSテストの実行などなど...さらに、各チヌムには、プロゞェクトで䜿甚されるツヌルに基づいた独自の芁件セットがありたす。 タスクランナヌにより、これらのタスクの調敎ず管理が容易になりたすVisual Studioは、最も人気のある2぀のランナヌ、GruntずGulpをサポヌトしおいたす。



次に䟋を瀺したす。たずえば、LESSファむルを収集するにはGruntが必芁です。 次に、package.jsonを開いお、Gruntのサヌドパヌティプラグむンであるgrunt-contrib-lessパッケヌゞを远加する必芁がありたす。











Visual Studo 2015の新しいTask Runner Explorerマネヌゞャヌを䜿甚しお、タスクを特定のビルドステップビルド前、ビルド埌、クリヌン、たたはSLNファむルが開いおいるずきに割り圓おたす。











これにより、䞀般的なタスクの自動化が真にノンストップの操䜜になりたす。



簡玠化された䟝存関係管理

ASP.NET 5では、NuGetパッケヌゞを远加/削陀および曎新するこずで䟝存関係を管理したす。 NuGetパッケヌゞマネヌゞャヌを䜿甚するか、NuGetパッケヌゞのリストずプロゞェクトで䜿甚されおいるバヌゞョンのリストを含むJSONファむルproject.jsonを線集するだけです。 project.jsonファむルは簡単に操䜜でき、任意のファむル゚ディタヌで自然に線集できたす。これにより、アプリケヌションがクラりドで実行されおいるずきに䟝存関係を曎新できたす。

Project.jsonは次のようになりたす。











Visual Studio 2015では、IntelliSenseを䜿甚しお、䟝存関係ずしお远加できる利甚可胜なNuGetパッケヌゞを芋぀けるこずができたす。











IntelliSenceは、利甚可胜なバヌゞョンのリストも提䟛したす。









オヌプン゜ヌス



オヌプンGitHubリポゞトリでASP.NET 5を開発しおいたす。 コヌドを芋るこずができ、私たちたたはコミュニティによっお行われたすべおの倉曎を芋るこずができたす。 このコヌドをダりンロヌドしお倉曎し、プルリク゚ストを行うこずができたす。 ゜ヌスコヌドを開くこずで、補品内で䜕が起こっおいるのかを理解したり、すべおを把握したりしお、ASP.NETを自分で倉曎できるようになるず考えおいたす。









.NET内郚に぀いお詳しく知りたいですか





その埌、私たちの光に来おください 間もなく䞀連のCLRium2セミナヌがモスクワ4月3〜4日、゚カテリンブルグ5月17日、およびサンクトペテルブルク5月29〜30日で開催されたすオンラむン攟送が含たれたす。 .NETの将来に぀いお説明したす。新しいCoreCLR、ASP.NET 5、RyuJIT機胜、ハヌドコアRoslynの䟋、およびCoreFxの子孫の構造に぀いお説明したす。 興味深い有甚な知識の無限のストリヌムは、独自のCプログラムがどのように機胜するかをよりよく理解するだけでなく、プラットフォヌムのフルパワヌを䜿甚できる明るい.NETの未来に備えるこずにも圹立ちたす



クリりム



All Articles