Evolution CMS 2.0 на компонентах Laravel 6.0 — естественная эволюция MODX Evolution
Настало время релиза Evolution CMS 2.0 RC на компонентах Laravel 6.0, но как показал предыдущий релиз и последующие за ним обсуждения — существует масса вопросов и мифов связанных с веткой 2.0.
Самый популярный миф — в новой ветке все изменилось и по-старому уже не будет.
Неправда — будет и по-старому. Основное отличие в том, что сохранив возможности “по-старому” мы добавили возможности и “по-новому”. Уровень входа не изменился, но более продвинутые разработчики получат много готовых решений и возможностей, а те кому достаточно существующих компонентов могут работать также, как и раньше, никто не будет никого лишать привычных вещей. Уровень совместимости максимальный — даже с версии 0.9 вы можете обновиться до 1.4, а с нее до 2.0 при сохранении функционала. Хотя надо учитывать возможные проблемы которые могут возникнуть с depricated методами из за того что нужно поднять версию php до 7.2, но скорость работы того стоит, а реагировать на эти баги буду быстро, чтобы приблизить срок стабильного релиза.
Специально для сомневающихся записал видео в котором система обновлена с 1.0.8 до 1.4 (обновил бы и с более старой версии но не нашел на столько устаревший хостинг)
www.youtube.com/watch?v=E_0PluuMWT0&t=1s
А вот в этом видео уже рассказывается как с 1.4.* обновить до 2.0: www.youtube.com/watch?v=xR9filu4A8o&t=1s
В итоге — на 2.0 можно работать точно также, как и на 1.4 и ниже.
Куда все идет и какова цель всех этих изменений?
Сохранение обратной совместимостиEvolution CMS вырос из MODX Evolution, который появился в 2004 году и могу с уверенностью заявить, что даже самый старый сайт можно без особых проблем обновить до самой последней версии!
Это делается в 2 простых шага:
1. 0.9 -> 1.4.*
2. 1.4.* -> 2.0
Я не знаю ни одну систему, которая могла бы похвастаться таким результатом, с учетом 15-летней истории и все совместимо. Да у нас тоже есть моменты, которые становились deprecated, ну так и PHP за это время немало своих функций туда загнал, поэтому у вас обновление можете пройти не достаточно гладко. Но все вопросы зачастую решаются быстро и просто, достаточно уметь пользоваться гуглом и копипастом. Копируем ошибку в гугл и читаем первых пару статей из выдачи, в 95% случаев решение проблемы найдется.
Современные технологии:
Современные технологии развиваются стремительно и если мы будем стоять на месте, то уже в самое ближайшее время мы станем разработчиками неплохой, но уже устаревшей системы. Кому нужны будут такие сайты, когда на рынке будет появляться много “стильных, модных, молодежных” систем — конкурентов, да и существующие лидеры рынка на месте не стоят.Дополнительный плюс — если у кого-то вдруг появится желание изучить новые возможности, то это может даже стать открытием (не побоюсь этого слова) для тех, кто ничем кроме стандартных компонентов в жизни не пользовался. Новые знания и возможности являются основным фактором стоимости работы разработчика, мы вам их даем и уже ваше дело использовать их или нет.
Реальный пример пользы изменений — я думаю многие помнят как еще пару лет назад я не был приверженцем работы в IDE, а сейчас понимаю на сколько был не прав и что сам себе усложнял жизнь.
Framework или CMS?
CMS:
Когда было принято решение собирать Evo на компонентах Laravel одним из первых вопросов был: делал ли кто-то подобное подобное и может нет смысла придумывать велосипед? В итоге пересмотрел более 10 различных админок для Laravel, да и пару CMS на ней же и пришел к выводу, что почти все делалось не для контент-менеджеров, которые проводят очень много времени в админке, а для разработчиков. В итоге собирать и делать сайты на этом удобно а вот пользоваться не очень.
Я считаю что идеология админки Evolution CMS, которая пришла еще от MODX, очень крутая и понятная для обычного пользователя. Необходим минимум времени чтобы любому человеку обьяснить как с ней работать. Да и разработчики могут просто и быстро реализовать все пожелания клиента по организацию админ-панели.
Как реальный пример — решение Collection: modx.im/blog/addons/5994.html которое позволяет выводить дочерние документы в виде таблицы с фильтром, сортировкой и инлайн редактированием, при этом можно самостоятельно настраивать какие поля будут отображаться в таблице.
Framework:
На текущий момент Laravel один из самых популярных фреймворков, а это означает что у него есть много разработчиков, большое сообщество которое уже решило те или иные вопросы, плюс большая информационная база по работе с ним. Внедряя компоненты Laravel 6.0 в Evolution CMS мы расширяем возможности системы, а так же упрощаем жизнь разработчикам и стимулируем создание новых решений и дополнений. Тем кто долго и давно работает с Evolution и не использует других инструментов стоит присмотреться что происходит в мире и какие появились новые инструменты, упрощающие и ускоряющие разработку: Composer, Artisan, Blade, MVC, Migration, Models, Eloquent, Git и т.п.
Для тех кто только начинает знакомиться с Evolution, но уже имеет опыт работы с другими системами или с Laravel, в системе будут знакомые и любимые инструменты. Таким образом компоненты Laravel в Evolution CMS снижают порог вхождения для новичков в работе с системой и дают возможность прокачать свои скилы для тех кто давно знаком с Evolution CMS.
Итак, что нового
— Шаблоны в файлах github.com/evolution-cms/example-package#templates и Blade laravel.com/docs/6.0/blade— Controllers and MVC github.com/evolution-cms/example-package#controllers-and-mvc
— Models github.com/evolution-cms/example-package#controllers-and-mvc and Eloquent laravel.com/docs/6.0/eloquent
— Packages github.com/evolution-cms/example-package#packages (Chunks, Snippets, Plugins, Modules, e.t.c)
— Миграции и разработка на DEV и PROD окружении github.com/evolution-cms/example-package#migration
— Laravel Cache github.com/evolution-cms/example-package#laravel-cache
— Custom routing on FastRoute github.com/evolution-cms/example-package#custom-routing-on-fastroute
— use .ENV github.com/evolution-cms/example-package#use-env
— Artisan github.com/evolution-cms/example-package#artisan
— IDE-Helper github.com/evolution-cms/example-package#ide-helper
Планы на ближайшее будущее
Релиз Evolution CMS 2.0 состоится 02.11.2019, по этому поводу будет организовано офлайн мероприятие в г.Москве в частном кинотеатре 'Kinoleto' по адресу:2-й Кожуховский проезд 29, корпус 2, строение 18, вход по предворительной регистрации, форма регистрации а так же больше подробностей будут тут: evo.im/evoevent-2019.html
Скачать можно тут:
github.com/evolution-cms/evolution/releases/
Так же рекомендую прочитать:
Evolution CMS (2.0 alpha) на компонентах Laravel: modx.im/blog/news/5832.html
Комментарии: 24
звучит вкусно
Вкусно и классно.
Но… Компонентов нет. Даже на Revo осталось полтора человека которые способны написать компонент, а на Эво с этим совсем проблема.
По скорости разработки сайта из-за этого он сильно отстает от Revo или других решений, а значит его практически не будут использовать.
А нет комьюнити — нет плагинов.
Замкнутый круг получается
Но… Компонентов нет. Даже на Revo осталось полтора человека которые способны написать компонент, а на Эво с этим совсем проблема.
По скорости разработки сайта из-за этого он сильно отстает от Revo или других решений, а значит его практически не будут использовать.
А нет комьюнити — нет плагинов.
Замкнутый круг получается
Ну вот что б разорвать этот круг нужно что то делать и предпринимать шаги в этом направлении.
1. Даем хорошую базу которая позволяет делать быстрые и качественные сайты + с технологиями которые современные.
2. Пишем документацию и уроки для того что б привлечь больше ребят в сообщество
3. Начинаем расширять базу компонентов.
В целом сейчас Evo по сравнению с Revo проигрывает только из за отсутствия платного маркетплейса и Минишопа. Но опять же хочется делать последовательно пускай и дольше.
1. Даем хорошую базу которая позволяет делать быстрые и качественные сайты + с технологиями которые современные.
2. Пишем документацию и уроки для того что б привлечь больше ребят в сообщество
3. Начинаем расширять базу компонентов.
В целом сейчас Evo по сравнению с Revo проигрывает только из за отсутствия платного маркетплейса и Минишопа. Но опять же хочется делать последовательно пускай и дольше.
В целом сейчас Evo по сравнению с Revo проигрывает только из за отсутствия платного маркетплейса и Минишопа.Попробуйте адаинистрации Модстора предложить.
Тут и комьюнити есть и разработчики и пользователи.
Кстати интересная идея надо будет с Василием поговорить ибо по уму там не сильно много доработок с его стороны нужно будет.
Кстати добавлю что сделали базу для компонентов (package), очень хороший базис заложили.
Классно, @Dmytro Lukianenko молодец, уважаю!
Сразу как-то Evo стала конфеткой, привлекательнее что ли…
Надо будет обязательно попробовать погонять laravel-компоненты в связке с Evo!
Сразу как-то Evo стала конфеткой, привлекательнее что ли…
Надо будет обязательно попробовать погонять laravel-компоненты в связке с Evo!
Смотрю на то как развиваются события. Если так дальше будет продолжаться, то Revo все таки помрет. Если Evo переживет старшего брата и вернет популярность MODX это будет приятный сюрприз. @Dmytro Lukianenko правильное дело делаете :) Удачи!
Ну если ничего не делать, то так и случится. Упорство Дмитрия должно послужить положительным примером.
Круто. А что насчёт админки? На чём она написана, насколько расширяема по сравнанию с revo'вской?
Расширяема как угодно. Написана на чистом JS, ну и добавлен Jquery для поддержки части плагинов для обратной совместимости.
Верхнее меню можно изменять как угодно через плагин
Дерево документов так же имеет события для плагинов можно менять как угодно(иконки, свое кастомное меню и поведение)
Контент тоже можно строить какой угодно :)
По сравнению с Revo сильно много свободы что дает возможность говнокодить. Но ограничений нет
Верхнее меню можно изменять как угодно через плагин
Дерево документов так же имеет события для плагинов можно менять как угодно(иконки, свое кастомное меню и поведение)
Контент тоже можно строить какой угодно :)
По сравнению с Revo сильно много свободы что дает возможность говнокодить. Но ограничений нет
Чисты JS — это правильный выбор!
Библиотеки и фреймворки приходят и уходят, а чистый JS останется.
Библиотеки и фреймворки приходят и уходят, а чистый JS останется.
Попробовал установить сие творение, на последнем шаге выбило ошибку.
Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in /var/www/****/core/src/AbstractLaravel.php on line 666
Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in /var/www/****/core/src/AbstractLaravel.php on line 666
Версию PHP поставьте 7.2 или 7.3 и все ок будет
Спасибо. теперь установилось
Мне вот интересно при большом количестве ресурсов (более 300 000), что будет быстрей работать revo или новая evo?
Пока только пару проектов Василия видил которые работают на Рево шустро, остальное на больших количествах и стандартных компонентах тормозит сильно.
Скорость — это собственно одна из причин почему я развиваю EVO. С Компонентами Laravel, 2.0 где то на 0,01с просела по сравнению с 1.4 но уж очень удобней все стало.
Скорость — это собственно одна из причин почему я развиваю EVO. С Компонентами Laravel, 2.0 где то на 0,01с просела по сравнению с 1.4 но уж очень удобней все стало.
Выйдет php7.4 с предварительной загрузкой в память и скорость подтянется.
Я бы на это сильно не рассчитывал. Узкое место MODX совсем не в загрузке классов.
Доброго всем!
Может я проглядел где-то, но есть ли возможность установки через composer?
Заранее спасибо за ответ!
Может я проглядел где-то, но есть ли возможность установки через composer?
Заранее спасибо за ответ!
www.youtube.com/watch?v=xQ_aqYpS0Cc&t=11s
//Сначала собственно проект создаем
composer create-project evolutioncms/evolution:2.0.x-dev .
//А так еще и устанавливаем сразу что б не через браузер и в 1 строку: (но можно и без параметров тогда будет спрашивать)
php install/cli-install.php --database_server=localhost --database=DB --database_user=USER --database_password=PASS --table_prefix=evo_ --cmsadmin=admin --cmsadminemail=email@gmail.com --cmspassword=123456 --language=en --mode=new --installData=n --removeInstall=y
Спасибо!
Так, похоже я что-то пропустил, теперь выходит EVO круче REVO?
Там уже на подходе Evo 3.0, вот в пресс-релизах можно глянуть что еще нового:
github.com/evolution-cms/evolution/releases/tag/3.0RC
github.com/evolution-cms/evolution/releases/tag/3.0RC2
Там еще полезных штук завезли, к примеру очень удобно Laravel Routing + Validator + Response Request для Ajax и в частности обработки любых форм.
github.com/evolution-cms/evolution/releases/tag/3.0RC
github.com/evolution-cms/evolution/releases/tag/3.0RC2
Там еще полезных штук завезли, к примеру очень удобно Laravel Routing + Validator + Response Request для Ajax и в частности обработки любых форм.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.