[Laravel] Laravel Jetstream. Зачем?
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Всем привет! В преддверии старта курса "Framework Laravel", продолжаем цикл статей про новинки в Laravel 8 от нашего эксперта и по совместительству активного участника российского сообщества Laravel — Виталия Юшкевича.
Эта статья — продолжение обзора новинок Laravel 8. Изначально задумывалось, что в этой статье будет продолжение обзора, затрагивающие преимущественно Jetstream. Но за последнее время это не сделал только ленивый.
С одной стороны, большая часть разработчиков ленивая (в хорошем смысле этого слова), с другой, "еще один обзор" много пользы не принесет. Так как последнее обновление очень горячо обсуждается в разных комьюнити (русскоязычное и за его пределами), то мне захотелось попробовать получить ответ на вопрос — почему? Давайте вместе попробуем найти ответ на этот и другие вопросы.
Laravel Jetstream — что это?
Laravel Jetsream — это современно выглядящий скелет приложения с достаточно широким набором базовых функций. Часть из них опциональны.
Примеры функциональных возможностей из коробки:
- Авторизация, включая:
- регистрацию
- восстановление пароля
- двухфакторную авторизацию
- верификацию email
- отображение списка браузерных сессий, с возможностью логаута на остальных устройствах
- Управление профилем
- данные пользователя
- управление паролем
- управление аватарками
- удаление профиля
- Управление АПИ токенами (интеграция с пакетом Laravel Sanctum), включая управление правами
- Управление командами с разными ролями
Под капотом используется пакет Fortify (для блока авторизации), выше упомянутый Sanctum. TailwindCss на frontend. И на выбор один из двух фронтенд стеков:
- Livewire — связка livewire и blade. Рекомендуется, если хочется делать реактивные веб-приложения, но не хочется уходить в дебри vueJs и современного JS.
- Inertia.js — связка фреймворка Inertia и VueJs. Этот стек напоминает работу с полноценным SPA приложением на Vuejs с сохранением роутинга на стороне Laravel.
Краткий обзор на Laracast
Что это значит и почему столько шума?
Произошло качественное изменение (это определение не содержит оценочной характеристики направления этого изменения) идеологии и подхода к разработке веб-приложений.
За последние годы сформировался некоторый принятый и привычный подход к разработке, который был в изначальном релизе выкинут. В пакет UI (старый подход) добавили поддержку новой версии laravel после большой волны негодования со стороны сообщества, но осадочек остался. И приписка о нежелательном использовании, которая была также смягчена под тем же самым давлением негодования сообщества.
Taylor (основной maintainer Laravel) поставил ставку на не самые популярные фреймворки и технологии, но близкие к его взглядам (TailwindCss и Livewire, например, часто упоминались в разработках его коммерческих сервисов).
С точки зрения новичка, безусловно, возросла точка входа во фреймворк.
Я бы сказал больше — эта точка входа изменилась и стала другой.
Стоит отметить, что после выхода 8 версии фреймворка прошло более 3 недель и риторика несколько изменилась. Желание идти на встречу Тейлора (тут должна быть звездачка для примечания), некоторые произведенные уступки сообществу.
Так, например, после релиза Laravel 8 по сети разошелся пост от Ross Wintle с критикой (ссылка на этот пост, в том числе, была на хабре). 6 Октября вышел апдейт поста, в котором были сглажены многие углы — https://rosswintle.uk/2020/09/laravel-8-jetstream-and-learning-laravel/
Также было достаточно активное обсуждение на reddit. 5 октября Taylor провел почти часовой стрим, где объяснял свою позицию, рассказывал, почему это хорошо и отвечал на другие вопросы, связанные с Jetstream.
Зачем?
Ответ на этот вопрос одновременно прост и сложен. И при этом у каждого может быть своим
Тейлор достаточно самодостаточен в выборе вектора развития своего детища (тут тоже без количественной оценки плохо это или хорошо). Он выбирает инструменты, которые нравятся ему, и готов легко выпилить то, что ему не нравится, не спрашивая мнения у сообщества. Но все же он пытается подходить ответственно к принимаемым решениям и слушать сообщество, даже если это происходит "после" и происходит некоторый откат. Окажется ли Тейлор прав и "новатором" в выбранном векторе развития фреймворка — сейчас сложно сказать, на этот вопрос даст однозначный ответ только время.
Я нахожу в этом релизе определенный знак по движению фреймворка в его некоторую специализацию. Laravel становится более ярко выраженным "фреймворком веб-разработчика", который позволяет за минимальное количество написанных строк кода и времени создать прототип веб-сайта, веб-приложения или даже SAAS сервиса. В Ларавел также сохраняются инструменты для быстрого создания API для SPA, мобильных приложений. Ларавел действительно позволяет это сделать быстро и по-своему элегантно.
Тейлор создал ряд коммерческих продуктов, которые держат нагрузку и работают достаточно быстро. Поэтому ответ "можно ли создать на Laravel нагруженное приложение" имеет наглядные ответы.
С другой стороны, проблемы Laravel некуда не уходят. Стало еще больше магии, трейтов, фасадов. Все это не лучшим образом сказывается на производительности и потребляемых ресурсов. Вопрос является ли Laravel отличным выбором для разработки высоконагруженного сервиса уже не является таким однозначным. Как минимум, разработка такого сервиса потребует более глубоких знаний фреймворка и решения ряда задач способами, не описанными в документации (а порой — существенно различающимися).
Остается ли Laravel "в игре"? — безусловно да!
Этот релиз мне показался скорее наступлением на рынок CMS с обилием проектов на WordPress. Laravel действительно есть что предложить "этому рынку".
оригинал
Читать ещё:
===========
Источник:
habr.com
===========
Похожие новости:
- [JavaScript, Тестирование мобильных приложений, ReactJS] Моки не кусаются! Осваиваем мокинг с React Testing Library (перевод)
- [Настройка Linux, Программирование, Разработка под Linux] Знакомимся с семафорами в Linux (перевод)
- [Управление продуктом] Как найти и описать платящий сегмент пользователей?
- [Разработка веб-сайтов, Python, Django] Отношение один к одному: связывание модели пользователя с кастомной моделью профиля в Django (перевод)
- [SQL, Microsoft SQL Server, Администрирование баз данных] Шифрование в MySQL: хранилище ключей (перевод)
- [Laravel, PHP, Разработка веб-сайтов] Laravel–Дайджест (28 сентября – 4 октября 2020)
- [Big Data, Интернет вещей, Информационная безопасность] Почему незащищенные потребительские системы интернета вещей теперь представляет собой серьезную бизнес-проблему (перевод)
- [Учебный процесс в IT] Идти в преподаватели или нет? Помогаем побороть страхи, негативный опыт и понять, надо ли вам это
- [Управление персоналом, Карьера в IT-индустрии, Тестирование IT-систем] Найм Entry Level/Junior QA: за и против
- [Программирование, Анализ и проектирование систем, Проектирование и рефакторинг, Промышленное программирование] Шаблоны GRASP: Polymorphism, Pure Fabrication, Indirection, Protected Variations
Теги для поиска: #_laravel, #_laravel, #_jetstream, #_blog_kompanii_otus._onlajnobrazovanie (
Блог компании OTUS. Онлайн-образование
), #_laravel
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 23:27
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Всем привет! В преддверии старта курса "Framework Laravel", продолжаем цикл статей про новинки в Laravel 8 от нашего эксперта и по совместительству активного участника российского сообщества Laravel — Виталия Юшкевича. Эта статья — продолжение обзора новинок Laravel 8. Изначально задумывалось, что в этой статье будет продолжение обзора, затрагивающие преимущественно Jetstream. Но за последнее время это не сделал только ленивый. С одной стороны, большая часть разработчиков ленивая (в хорошем смысле этого слова), с другой, "еще один обзор" много пользы не принесет. Так как последнее обновление очень горячо обсуждается в разных комьюнити (русскоязычное и за его пределами), то мне захотелось попробовать получить ответ на вопрос — почему? Давайте вместе попробуем найти ответ на этот и другие вопросы. Laravel Jetstream — что это? Laravel Jetsream — это современно выглядящий скелет приложения с достаточно широким набором базовых функций. Часть из них опциональны. Примеры функциональных возможностей из коробки:
Под капотом используется пакет Fortify (для блока авторизации), выше упомянутый Sanctum. TailwindCss на frontend. И на выбор один из двух фронтенд стеков:
Краткий обзор на Laracast Что это значит и почему столько шума? Произошло качественное изменение (это определение не содержит оценочной характеристики направления этого изменения) идеологии и подхода к разработке веб-приложений. За последние годы сформировался некоторый принятый и привычный подход к разработке, который был в изначальном релизе выкинут. В пакет UI (старый подход) добавили поддержку новой версии laravel после большой волны негодования со стороны сообщества, но осадочек остался. И приписка о нежелательном использовании, которая была также смягчена под тем же самым давлением негодования сообщества. Taylor (основной maintainer Laravel) поставил ставку на не самые популярные фреймворки и технологии, но близкие к его взглядам (TailwindCss и Livewire, например, часто упоминались в разработках его коммерческих сервисов). С точки зрения новичка, безусловно, возросла точка входа во фреймворк. Я бы сказал больше — эта точка входа изменилась и стала другой. Стоит отметить, что после выхода 8 версии фреймворка прошло более 3 недель и риторика несколько изменилась. Желание идти на встречу Тейлора (тут должна быть звездачка для примечания), некоторые произведенные уступки сообществу. Так, например, после релиза Laravel 8 по сети разошелся пост от Ross Wintle с критикой (ссылка на этот пост, в том числе, была на хабре). 6 Октября вышел апдейт поста, в котором были сглажены многие углы — https://rosswintle.uk/2020/09/laravel-8-jetstream-and-learning-laravel/ Также было достаточно активное обсуждение на reddit. 5 октября Taylor провел почти часовой стрим, где объяснял свою позицию, рассказывал, почему это хорошо и отвечал на другие вопросы, связанные с Jetstream. Зачем? Ответ на этот вопрос одновременно прост и сложен. И при этом у каждого может быть своим Тейлор достаточно самодостаточен в выборе вектора развития своего детища (тут тоже без количественной оценки плохо это или хорошо). Он выбирает инструменты, которые нравятся ему, и готов легко выпилить то, что ему не нравится, не спрашивая мнения у сообщества. Но все же он пытается подходить ответственно к принимаемым решениям и слушать сообщество, даже если это происходит "после" и происходит некоторый откат. Окажется ли Тейлор прав и "новатором" в выбранном векторе развития фреймворка — сейчас сложно сказать, на этот вопрос даст однозначный ответ только время. Я нахожу в этом релизе определенный знак по движению фреймворка в его некоторую специализацию. Laravel становится более ярко выраженным "фреймворком веб-разработчика", который позволяет за минимальное количество написанных строк кода и времени создать прототип веб-сайта, веб-приложения или даже SAAS сервиса. В Ларавел также сохраняются инструменты для быстрого создания API для SPA, мобильных приложений. Ларавел действительно позволяет это сделать быстро и по-своему элегантно. Тейлор создал ряд коммерческих продуктов, которые держат нагрузку и работают достаточно быстро. Поэтому ответ "можно ли создать на Laravel нагруженное приложение" имеет наглядные ответы. С другой стороны, проблемы Laravel некуда не уходят. Стало еще больше магии, трейтов, фасадов. Все это не лучшим образом сказывается на производительности и потребляемых ресурсов. Вопрос является ли Laravel отличным выбором для разработки высоконагруженного сервиса уже не является таким однозначным. Как минимум, разработка такого сервиса потребует более глубоких знаний фреймворка и решения ряда задач способами, не описанными в документации (а порой — существенно различающимися). Остается ли Laravel "в игре"? — безусловно да! Этот релиз мне показался скорее наступлением на рынок CMS с обилием проектов на WordPress. Laravel действительно есть что предложить "этому рынку". оригинал Читать ещё: =========== Источник: habr.com =========== Похожие новости:
Блог компании OTUS. Онлайн-образование ), #_laravel |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 23:27
Часовой пояс: UTC + 5