eXpressApp Framework

advertisement
DevCon•12
// msdevcon.ru
23-24 мая, 2012 г.
Microsoft
#msdevcon
Как повысить эффективность разработки
корпоративных бизнес-приложений
c eXpressApp
Framework
Денис Гаравский
.NET Team, DevExpress
dennis@devexpress.com | @DennisGaravsky | www.devexpress.com
// DevCon•12
Перед тем как начать…
Developer Express из России??!
И что еще за XAF??????
#msdevcon
Developer Express – это …
Инструменты для разработчиков с 1998 г.
Визуальные компоненты
VCL, .NET
(Windows Forms, ASP.NET Web Forms,
ASP.NET MVC, WPF, Silverlight)
Различные виды редакторов, списков и таблиц,
графики и отчеты, календари и планировщики,
элементы навигации, меню и многое другое
Расширения IDE
CodeRush, !Refactor,
App Framework & ORM
eXpress Persistent Objects (XPO)
eXpressApp Framework (XAF)
Варианты разработки
корпоративных бизнес-приложений
Создание всего
программного обеспечения «с нуля»
Покупка и настройка
готового программного продукта
Что-то среднее
между ними
Создание всего
программного обеспечения «с нуля»
- Масса времени и $$$ на рутинные задачи,
тестирование и сопровождение
- Высокий уровень знаний разработчиков
+ Любая сложность под любые нужды клиента
+ Полный контроль за разработанным ПО
Покупка и настройка
готового программного продукта
- Масса времени и $$$ на изучение скриптов
настройки или использование консультантов
- Типовой пользовательский интерфейс, трудно
настраиваемый под нетиповые задачи
+ Нет проблем с качеством, так как готовые
продукты обычно уже протестированы
+ Скорее всего не придется программировать
Использование
eXpressApp Framework (XAF)
Разработка «с нуля»





XAF
Настройка готового ПО
Набор шаблонных решений популярных бизнес задач
Быстрый старт и низкий порог вхождения
Автоматическое создание Desktop и Web интерфейсов
Дает возможность сфокусироваться на бизнес логике
Не ограничивает и всегда позволяет «копнуть глубже»
Демонстрация
Создаем приложения для управления задачами
с eXpressApp Framework
А что-нибудь посложнее CRUD-форм?
Корпорация «Галактика» (http://galaktika.ru)
использует платформу XAFARI на базе XAF
для решений по управлению бюджетами,
активами, производством и персоналом
предприятия
Насколько XAF может быть эффективен?
е-библиотека (автор, книга, читатель) ≈ 0.5 часа
Outlook (контакты, задачи, календарь и др.) ≈ 1 час
CRM приложение (с отчетами) ≈ 1 день
Работа с XAF не требует обширных знаний
1 разработчик c XAF ~ N разработчиков без XAF
1 годовая лицензия XAF ≈ 1 месячная ЗП
Архитектура
Схема XAF приложения (MVC)
Распределенные XAF приложения (N-Tier)
Объектно-ориентированное
управление данными
Зрелый XPO ORM для доступа к данным и бизнес логики
Поддержка более чем 15ти популярных RDBMS
Стандартные и новые подходы для создания бизнес моделей:





Code-First
Database-First
Model-First
UI-First – одновременное построение бизнес моделей и
настройка экранов пользовательского интерфейса
Domain Components (DC) – технология, облегчающая создание
повторно используемых бизнес моделей
Поддержка Entity Framework с версии 12.1 (выходит в июне)
UI-First
Создаем бизнес модели
и настраиваем UI в одно и то же время!
Демонстрация
#msdevcon
Domain Components (DC) - принцип трех I
Interface vs Сlass
Легкое комбинирование за счет «множественного наследования»
Independence from ORM
Простое тестирование и сопровождение
Inversion of Control (IoC)
Бизнес логика добавляется через Dependency Injection
Компоновка в объекты выбранной ORM происходит runtime
Примеры
Domain Components
Интерфейс
IPerson
Интерфейс
IAccount
Интерфейс
ICompany
Класс
логики
IPerson
Класс
логики
IAccount
Класс
логики
ICompany
Производный
Domain Component
[DomainComponent]
interface ICRMCustomer : IAccount, ICompany,
INotes, IPhones, ... , ... {}
Динамическая мета модель
пользовательского интерфейса приложения




XAFML - это
аналог XAML
Позволяет
настроить UI
для двух платформ
Упрощает
развертывание благодаря
возможностям широкой настройки в runtime
Использование DC для расширения мета модели
Автоматическое создание
пользовательского интерфейса



Готовые Desktop и Web
клиенты с CRUD формами,
меню, навигацией и т.п.
на базе бизнес моделей
Представления бизнес
моделей и их полей
зависят от типа
UI автоматически
подстраивается под
любые изменения модели
Модульность
Разрабатывая с eXpressApp Framework,
вы «играете» в конструктор, где можно:
 Использовать модули «из коробки»
 Создавать свои собственные модули
 Настроить, расширить или заменить
любые запчасти модулей
 Создать модуль, использующий одну
базу кода для нескольких платформ!
Богатый
набор модулей «из коробки»








Создание и печать отчетов
Анализ и аудит данных
Система безопасности
Управление бизнес процессами
Контроль ввода данных
Форматирование данных
Локализация и многое другое
Также в наличии бесплатные 3rd-party модули
Хорошая интеграция
в среду разработки Visual Studio
Широкие возможности
настройки приложения в runtime






Настройка внешнего вида, команд, меню и навигации
Настройка расположения, контроля данных, правил
доступности, форматирования и полей на формах
Управление пользователями и правами доступа
Управление бизнес процессами
Создание отчетов для печати и анализа
Создание информационных досок и многое другое
Легкое
тестирования созданных приложений
TDD-friendly
за счет слабосвязанных функциональных блоков
Unit Test Runner
инструмент для централизованного запуска и управления тестами
Easy Test
инструмент для функционального тестирования приложений
Easy Test Script Recorder
создание теста на базе действий пользователя в приложении
КАК ПОВЫСИТЬ ЭФФЕКТИВНОСТЬ
РАЗРАБОТКИ КОРПОРАТИВНЫХ
БИЗНЕС-ПРИЛОЖЕНИЙ С
EXPRESS
:)
APP
FRAMEWORK
Вопросы
Жду вас в зоне «Спроси эксперта»!
Полезная информация
Сайт разработчика: www.devexpress.com
Страница XAF: http://bit.ly/3OMTR
XAF на Хабре: http://bit.ly/KyhdW3
Мой E-mail: dennis@devexpress.com
Ждем вас на стенде DevExpress
для дальнейшего общения и розыгрыша призов!
Пожалуйста
Оцените доклад и мастерство докладчика.
Форма для оценки находится в вашем инфопакете.
Download