5 неща, които трябва да знаем за ASP.NET MVC
Кoи са основните 5 неща, които трябва да знаем за ASP.NET MVC?
0. ASP.NET CORE използва .NET Core като framework.
Най-важното нещо, което трябва да знаете за ASP.NET Core е, че е изграден върху .NET Core, което означава, че имате възможността да разработвате и пускате ASP.NET приложения под други операционни системи като Mac или Linux. Това ни предоставя повече опции, когато се оглеждаме за сървър, тъй като .NET Core е независимо от "екосистемата" на Microsoft, възможност да имате тотален контрол над средата, в която ще разработвате или използвате вашето приложение. Все по-незначително става това обаче в наши дни, поради развитието на "облачните" технологии, като AWS, MS Azure и др., които ви позволяват да пускате различни операционни системи на теьките сървъри с неизмерима лекота.
1. .NET Core e по-лека в сравнение с .NET framework
Тук едва ли ще има изненада за разработчиците, които са запознати с .NET Core, който има по-малък footprint* поради факта, че е отделен от .NET Framework и е напълно самостоятелен. Като зависимостите от други парчета код (като динамични библиотеки - .dll) са сведени до минимум и отделени в модули, .NET Framework, който съдържа всичко. Всичко това води до подобряване на производителността на .NET Core в сравнение с Framework. За сравнение бенчмарк на ageofascent.com показва, че ASP.NET Core има 2300% по-добра производилност в сравнение с .NET Framework, като ASP.NET Core обслужва 1.15 милиона рикуеста в секунда докато ASP.NET 4.6 обслужва под 200 хиляди.
2. ASP.NET Core използва уеб архитектурата MVC по подразбиране.
Версията на ASP.NET, която е "зависима" от "екосистемата" на Microsoft използва две уеб архитектури като шаблони по подразбиране: Webforms и MVC. При ASP.NET Core обаче това вече не е така, тъй като Microsoft възнамеряват да се оттърват от Webforms в близко бъдеще (въпреки, че има слухове, че се опитват да добавят поддръжка на webforms за разработчици, които все още желаят да използват webforms за своя уеб архитектура).
Друго важно нещо, което трябва да се спомене в тази точка е, че Web API и MVC са вече комбинирани в едно, вместо да представляват две отделни структури. Така че всичко е по-добро, по-чисто и по-малко объркващо. Не са малко хората, които са започвали своята работа с ASP.NET MVC, чудейки се между двете и чудейки се защо Microsoft са решили да създадат друг шаблон за MVC (Web API), който структурно е копие на... Ами на MVC.
3. ASP.NET Core проектите поддържат npm(Node Package Manager)
Ако сте големи фенове или поне запознати с node.js**, тогава не забравяйте: Можете да използвате npm заедно с NuGet package manager и като цяло можете да използвате всеки един packet manager, който съответства на нуждите ви. Можете да използвате и направо npm (при ASP.NET MVC 5), но тогава ще трябва да конфигурирате проекта, така че да е в съответствие със структурата на node package manager-a. Трябва обаче да се отбележи и че npm е независим и се използва заедно с JavaScript рамки като Angular 4.
Това е едно от най-големите предимства на ASP.NET Core спрямо традиционния ASP.NET - чрез npm и използвайки JavaScript библиотеки софтуерните рамки никога не са били по-лесни за усвояване. От другата страна на барикадата е обаче вече споменатото трудно настройване на npm, което ще трябва да правите винаги, когато искате да накарате пакетите да работят безпроблемно при front-end. Ако обаче сте запознати с неща като gulp, grunt и webpack няма да ви е трудно да накарате npm да работи във ваша полза.
4. ASP.NET Core използва свои собствени Dependency Injection containers
Това е едно огромно облекчение, за хора които знаят, че настройването на IoC/DI контейнери като StructureMap, Ninject и Unity Container не е от най-приятните занимания, особено ако сте от този тип програмисти, които искат час по-скоро да пристъпят към писането на MVP. Не се изискват кой-знае колко настройки за да вкарате Dependency Injection във вашето repository и да започнете да ги прилагате върху съществуващите контролери.
Ако искате да научите повече за ASP.NET MVC, побързайте и научете повече за предстоящото практическо обучение "C# MVC Frameworks - ASP.NET Core - октомври 2017" с топ лектора Ивайло Кенов от ТУК!
Автор: Георги Кацаров
---
*Footprint - бук. "отпечатък от стъпка" - в IT сферата този термин се отнася за количеството памет, което една отделна програма или хардуер заемат.
**Node.js - това е мулти-платформена среда за изпълнение на сървърни и мрежови приложения с отворен код. Приложенията се пишат на JavaScript и могат да се изпълняват в Node.js среда под OS X, Microsoft Windows, Linux и IBM.