среда, 9 ноября 2011 г.

Microsoft LightSwitch - альтернативный путь создания бизнес приложений

У каждого программиста есть детские мечты о тех программах, которые он мог бы написать, если у него было бы время. В детских мечтаниях программиста реализация таких программ быстра и скоротечна. Я не исключение, я тоже хотел бы написать пару тройку программ, которых мне очень не хватает. Например, я бы с удовольствием реализовал программу по учету личных финансов, программу для учета времени, программу для работы с коллекцией  музыки. И вроде бы у меня бывает шанс осуществить мечту, сам программист, иногда есть свободное время, и вот я собираюсь приступить к материализации слонов, но накатывает некоторая сонливость, когда я задумываюсь о том, что нужно писать однообразный код по получению и отображению данных. Желание пропадает со скоростью звука.
Гораздо хуже, когда такие желания возникают у вашего босса. А ведь боссам постоянно приходят умные  и революционные идеи в голову. “Эй, а давай реализуем приложение учета наших сотрудников это же быстро, буквально 15 минут и готово”.
Очень трудно объяснить, почему это не 15 минут. А ведь очень часто такие приложения нужны ещё на вчера. “Как ты ещё не сделал? А ведь это нужно ещё вчера”. Естественно в такой ситуации любой босс трансформируется в объект, встреча с которым крайне нежелательна :)

Боссы и клиенты бывают разные, но регулярно, когда им нужно какое-то приложение, они не понимают какие сложности в том, чтобы реализовать нечто быстро. У меня был клиент, который недоумевал “Ну что сложного переведи мне приложение для Windows Forms, которое ты создавал месяц, за два дня на PHP платформу. Что сложного? Там ведь всего данные и экраны по работе с данными”.

Бывают ситуации, когда  в процессе разработки  вектор действия меняется на 180 градусов. Типичный диалог:
Босс: “Нам нужно приложение по работе с десктопом”
Исполнитель думает: “OK мой босс знает, что такое десктоп. Делаем”
Через 2 месяца…
Босс: ”А почему я не могу работать с приложением из браузера, у нас нет веб-версии?”
Исполнитель думает: “О боже ему кто-то сказал о вебе”
Через 3 месяца…
Босс: ”Я всё больше задумываюсь об облаках, у нас, что приложение не работает с облаками?”
Исполнитель думает: ”Да, это провал”

Зачастую трудно объяснить, почему наша программа не является многофункциональным кухонным комбайном, который умеет делать всё и везде, самое главное нажать на правильную кнопку :)

Что же делать? Может уйти в газонокосильщики или уборщики бассейнов?


Обсуждаемые нами приложения (учет финансов, времени, клиентов и т.д.) являются типичными бизнес приложениями. Они строятся на данных и на отображение этих данных с помощью UI(экранов). Эта комбинация  и является обычным бизнес-приложением.

Любой разработчик таких бизнес приложения имеет набор скрытых тайных желаний.
Типичный набор желаний разработчика:
  1. Упрощенная разработка
  2. Автоматическое получение и запись данных
  3. Быстрая разработка приложений, за счет встроенных шаблонов стандартных действий
  4. Гибкость приложения. Если босс говорит "Хочу веб значит в веб, хочу в облако, значит в облако"
Visual Studio LightSwitch 2011 –  продукт, который позволяет вести такую упрощенную разработку.

Программирование под этот продукт осуществляется на языках программирования C# или VB.NET.
LightSwitch позволяет программисту создавать свои таблицы, соединять их связями, писать запросы, выполнять всевозможные операции по работе с данными. Также у программиста есть возможность подключиться к внешним источникам данных, таким как внешняя база данных, SharePoint, WCF сервис.




LightSwitch предоставляет программисту набор стандартных окон для работы с данными. Окно для отображения всех записей с детальным показом одной записи, окно с гридом, окно списка, окно ввода данных, окно для поиска данных.

В LightSwitch изначально встроены типичные возможности, которые необходимы для работы с данными: бизнес-типы данных, проверка данных, страничное разбиение, сортировка, фильтрация данных, уровень контроля доступа, нотификации, автоматическое экспортирование в Excel.
Естественно задачи, работающие с данными не уникальны. Именно поэтому есть готовый набор шаблонов доступных для скачивания на основании, которых можно строить свои приложения.


 После установки конкретного шаблона, он появляется в списке проектов.



Страничка с готовыми шаблонами доступна по ссылке.
Любое решение, не имеющее поддержки, часто бесславно заканчивает свои дни в  в забытьи. LightSwitch построен как конструктор, к нему можно добавлять дополнительную функциональность. Это дополнительная функциональность называется extensions, уже сейчас различные фирмы производители выпустили свои компоненты для LightSwitch. Если у вас есть желание, вы можете разработать собственные компоненты с помощью Visual Studio.


Страничка с готовыми расширениями доступна по ссылке.
Приложение разработанное с помощью LightSwitch может быть просто адаптировано для рабочего стола, веба, или облака.
В следующей статье я покажу как создать простое приложение с использованием LightSwitch.

Полезные ресурсы:
Visual Studio LightSwitch Training Kit:
http://www.microsoft.com/download/en/details.aspx?id=23746

Комментариев нет:

Отправить комментарий