- PVSM.RU - https://www.pvsm.ru -
С выходом Visual Studio 2013, ASP.NET MVC 5 и Entity Framework 6 возможности скаффолдинга встроенные в Visual Studio стали еще лучше. Однако до сих пор создавая новое веб-приложение приходится делать много действий, которые можно было бы автоматизировать.
Поэтому для себя и разработчиков с которыми я работаю был создан пакет X.Scaffolding позволяющий более продуктивно создавать веб-приложения. Именно на основе этого пакета у нас сейчас разрабатывается большинство новых веб-приложений для работы с данными.
Сегодня же я решил поделится этим проектом и с читателями Хабрахабра. Возможно кому-то он покажется интересным и поможет в его работе, а кто-то и сам захочет поучаствовать в его развитии.
Как известно, Visual Studio предоставляет огромное количество функций, которые позволяют автоматизировать рутинные операции и сосредоточится на основных задачах. Одной из таких удобных и достаточно востребованных функций является возможность генерации форм редактирования для сущностей базы данных. Появилась эта функция уже давно, но с релизом Visual Studio 2013 стала и интеграцией в базовый шаблон приложения фреймворка bootstrap стала на мой взгляд еще удобнее. Но как известно — пределу нет совершенства.
Одной из причин создания пакета стало то, что сейчас стандартные элементы управления создаваемые различными методами-расширениями на подобие EditorFor генерируют не полностью валидный код с точки зрения bootstrap-фреймворка. В следствии этого страницаы с редакторами отображаются не очень хорошо. Для того, что бы избежать ручной правки стилей также был разработан набор собственных методов-расширений.
Кроме того, не все типы данных сейчас поддерживаются стандартными расширениями. Например сейчас во многих моих проектах очень часто используются возможности пакета для создания HTML-редактора, календаря и предпросмотра видео.
Ключевую роль в библиотеке играет класс Extensions, содержащий методы-расширений для HtmlHelper):
Для того, чтобы обеспечить корректную работу всех расширений в пакет были добавлены некоторые файлы добавляющие файлы в структуру веб-приложения и некоторые зависимости. Рассмотрим их подробнее.
После установки NuGet-пакета X.Scaffolding в Ваше веб-приложение добавятся такие элементы как:
Кроме файлов добавляемым непосредственно пакетом X.Scaffolding в проект также добавляются некоторые другие пакеты и связанные с ними файлы. Рассмотрим их более детально.
Все желающие могут как ознакомится с исходным кодом библиотеки, так и расширить ее возможности.
Исходные коды проекта доступны на GitHub [16].
Установить пакет можно из репозитория NuGet [17]: Install-Package xscaffolding
Впрочем, исходные коды библиотеки сейчас находятся открытом доступе. И кроме того, если будет достаточный интерес к библиотеке — я планирую создать пакет X.Scaffolding.Core, в котором не будет привязки к вышеупомянутым пакетам и будет отсутствовать favicon.
Автор: Ernado
Источник [18]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/asp-net-mvc/47418
Ссылки в тексте:
[1] Modern UI: http://en.wikipedia.org/wiki/Modern_UI_(design_language)
[2] шаблона: http://bootsnipp.com/snippets/featured/google-style-login
[3] X.CKEditor : https://www.nuget.org/packages/xckeditor/
[4] chosen.jquery: https://www.nuget.org/packages/chosen.jquery/
[5] статье: http://habrahabr.ru/post/124899/
[6] alizar: http://habrahabr.ru/users/alizar/
[7] Bootstrap Datepicker: https://www.nuget.org/packages/Bootstrap.Datepicker/
[8] Microsoft ASP.NET MVC 5: https://www.nuget.org/packages/Microsoft.AspNet.Mvc/
[9] EntityFramework 6: https://www.nuget.org/packages/EntityFramework/
[10] Windows Azure Storage: https://www.nuget.org/packages/WindowsAzure.Storage/
[11] Bootstrap 3: https://www.nuget.org/packages/bootstrap/
[12] PagedList.Mvc: https://www.nuget.org/packages/PagedList.Mvc/
[13] Microsoft jQuery Unobtrusive Validation: https://www.nuget.org/packages/Microsoft.jQuery.Unobtrusive.Validation/
[14] статье: http://habrahabr.ru/post/181758/
[15] Juty: http://habrahabr.ru/users/juty/
[16] GitHub: https://github.com/ernado-x/X.Scaffolding
[17] NuGet: https://www.nuget.org/packages/xscaffolding/
[18] Источник: http://habrahabr.ru/post/200692/
Нажмите здесь для печати.