Въведение в Visual Studio LightSwitch 2011
Ексклузивни IT новини, рецензии и интервюта
Visual Studio LightSwitch 2011: Въведение. Част 2
Продължаваме предишното си запознанство с Visual Studio LightSwitch. Но преди да започнем по-нататъшното ни гмуркане в спецификата и философията на този продукт, нека се спра накратко на теорията, необходима за това.
Model-view-controller (MVC) вече е стандартен шаблон за използване на модел на проектиране, чрез който моделът на данни на приложението, неговият потребителски интерфейс и взаимодействието с потребителя са функционално разделени на три отделни подсистеми, така че по-нататъшната модификация или всякаква настройка на една от тези подсистеми има в най-лошия случай минимално въздействие върху останалите (и в най-добрия и идеален случай изобщо не ги засяга). Тази схема се използва почти универсално за изграждане на архитектурната и структурна рамка на почти всяко съвременно приложение.
Добре, завършвайки с това сложно определение за начинаещ, подчертавам още веднъж: всяко приложение LightSwitch се създава автоматично според тази класическа схема на три нива:
- Представителният слойе отговорен за взаимодействието с потребителите, основната му задача е да визуализира данни във формуляр или страница, да ги редактира, интерфейс от външния свят към всички публични функции на вашето приложение.
- Логическото нивополучава (като правило от нивото на представяне) заявки от клиента, обработва ги по някакъв начин, като същевременно изпълнява всички необходими вътрешни операции, свързани с изпълнението на логиката на приложението - това е мозъчният тръст, "мислителят на програмата".
- Слоят с данниотговаря за съхраняването на абстрактните данни на приложението.пасивна памет на вашата програма.
Нека да разгледаме картинната графика по-долу, която добре обобщава това мое доста сухо описание:
Добре, сега нека започнем от това, което вече научихме и добавим технически подробности, за да конкретизираме всичко казано.Презентационният слойе реализиран с помощта на Silverlight 4.0 и представлява външния вид на приложението. Няма значение дали е десктоп приложение или е специално създадено за браузъра,Silverlight4.0 ще се използва като основа за всички графични функции.
Тук има някои подробности, от разнообразието на които ще спомена само, че приложението LightSwitch за Windows се конфигурира и стартира с повишени привилегии от специалния процесsllauncher.exe(осигурява директен достъп до редица услуги на Windows, например възможност за взаимодействие с компоненти наMicrosoft Office). Когато се изпълнява в браузър, такова приложение теоретично може да работи във всеки браузър и на всяка операционна система, където е инсталиран плъгинътSilverlight4.0, но с редица ограничения.
След товалогическият слойе базиран на WCF RIA DomainServices, изпълняващASP.NET 4.0. В същото време вие сами сте свободни да изберете къде ще бъдат физически разположени:
- локално;
- На специален сървърИнтернет информационни услуги(IIS);
- Или ще бъде облачен екземпляр наWindows Azure.
В същияпрезентационен слойима няколко начина за достъп до хранилището на данни (обсъдени малко по-долу на свой ред), от които бих откроил само два тук: „сериозен и универсален начин“ - ADO.NET Entity Framework, а също и частично „офис протокол“ - OData(базиран на REST, Atom/XML и JSON, между другото).
И накрая, третата стъпка в нашия строго поетапен стил на разглеждане енивото на данните. Тук има много опции (всичко зависи от това дали вие лично имате доставчик за всяка конкретна база данни), но отново бих отделил двата най-вероятни и органични метода за решение от Microsoft - това е по-традиционен сървър на база данниSQL Serverили неговия облачен аналог -Microsoft SQL Azure.
За да сведем целия този набор от думи до удобна „обща сума“, нека отново да разгледаме компактната диаграма по-долу:
За да обобщим тази точка, можете да използватеVisual Studio LightSwitchза създаване на двуслойни или трислойни настолни приложения, както и трислойни уеб приложения. Начинът, по който разгръщате такова приложение (diploy), зависи изцяло от избрания от вас тип клиент и топологията на сървъра.
Има три основни случая на използване наLightSwitch:
- Изграждане на приложения в Visual Studio LightSwitch;
- Допълнително усъвършенстване на приложението, създадено с помощта на LightSwitch в Visual Studio Professional;
- Разширете приложенията, създадени с LightSwitch, с компоненти и мрежови услуги на трети страни в Visual Studio Professional.
Видове полета, близки до живота
Ние персонализираме формата директно в движение
LightSwitchима способността да персонализира формуляри (прозорци на създадени приложения) точно в момента на изпълнение на приложението (което означава в средата за разработка). Във всяко такова работещо приложение в горния ляв ъгъл се появява следната икона с надпис "Персонализиране на екрана":
Генератор на интерфейсна форма, а не дизайнер
Втората интересна разлика по отношение на дизайна на формуляри е, че няма визуален дизайнер на формуляри, поне не по начина, по който го прави традиционното Visual Studio.
Примери за добавяне на елементи
В допълнение към бутона в моя случай, за това все още трябва да напишете малко минимално парче код, ето пример за него:
В резултат на това, след като преминах през поредица от настройка на всички полета на формуляра, последователно добавяне на бутониДобавяне(Нов автор) иЗапазване(Запазване на автор), завърших с нещо като този формуляр:
Компилация. публикация на проекта
След това трябва да изберете къде ще се хоства бекендът на вашето приложение и накрая да изберете типа база данни, която ще съхранява информацията (след което данните, натрупани по време на разработката на приложението, ще бъдат незабавно експортирани там). Екранните снимки по-долу показват някои от тези стъпки (имайте предвид, че са налични обширни настройки за сигурност и достъп, както и други важни опции, които не бяха разгледани от мен в това много общо описание).
Моля, разберете ме правилно: в тази повърхностна скица на цикъла на създаване на приложение LightSwitch не си поставих задачата да науча читателя на нещо, защото в толкова малко количество текст това е просто невъзможно; но обмисляше само да даде бърза представа за типичните дизайнерски характеристики вLightSwitch.
SQL или LINQ? Нито едното, нито другото!
Нека поясня: много хора знаят SQL, но той не е тук; LINQ има определени предимства, не споря, но LINQ не е най-подходящата технология за начинаещ, така че беше взето решение да се направи нещонещо като графично-визуален колектор на LINQ заявки -Дизайнер на заявки. Лично за мен би било страхотно, ако беше допълнително възможно да се покаже (и по някакъв начин да се редактира) получената крайна заявка/низ за връзка (било то във формат SQL или LINQ), но това не е тук, за съжаление.
За кого е написан LightSwitch?
В рамките на горното твърдение, позволете ми да развия предишната точка до нейния логичен завършек. И така, тук няма нито SQL, нито LINQ, така че какво има? Предполага се, че подобен визуализиран подход към лимита ще направи разработката на сериозни приложения по-достъпна и по-лесна за непрофесионалист. Да видим какво се случва в реалния живот. Взех базата данни като пример, въпреки че има подобни противоречия другаде в тази система за проектиране.
От една страна, имаме много достъпни и очевидни типове данни тук (както ги описах по-горе), от друга страна, когато се изграждат връзки в рамките на една и съща база данни с помощта наКонструктор на връзки, е необходимо много добро разбиране на основните основи на релационните бази данни
Вижте екранната снимка по-долу: тук трябва да изберем връзка много към много между всички останали опции и по пътя да настроимкаскадно изтриванеза всички екземпляри.
И това кара човек наистина да си зададе въпроса: кой е истинският клиент на тази среда за разработка, каква е нейната ниша и обхват?
Като противовес, все пак искам да похваляLightSwitchза това, че направи продукта възможно най-ясен в рамките на текущата GUI парадигма. Например, по-долу е друг пример за екранна снимка за създаване на релации между таблици за илюстрация:
ПриLightSwitchе най-ниската цена от цялото семейство продукти на Visual Studio и няма планирана безплатна версия.
Заключение: гъвкавост извън кутията
Приложенията, създадени подLightSwitch, имат вградена поддръжка за облачни технологии по подразбиране, т.е. теоретично те трябва да се мащабират много, много широко за този клас аматьорски продукти. Можете също така винаги да превърнете вашето настолно приложение в уеб приложение с минимални усилия, като го разширите допълнително с инфраструктурата, която отговаря на вашите нужди. Огромен брой типични шаблони за приложения за всички случаи, създаване на ваши собствени приложения, въз основа на които е напълно просто, възможност за създаване на GUI с всякаква сложност и красота, всеядни по отношение на среди и технологии.
Файл ApplicationDefinition.lsml, описващ, в автоматично генериран XAML, графичното маркиране на приложениетоТук стандартниятмодул за управление на потребителите(CRUD) вече е напълно внедрен и много, много повече, което, уви, не може да бъде разгледано в рамките на толкова ограничена статия. Опитах се да разгледам избирателно само отделни характеристики и предимства на тази среда, като честно се докоснах до недостатъците, както и да очертая действителния обхват наMS LightSwitch, след като се опитах да представя целевия контекст за този вид развитие.