• Динамическое создание Windows и Web CRUD-интерфейсов и не только для бизнес приложений с XAF + Entity Framework. Часть 1

      У нас есть старенькое веб приложение DXLibrary для учета литературы и поиска интересных пополнений в местной библиотеке, написанное много лет назад за пару часов одним из разработчиков на DevExpress eXpressApp Framework (XAF). Данные приложения хранятся в Microsoft SQL Server, а работа с ними ведётся через DevExpress eXpress Persistent Objects ORM (XPO). Так как сие чудо до сих пор сносно выполняет свои незаурядные функции, мне захотелось немного освежить его интерфейс под текущие реалии. Помимо украшательства хочется сменить XPO под капотом на Microsoft ADO.NET Entity Framework (EF).image Основным мотивом тут для меня является не то, что EF чем-то лучше или хуже (обе ORM давно доказали, что отлично подходят для своих задач), а то, что до сих пор на Хабре не было русскоязычного руководства по интеграции XAF и EF, хотя они уже «не первый год замужем». Есть огромное желание восполнить этот пробел + элементарно хочется реализовать несколько недавних запросов от пользователей «библиотекаря». Наконец, с версии 15.1 XAF предоставляет обновлённый веб интерфейс, адаптированный в том числе для touch-устройств, который хотелось бы лишний раз показать сообществу, что греха таить:-)

      Это первая и вводная часть из серии постов, где я попытаюсь показать по шагам вариант ускоренной генерации как веб, так и настольных line-of-business (LOB) приложений по существующей базе данных (БД) либо готовой модели EF, представляющей структуру вышеописанной предметной области. Пользовательский интерфейс будет создаваться автоматически на базе микса технологий ASP.NET WebForms/HTML5 и WinForms, а также соответствующих визуальных компонент DevExpress, скомпонованных вместе в рантайм под чутким руководством XAF. XAF — это наш модульный MVC фреймворк, а, по сути, сложившийся за почти 10 лет существования и постоянно расширяемый набор best patterns & practices для быстрого создания Office-like бизнес приложений для .NET разработчиков (узнать больше на Хабре, сайте).
      Начать прохождение и также найти скидочный купон внутри
    • 10 моих любимых функций CodeRush для .NET разработки в Visual Studio


        Вкратце, DevExpress CodeRush — это платный плагин для Visual Studio, относящийся к классу productivity tools, который позволяет разработчику быстрее писать более качественный код, отлаживать его, запускать тесты, обнаруживать дефекты и выполнять другие полезные функции.

        В этой статье я постарался собрать не просто список своих собственных предпочтений по его использованию, но и провести небольшую валидацию так, чтобы на выходе большинство из представленных фишек использовались другими ребятами в моей команде. Я считаю, что даже несмотря на активное развитие Visual Studio (особенно порадовала 2012я версия) и превращение некоторых из описанных функций в нативные, необходимость в сторонних помощниках типа CodeRush и ReSharper все еще актуальна для части разработчиков, так как позволяет сэкономить время и повысить общее удобство кодирования. Наконец, не стоит забывать, что еще достаточно разработчиков сидят на Visual Studio 2010- (как минимум сужу по множеству заказчиков) ввиду особенностей проекта, бюджета или просто привычки.

        Итак, кому интересно узнать, что другие .NET разработчики используют для повышения эффективности пусть и малой, но не менее увлекательной части процесса конструирования программного обеспечения, прошу пожаловать под кат (внимание, много картинок и видео, а также опрос!)
        Читать дальше →
      • «Умные» формы eXpressApp Framework (XAF). Часть 2 — Метамодель UI приложения

        • Tutorial

        В первой части я рассказывал как «оживить» формы eXpressApp Framework путем добавления простых бизнес правил (контроль данных, управление подсветкой, доступностью и видимостью полей), используя атрибуты в коде бизнес сущностей. В этой части я расскажу о том, как решить эту задачу путем настройки метамодели XAF приложения aka Application Model, а также, собственно, расскажу о том, зачем еще эта метамодель нужна и как она устроена изнутри.
        Не забуду я и про широкие возможности расширения метамодели разработчиками, ее редактирование конечными пользователями через визуальный редактор Model Editor и многое другое. Я также думаю, что прочитав эту статью, вы возможно обнаружите некоторое сходство метамодели XAF, а также языка ее описания XAFML, со всеми известными CSS и XAML (а также QML, LSML и др.), а также глубинными идеями, заложенными в эти технологии. Всем, кто не побоится познакомиться поближе со столь необычным продуктом отечественного велосипедостроения (кстати, написанным до появления аналогов у Microsoft), прошу пожаловать под кат.

        Читать дальше →
      • «Умные» формы eXpressApp Framework (XAF). Часть 1

          Прочитав обзор «Что нужно от форм?», мне захотелось рассказать, как в нашем фреймворке для быстрого создания LOB приложений eXpressApp Framework устроены «универсальные, динамически изменяемые формы».

          В первой части моего рассказа я продемонстрирую реализацию элементов динамики на примере популярных задач фильтрации значения, управления видимостью и доступностью, а также контроля данных полей на форме вот такого вот необычного бизнес объекта:
          [DomainComponent]
          public interface ICustomer : IOrganization, IAccount { }
          

          Читать дальше →