Мы в Digital Design тут на низком старте — ждём запуска очередного проекта на Sitefinity. Наши разработчики готовы оды посвящать этому инструменту, и мы (Максим Паньков, архитектор ПО, и Сурен Соколов, ведущий разработчик ПО) решили выяснить, что же вызывает такой восторг. Ну и раз Sitefinity становится такой популярной платформой для разработки в Enterprise-сегменте (по нашим ощущениям), почему бы не познакомиться с ней поближе.
Это не рекламная статья о Sitefinity, это просто собранные в кучу мнения наших разработчиков, которые работают с этим инструментом. Они будут полезны тем, кто хочет разобраться, чем этот инструмент отличается от других, и тем, кто сейчас стоит перед выбором — что изучать, на чём работать.
Коротко о главном «по-википедишному»: Sitefinity — это система управления веб-контентом, которая использует шаблоны разработки .NET 4.0, знакомые разработчикам Microsoft. На западе он очень популярен. Собственно, все клиенты, которые к нам приходили с просьбой разработать систему на Sitefinity, узнавали о ней именно от зарубежных коллег, либо от самого вендора, а в России Digital Design — единственный официальный партнер компании-разработчика Progress.
Мы не будем здесь рассматривать вопрос стоимости. Во-первых, мы работаем с крупными корпорациями, и им важна надёжность платформы, поддержка и развитие, поэтому они готовы платить за инструмент. Во-вторых, и клиентам, и разработчикам важны её возможности. Так что остановимся на них.
Sitefinity безумно удобна для разработчиков — считай, ты пишешь на чистом MVC (Model View Controller, технология разработки в .NET). Когда ты не привязываешься к контролам, или виджетам, — пишешь отдельно back, отдельно view, и они взаимодействуют друг с другом через MVC. Можно делать на ней все, что угодно — ты не ограничен технологиями, рамками платформы – можешь делать хоть SPA (single page application).
В Sitefinity есть динамические модули ListModules, которые в разы лучше списков SharePoint по производительности. Модульная и расширяемая – можно менять хранилища данных (виды файловых, типы баз данных, облачные интеграции и т.п.)
Всё в стиле Telerik (кто работал с их компонентами, знаком).
У Sitefinity мощная админка, в которой легко можно настраивать любые процессы, персонализировать контент. Например, можно сделать несколько сайтов на одной CMS (в одной админке): создать одно ядро и по-разному настроить разные сайты.
С помощью MVC Layout можно сделать гибкую настройку страниц, нагенерить страницы, в админке накидать на них виджеты — и всё это без программирования вообще.
Object-Relational Mapping, или ORM (объектная модель данных) позволяет писать модули без изучения новых языков программирования, достаточно изучить MVC. Для администраторов это — удобное управление, для разработчиков — низкий порог вхождения в разработку.
Это, наверное, самая лучшая документация, с которой мне приходилось работать. Она доступна на сайте, и вы сами можете в этом убедиться.
У Sitefinity отличная поддержка вендора, а также активное сообщество. Sitefinity по три раза в год выпускает пакеты обновлений, которые повышают производительность, постоянно добавляет новые функции с учётом отзывов клиентов.
Этот пункт скорее оценят маркетологи. Компонент Sitefinity DEC (Digital Experience Cloud) позволяет настраивать сайт под маркетинговые кампании. Например, можно создать сайт и указать, что до 18 лет аудитории нужно показывать один контент, от 18 — другой. Сайт сам будет менять контент под цели компании, и это всё можно настроить через админку без программирования.
Примеры:
В 2015году мы разработали на Sitefinity портал для работы с партнерами строительного Холдинга RBI РАМПА. Портал строили на Telerik SiteFinity 8.0.
Это сайт для партнеров RBI, там содержится полная информация об объектах, через сайт агенты бронируют для показа и резервируют квартиры, доступен удобный подбор вариантов помещений.
Позже для этой же компании мы делали сайт для проведения конкурсов и тендеров тоже на Telerik Sitefinity, только уже версии 9.2, сейчас в процессе еще несколько проектов. Там настроено множество удобных для работы с документами функций. Есть у сайта одна особенность — автоматизированная оценка участников конкурса по финансовым и производственным показателям. Мы внедрили простой математический алгоритм, который анализирует информацию от конкурсантов и автоматически формирует рейтинг участников.
Хорошая CMS на .Net, с фоновыми задачами и хорошим модулем пользовательских списков, Workflow Engine. Для работы с данными используется их собственная разработка DataDirect, позволяющая удобно работать с данными из самых различных источников (БД, файловая система, облачные сервисы, другие системы) и не терять в производительности.
Кроме того, если верить отчёту Forrester, международного аналитического агентства, которое занимается исследованиями рынка ИТ, Progress Software имеет целый стек технологий, позволяющих ускорить процесс внедрения ценных функций заказчику, в том числе Sitefinity.
Это не рекламная статья о Sitefinity, это просто собранные в кучу мнения наших разработчиков, которые работают с этим инструментом. Они будут полезны тем, кто хочет разобраться, чем этот инструмент отличается от других, и тем, кто сейчас стоит перед выбором — что изучать, на чём работать.
КАТ
Коротко о главном «по-википедишному»: Sitefinity — это система управления веб-контентом, которая использует шаблоны разработки .NET 4.0, знакомые разработчикам Microsoft. На западе он очень популярен. Собственно, все клиенты, которые к нам приходили с просьбой разработать систему на Sitefinity, узнавали о ней именно от зарубежных коллег, либо от самого вендора, а в России Digital Design — единственный официальный партнер компании-разработчика Progress.
Мы не будем здесь рассматривать вопрос стоимости. Во-первых, мы работаем с крупными корпорациями, и им важна надёжность платформы, поддержка и развитие, поэтому они готовы платить за инструмент. Во-вторых, и клиентам, и разработчикам важны её возможности. Так что остановимся на них.
С чем сравнивают Sitefinity?
- SharePoint
- 1C-Битрикс
- Wordpress
- Umbraco
- DotNetNuke
- Orchard CMS
Чем выгодно отличается от них?
- Виджеты на ASP.Net MVC
Sitefinity безумно удобна для разработчиков — считай, ты пишешь на чистом MVC (Model View Controller, технология разработки в .NET). Когда ты не привязываешься к контролам, или виджетам, — пишешь отдельно back, отдельно view, и они взаимодействуют друг с другом через MVC. Можно делать на ней все, что угодно — ты не ограничен технологиями, рамками платформы – можешь делать хоть SPA (single page application).
В Sitefinity есть динамические модули ListModules, которые в разы лучше списков SharePoint по производительности. Модульная и расширяемая – можно менять хранилища данных (виды файловых, типы баз данных, облачные интеграции и т.п.)
Всё в стиле Telerik (кто работал с их компонентами, знаком).
- Мощная админка
У Sitefinity мощная админка, в которой легко можно настраивать любые процессы, персонализировать контент. Например, можно сделать несколько сайтов на одной CMS (в одной админке): создать одно ядро и по-разному настроить разные сайты.
- Удобная архитектура
С помощью MVC Layout можно сделать гибкую настройку страниц, нагенерить страницы, в админке накидать на них виджеты — и всё это без программирования вообще.
- Быстрая ORM
Object-Relational Mapping, или ORM (объектная модель данных) позволяет писать модули без изучения новых языков программирования, достаточно изучить MVC. Для администраторов это — удобное управление, для разработчиков — низкий порог вхождения в разработку.
- Документация — огонь
Это, наверное, самая лучшая документация, с которой мне приходилось работать. Она доступна на сайте, и вы сами можете в этом убедиться.
- Поддержка
У Sitefinity отличная поддержка вендора, а также активное сообщество. Sitefinity по три раза в год выпускает пакеты обновлений, которые повышают производительность, постоянно добавляет новые функции с учётом отзывов клиентов.
- Тонкая персонализация
Этот пункт скорее оценят маркетологи. Компонент Sitefinity DEC (Digital Experience Cloud) позволяет настраивать сайт под маркетинговые кампании. Например, можно создать сайт и указать, что до 18 лет аудитории нужно показывать один контент, от 18 — другой. Сайт сам будет менять контент под цели компании, и это всё можно настроить через админку без программирования.
Примеры:
- Alumil
Особенность: показывают разный контент для разных регионов через Sitefinity DEC. - Weaver Leather
Включает интеграцию с SmarterCommerce, JD Edwards EnterpriseOne ERP, чат SnapEngage, Power Reviews, Pixlee, SLI Enterprise, обучающий поиск, Hubspot. - Аг-Про Компании
Сайт использует Sitefinity workflow, возможности персонализации и Sitefinity DEC для анализа контента.
Ложка дёгтя
- Процесс Deployment’а не до конца продуман, в частности одно из официальных предложений по процессу разработки состоит в том, чтобы копировать полностью промышленный стенд в среду разработки (все БД и файловые хранилища), делать доработки и заливать обратно. С другой стороны, есть различные утилиты синхронизации, Export for Deployment, экспорт данных и структуры списков, комбинируя которые можно наладить DevOps процесс и без проблем обновлять все среды и стенды.
- В Sitefinity можно решить одну задачу разными способами, но в документации они друг на друга не ссылаются. Это один небольшой минус к документации, которую выше мы всё-таки похвалили за полноту и структурированность.
- Часть функций доступна только в старших лицензиях, более дорогих. Но в то же время все эти функции можно допилить самостоятельно. Мы так сделали с аудитом, например. Журналирование событий безопасности доступно только при покупке старшей лицензии, мы разработали для заказчика упрощённую версию.
- Стоимость.
Наш опыт
В 2015году мы разработали на Sitefinity портал для работы с партнерами строительного Холдинга RBI РАМПА. Портал строили на Telerik SiteFinity 8.0.
Это сайт для партнеров RBI, там содержится полная информация об объектах, через сайт агенты бронируют для показа и резервируют квартиры, доступен удобный подбор вариантов помещений.
Позже для этой же компании мы делали сайт для проведения конкурсов и тендеров тоже на Telerik Sitefinity, только уже версии 9.2, сейчас в процессе еще несколько проектов. Там настроено множество удобных для работы с документами функций. Есть у сайта одна особенность — автоматизированная оценка участников конкурса по финансовым и производственным показателям. Мы внедрили простой математический алгоритм, который анализирует информацию от конкурсантов и автоматически формирует рейтинг участников.
Вывод
Хорошая CMS на .Net, с фоновыми задачами и хорошим модулем пользовательских списков, Workflow Engine. Для работы с данными используется их собственная разработка DataDirect, позволяющая удобно работать с данными из самых различных источников (БД, файловая система, облачные сервисы, другие системы) и не терять в производительности.
Кроме того, если верить отчёту Forrester, международного аналитического агентства, которое занимается исследованиями рынка ИТ, Progress Software имеет целый стек технологий, позволяющих ускорить процесс внедрения ценных функций заказчику, в том числе Sitefinity.
- Мобильная разработка — NativeScript и Kenvey
- Интеграции — DataDirect
- Web CMS, система управления веб-контентом — Sitefinity
- Управление бизнес-правилами — Corticon
Sovetnikov
Model View Controller — технология разработки в .NET?
Обычная CMS, коих много на разных стеках.
А ORM от Telerik мозг не выносит?