Новый модуль ресурсов для Livestreet framework
Полностью новый переписанный модуль ресурсов ModuleAsset для фреймворка. За основу взята библиотека Assetic. Ее преимущество в относительной простоте мощности и популярности. Немного расширен функционал для адаптации к потребностям Livestreet. Основной функционал покрыт тестами. В итоге имеется:
Все ресурсы размещаются в публичной директории, доступной для сервера( по умолчанию web). Публикуются автоматически, по этому нужно следить, чтобы публикация не зависила от поведения пользователя. То есть первоначально нужно проходить по всем экшенам админу или разработчику. Почему так? Имееется возможность добавить ресурс или весь набор динамически, в экшене например. Скрипт обходящий все экшены не написан.
Методы PrependScript AppendStyle итд. заменены на зависимости. Теперь порядок скриптов и стилей на странице определяется по параметру depends содержащий массив имен ресурсов от которых зависит ресурс.
Ресурсы компонентов шаблона добавляются на страницу первыми всегда. Они могут зависеть друг от друга на уровне отдельного компонента.
Расположение скриптов перенесено в head с добавлением атрибута defer, по соображению скорости загрузки. Но никто не мешает настроить атрибуты ресурса в параметре attr и добавить туда например async или вовсе убрать все.
Слияние ресурсов зависит от параметра attr. Если встречается ресурс с иными атрибутами он вставляется отдельно на странице.
Большой набор фильтров из библиотеки Assetic позволяет добавлять даже less sass например. Так что этим тоже можно будет пользоваться желающим.
Загружать ресурсы можно не только локально. С удаленного места по HTTP, или откуда угодно. Для этого имеется интерфейс Loader.
Загрузка ресурсов из конфига по старинке с некоторыми изменениями
Все ресурсы размещаются в публичной директории, доступной для сервера( по умолчанию web). Публикуются автоматически, по этому нужно следить, чтобы публикация не зависила от поведения пользователя. То есть первоначально нужно проходить по всем экшенам админу или разработчику. Почему так? Имееется возможность добавить ресурс или весь набор динамически, в экшене например. Скрипт обходящий все экшены не написан.
Методы PrependScript AppendStyle итд. заменены на зависимости. Теперь порядок скриптов и стилей на странице определяется по параметру depends содержащий массив имен ресурсов от которых зависит ресурс.
Ресурсы компонентов шаблона добавляются на страницу первыми всегда. Они могут зависеть друг от друга на уровне отдельного компонента.
Расположение скриптов перенесено в head с добавлением атрибута defer, по соображению скорости загрузки. Но никто не мешает настроить атрибуты ресурса в параметре attr и добавить туда например async или вовсе убрать все.
Слияние ресурсов зависит от параметра attr. Если встречается ресурс с иными атрибутами он вставляется отдельно на странице.
Большой набор фильтров из библиотеки Assetic позволяет добавлять даже less sass например. Так что этим тоже можно будет пользоваться желающим.
Загружать ресурсы можно не только локально. С удаленного места по HTTP, или откуда угодно. Для этого имеется интерфейс Loader.
Загрузка ресурсов из конфига по старинке с некоторыми изменениями
'js' => [ 'assetJsLocal' => array( 'file' => __DIR__.'/assets/test.js', 'depends' => [ // опционально 'assetJsHTTP' ], 'filters' => [ // опционально 'js_min' ], 'attr' => [], // опционально 'loader' => 'Class/To/Loader' // опционально ] //коротко 'js' => [ 'assetJsLocal' => __DIR__.'/assets/test.js' ] //или 'js' => [ __DIR__.'/assets/test.js' ]
9 комментариев
Если нравится подход с composer, хочется psr4, psr7, итд, то почему бы не стать разработчиком «плагинов» под Laravel?
Не топлю за Laravel, WP, или еще какой-то фреймворк/движок… Просто если хочется создавать «продукт», которым будет пользоваться аудитория (разработчики / веб мастера / ЦА), то логичнее делать всё то же самое на системе, которая имеет действующую аудиторию в текущий момент и в перспективе. Когда у сообщества есть поддержка.
Смотрю на текущий прогресс. Прошло 2 месяца с сентября 2к19. Появилось обновление. Оно вроде бы и хорошо, но на мне, на большинстве присутствующих вроде как никак не отразилось изменение, не повлияло. Как будто и не было обновления. Возможно с позиции «разработчика», оно имеет важный вес.
Но всё таки «разработчик» и «веб мастер», это разные ЦА и на сколько я понимаю, основания ЦА все таки у ЛС это как раз «веб мастера».
Нашёл одно разработчика, который пилит сайты на ВП, скромный опыт есть с ЛС. Может быть стоит объединиться, найти еще несколько единомышленников и запилить «продукт» на Laravel?
Например, я со своей стороны помогу с формированием продукта и вывод на рынок, с продвижением, продажами.
Почему не ЛС?
С ЛС не понятная история с правами владения. В любой момент Максим скажет, что «продукт ЛС» это его собственность и запретит использовать в коммерческих целях. Нет разработчиков со стороны, которые желали бы на ЛС что-то разрабатывать, в отличии с желанием пилить под Ларавел.
Нашёл три перспективные ниши для подобного фреймворка. Есть опыт вывода MVP продуктов на окупаемость.
А что за ниши, можете поделиться?
Думаете лучше попробовать под него плагин сделать, чем под чистый Laravel?
Yüksek müşteri memnuniyeti ile her daim konforlu dairelerimizde hizmet vermekteyiz. Bizi tercih ettiğiniz için teşekkür ederiz.
Web Sitemiz: gunlukdairem.com