Позвольте мне начать с определения себя как сотрудника Broadleaf Commerce, так что я могу быть несколько предвзятым. Причина разработки Broadleaf действительно связана с самой платформой. Если вы посмотрите на решения для электронной коммерции с открытым исходным кодом, вы правы в том, что их много. Однако, когда вы начинаете фильтровать их по различным параметрам, включая Java, Spring, Hibernate - список становится очень маленьким. Мы всегда стремились создать привлекательную платформу для электронной коммерции, ориентированную на современных корпоративных пользователей. Помня об этой теме, мы знали, что должны использовать Java, Spring и Hibernate. Это основной стек технологий, который предпочитают многие разработчики, особенно в корпоративном сегменте. Кроме того, чтобы удовлетворить сложные требования этих пользователей к области и интеграции, мы разработали систему с нуля с учетом расширяемости. Мы рассматриваем расширяемость как естественное расширение техник объектно-ориентированного программирования, которые вы уже практикуете ежедневно. Это означает использование возможностей расширения и полиморфизма Hibernate для домена, а также возможность переопределять, настраивать или полностью заменять все службы, DAO и объекты в базе кода. Наша конфигурация также расширяема и выходит за рамки стандартного переопределения контекста приложения Spring, чтобы предоставить больше возможностей объединения конфигураций, которые позволяют нам устранить некоторые дополнительные сложности конфигурации Broadleaf, чтобы вы могли сосредоточиться на конфигурации, которая важна для вашего приложения. Таким образом, хотя конечные результаты могут быть схожими между нашим программным обеспечением и другими, мы считаем, что решение о том, какой путь выбрать для достижения этой конечной цели, является важным, и Broadleaf Commerce предлагает мощный и гибкий способ достижения этого.
Мне кажется, я должен также кратко упомянуть, поскольку вы упомянули Flex выше, что в настоящее время мы разрабатываем нашу версию 1.5, которая включает переработанное административное приложение на основе GWT, которое заменит нашего нынешнего администратора на основе Flex. Этот выбор позволил нам распространить ту же тему расширяемости, которую мы уже включили в базовую платформу, на нашу административную платформу. Новый администратор предложит ту же гибкость для переопределения и замены через объектно-ориентированные программные парадигмы, которые разработчики уже используют в базовой платформе. Кроме того, приложение администратора автоматически распознает ваши расширения сущностей и включает ваши дополнительные поля в интерфейсе администратора без каких-либо усилий по написанию кода от вашего имени. Интерфейс администратора также учитывает полиморфизм сущностей и настраивает интерфейс редактирования в соответствии с каждым типом (представьте себе медиа-продукт, который имеет два расширения в форме книги и фильма - даже если они оба являются медиа-сущностями, у каждого из них есть уникальные поля и интерфейс администратора соблюдает это различие). Мы также работаем над набором изменений и некоторыми другими интересными функциями для 1.5. Мы ориентируемся на релизы, начинающиеся в апреле, поэтому следите за обновлениями.