Нейт Барбеттини
Copyright © 2018. Все права защищены.
ISBN: 978-1-387-75615-5
Выпущено по лицензии Creative Commons Attribution 4.0. Вы можете делиться, копировать и перераспределять эту книгу в любом формате или ремикса и преобразовать ее для любой цели (даже коммерчески). Вы должны предоставить соответствующий кредит и предоставить ссылку на лицензию.
Для получения дополнительной информации посетите https://creativecommons.org/licenses/by/4.0/
Спасибо, что взяли маленькую основную книгу ASP.NET! Я написал эту короткую книгу, чтобы помочь разработчикам и людям, заинтересованным в веб -программировании, узнать о ASP.NET Core 2.0, основании для создания веб -приложений и API.
Маленькая основная книга ASP.NET структурирована как учебник. Вы создадите приложение от начала до конца и узнаете:
Не волнуйтесь, вам не нужно ничего знать о ядре ASP.NET (или о любом из вышеперечисленного), чтобы начать работу.
Код для готовой версии приложения, которую вы создаете, доступен на GitHub:
https://www.github.com/nbarbettini/little-aspnetcore-todo
Не стесняйтесь скачать его, если хотите увидеть готовый продукт, или сравните по мере написания собственного кода.
Сама книга часто обновляется с помощью исправлений ошибок и нового контента. Если вы читаете PDF, электронную книгу или печатную версию, проверьте официальный веб-сайт (littleasp.net/book), чтобы увидеть, есть ли обновленная версия. Самая последняя страница книги содержит информацию о версии и изменение изменений.
Благодаря фантастическим многоязычным участникам, основная книга ASP.NET была переведена на другие языки:
ASP.NET CORE EL KITABı (Turkish)
简明 Asp.net Core 手册(китайский)
Если вы новичок в программировании, эта книга познакомит вас с шаблонами и концепциями, используемыми для создания современных веб -приложений. Вы узнаете, как создать веб -приложение (и как соединяются большие вещи), создав что -то с нуля! Хотя эта маленькая книга не сможет охватить абсолютно все, что вам нужно знать о программировании, она даст вам отправную точку, чтобы вы могли выучить более продвинутые темы.
Если вы уже кодируете на бэкэнд -языке, такой как узел, Python, Ruby, Go или Java, вы заметите множество знакомых идей, таких как MVC, шаблоны просмотра и инъекция зависимости. Код будет в C#, но он не будет выглядеть слишком отличным от того, что вы уже знаете.
Если вы разработчик ASP.NET MVC, вы чувствуете себя как дома! ASP.NET Core добавляет несколько новых инструментов и повторно использует (и упрощает) то, что вы уже знаете. Я укажу на некоторые различия ниже.
Независимо от того, какой у вас предыдущий опыт работы с веб -программированием, эта книга научит вас всему, что вам нужно для создания простого и полезного веб -приложения в Core ASP.NET. Вы узнаете, как создавать функциональность, используя Backend и Frontend Code, как взаимодействовать с базой данных и как развернуть приложение в мир.
ASP.NET Core - это веб -структура, созданная Microsoft для создания веб -приложений, API и микросервисов. Он использует общие паттерны, такие как MVC (модель-контроллер), впрыск зависимостей и конвейер запроса, состоящий из промежуточного программного обеспечения. Он находится в лицензии Apache 2.0, что означает, что исходный код свободно доступен, и сообществу рекомендуется вносить исправления ошибок и новые функции.
ASP.NET Core работает над средой выполнения Microsoft .NET, аналогично виртуальной машине Java (JVM) или интерпретатору Ruby. Вы можете написать основные приложения ASP.NET на нескольких языках (C#, Visual Basic, F#). C# - самый популярный выбор, и это то, что я буду использовать в этой книге. Вы можете создавать и запустить приложения ASP.NET Core в Windows, Mac и Linux.
Уже есть много отличных веб -структур на выбор: Node/Express, Spring, Ruby on Rails, Django, Laravel и многих других. Какие преимущества имеет ASP.NET Core?
Скорость. Asp.net Core быстро. Поскольку код .NET составлен, он выполняет гораздо быстрее, чем код в интерпретируемых языках, таких как JavaScript или Ruby. Core ASP.NET также оптимизирован для многопоточности и асинхронных задач. Обычно можно увидеть улучшение скорости в 5-10x по сравнению с кодом, написанным в node.js.
Экосистема. Core Asp.net может быть новым, но .net существует уже давно. На Nuget доступны тысячи пакетов (менеджер пакетов .NET; подумайте о NPM, Ruby Gems или Maven). Уже есть пакеты, доступные для Deserialization, разъемов базы данных, поколения PDF или почти всего, о чем вы можете подумать.
Безопасность. Команда в Microsoft серьезно относится к безопасности, и Asp.net Core создана, чтобы быть безопасным с нуля. Он обрабатывает такие вещи, как дезинфицирующая входные данные и предотвращение атак подделки по перекрестному запросу (CSRF), поэтому вам не нужно. Вы также получаете выгоду от статического набора типирования с помощью компилятора .NET, который все равно, что все время включается очень параноидальный линтер. Это затрудняет делать то, что вы не собирались с переменной или кусочком данных.
На протяжении всей этой книги вы узнаете о Asp.net Core (веб -структура). Время от времени я упоминаю среду выполнения .NET, библиотеку поддержки, которая запускает код .NET. Если это уже звучит как греческое для вас, просто перейдите к следующей главе!
Вы также можете услышать о стандарте .NET CORE и .NET. Наименование становится запутанным, так что вот простое объяснение:
Стандарт .NET -это платформа-агрессивный интерфейс, который определяет функции и API. Важно отметить, что стандарт .net не представляет какого -либо фактического кода или функциональности, только определение API. Существуют разные «версии» или уровни стандарта .NET, которые отражают, сколько API доступно (или насколько широкая площадь поверхности API). Например, .net Standard 2.0 имеет больше доступных API, чем .NET Standard 1.5, который имеет больше API, чем .net Standard 1.0.
.NET CORE - это время выполнения .NET, которое может быть установлено на Windows, Mac или Linux. Он реализует API, определенные в стандартном интерфейсе .NET с соответствующим кодом для конкретной платформы в каждой операционной системе. Это то, что вы установите на собственной машине для создания и запуска основных приложений ASP.NET.
И просто для хорошей меры .NET Framework -это другая реализация стандарта .NET, который только Windows. Это было единственное время выполнения .NET до тех пор, пока не появилось .NET Core и принесла .NET на Mac и Linux. ASP.NET Core также может работать в Framework только для Windows, но я не буду слишком много касаться этого.
Если вы смущены всем этим именованием, не беспокойтесь! Мы немного доберемся до настоящего кода.
Если вы не использовали предыдущую версию ASP.NET, перейдите к следующей главе.
ASP.NET Core-это полная переписывание ASP.NET, с акцентом на модернизацию структуры и, наконец, отделка от System.Web, IIS и Windows. Если вы помните все материалы Owin/Katana от ASP.NET 4, вы уже на полпути: проект Katana стал ASP.NET 5, который в конечном итоге был переименован в Core ASP.NET.
Из -за наследия Катана класс Startup является передним и центром, и больше нет Application_Start или Global.asax . Весь трубопровод управляется промежуточным программным обеспечением, и между MVC и Web API больше нет разделения: контроллеры могут просто возвращать представления, коды состояния или данные. Внедрение зависимости запекается, поэтому вам не нужно устанавливать и настраивать контейнер, такой как structureMap или Ninject, если вы этого не хотите. И вся структура была оптимизирована для скорости и эффективности выполнения.
Хорошо, достаточно введения. Давайте погрузимся в ASP.net Core!