Nate Barbettiniによる
Copyright©2018。AllRights Reserved。
ISBN:978-1-387-75615-5
Creative Commons Attribution 4.0ライセンスの下でリリースされました。この本をあらゆる形式で共有、コピー、再配布するか、あらゆる目的で(商業的に)リミックスして変換することができます。適切なクレジットを提供し、ライセンスへのリンクを提供する必要があります。
詳細については、https://creativecommons.org/licenses/by/4.0/をご覧ください。
Little Asp.Netコアブックを拾ってくれてありがとう!私はこの短い本を書き、開発者やWebプログラミングに興味のある人々が、WebアプリケーションとAPIを構築するためのフレームワークであるASP.NET Core 2.0について学ぶのを支援しました。
Little Asp.Netコアブックは、チュートリアルとして構成されています。最初から最後までアプリケーションを作成して学習します。
心配しないでください、あなたは始めるためにASP.NETコア(または上記のいずれか)について何も知る必要はありません。
構築するアプリケーションの完成バージョンのコードは、GitHubで入手できます。
https://www.github.com/nbarbettini/little-aspnetcore-todo
完成品を見たい場合は、自由にダウンロードしてください。または、独自のコードを書いているときに比較してください。
本自体は、バグ修正と新しいコンテンツで頻繁に更新されます。 PDF、電子書籍、または印刷版を読んでいる場合は、公式Webサイト(littleasp.net/book)をチェックして、更新されたバージョンが利用可能かどうかを確認してください。この本の最後のページには、バージョン情報とChangelogが含まれています。
いくつかの素晴らしい多言語貢献者のおかげで、リトルASP.NETコアブックは他の言語に翻訳されています。
ASP.NET Core ElKitabı (トルコ語)
简明asp.netコア手册(中国語)
プログラミングを初めて使用する場合は、この本では、最新のWebアプリケーションの構築に使用されるパターンと概念を紹介します。ゼロから何かを構築することで、Webアプリを構築する方法(および大きなピースがどのように適合するか)を学びます!この小さな本は、プログラミングについて知る必要があるすべてを完全にカバーすることはできませんが、より高度なトピックを学ぶことができるように出発点が得られます。
Node、Python、Ruby、Go、Javaなどのバックエンド言語ですでにコードする場合、MVC、ビューテンプレート、依存関係の注入などの多くの馴染みのあるアイデアが気付くでしょう。コードはC#になりますが、すでに知っていることとはあまり違いはありません。
あなたがASP.NET MVC開発者なら、あなたは家にいると感じるでしょう! ASP.NET Coreは、いくつかの新しいツールと再利用(およびあなたがすでに知っていることを追加)します。以下の違いのいくつかを指摘します。
Webプログラミングでの以前の経験が何であれ、この本は、ASP.NET Coreでシンプルで便利なWebアプリケーションを作成するために必要なすべてを教えます。バックエンドとフロントエンドコードを使用して機能を構築する方法、データベースと対話する方法、およびアプリを世界に展開する方法を学びます。
ASP.NET Coreは、MicrosoftがWebアプリケーション、API、およびマイクロサービスを構築するために作成したWebフレームワークです。 MVC(Model-View-Controller)、依存関係インジェクション、ミドルウェアで構成されるリクエストパイプラインなどの一般的なパターンを使用します。 Apache 2.0ライセンスの下でオープンソースです。つまり、ソースコードは自由に利用可能であり、コミュニティはバグの修正と新機能を提供することをお勧めします。
ASP.NET Coreは、Java Virtual Machine(JVM)またはRubyインタープリターと同様に、Microsoftの.NETランタイムの上で実行されます。 ASP.NETコアアプリケーションを多くの言語(C#、Visual Basic、F#)で記述できます。 C#は最も人気のある選択肢であり、この本で使用するものです。 Windows、Mac、およびLinuxでASP.NETコアアプリケーションを構築および実行できます。
ノード/エクスプレス、スプリング、Ruby on Rails、Django、Laravelなど、すでに選択できる素晴らしいWebフレームワークがたくさんあります。 ASP.NETコアにはどのような利点がありますか?
スピード。 ASP.NETコアは高速です。 .NETコードがコンパイルされるため、JavaScriptやRubyなどの解釈言語でコードよりもはるかに高速に実行されます。 ASP.NETコアは、マルチスレッドおよび非同期タスクにも最適化されています。 node.jsで記述されたコードよりも5〜10倍の速度改善が見られるのが一般的です。
生態系。 ASP.NETコアは新品かもしれませんが、.NETは長い間存在しています。 NUGET(.NETパッケージマネージャー、NPM、Ruby Gems、またはMavenを考える)には何千ものパッケージがあります。 JSONの降下、データベースコネクタ、PDF生成、またはあなたが考えることができるほぼすべてのパッケージがすでに利用可能です。
安全。 Microsoftのチームはセキュリティを真剣に受け止めており、ASP.NET Coreはゼロから安全になるように構築されています。入力データの消毒やクロスサイトリクエストフォーファリー(CSRF)攻撃の防止などを処理するため、必要はありません。また、.NETコンパイラを使用した静的タイピングの利点も得られます。これは、常に非常に妄想的なリナーをオンにしているようなものです。これにより、データの変数やチャンクで意図していないことをするのが難しくなります。
この本を通して、ASP.NET Core(Web Framework)について学びます。 .NETコードを実行するサポートライブラリである.NETランタイムの.NETランタイムについて、たまに言及します。これがすでにギリシャ語のように聞こえる場合は、次の章にスキップしてください!
.NET Coreおよび.Net標準についても聞くことができます。命名が混乱するので、簡単な説明があります。
.NET標準は、機能とAPIを定義するプラットフォームに依存しないインターフェイスです。 .NET標準は、API定義のみである実際のコードや機能を表していないことに注意することが重要です。さまざまな「バージョン」または.NET標準には、利用可能なAPIの数(またはAPI表面積がどれだけ広いか)を反映した.NET標準のレベルがあります。たとえば、.NET標準2.0には、.NET標準1.5よりも多くのAPIが利用可能です。これには、.NET標準1.0よりもAPIが多くあります。
.NET Coreは、Windows、Mac、またはLinuxにインストールできる.NETランタイムです。各オペレーティングシステムの適切なプラットフォーム固有のコードを使用して、.NET標準インターフェイスで定義されているAPIを実装します。これは、自分のマシンにインストールして、ASP.NETコアアプリケーションを構築および実行するものです。
そして、適切な尺度のために、 .NETフレームワークは、 Windowsのみの.NET標準の異なる実装です。これは、.NET Coreが登場して.NETをMacとLinuxに持ち込むまで、唯一の.NETランタイムでした。 ASP.NETコアは、Windowsのみの.NETフレームワークでも実行できますが、これについてはあまり触れません。
あなたがこのすべての命名に混乱しているなら、心配はありません!少しのコードを少し説明します。
ASP.NETの以前のバージョンを使用していない場合は、次の章に進みます。
ASP.NET Coreは、ASP.NETの完全なグラウンドアップレワイトであり、フレームワークの近代化と最終的にSystem.Web、IIS、およびWindowsから切り離すことに重点を置いています。 ASP.NET 4のすべてのOwin/Katanaのものを覚えている場合、あなたはすでに途中でそこにいます。KatanaプロジェクトはASP.NET 5になりました。
カタナの遺産のため、 Startupクラスは正面と中心であり、 Application_StartまたはGlobal.asaxはもうありません。パイプライン全体はミドルウェアによって駆動され、MVCとWeb APIの間に分割されなくなりました。コントローラーはビュー、ステータスコード、またはデータを単純に返すことができます。依存関係の注入が焼かれているため、不要な場合はstructuremapやninjectなどのコンテナをインストールして構成する必要はありません。また、フレームワーク全体が速度とランタイム効率のために最適化されています。
さて、十分な紹介。 ASP.NET Coreに飛び込みましょう!