Лично я не люблю сравнивать два фреймворка всерьез, это бессмысленно, но если вы хотите быть в этом хороши, вы можете использовать это заранее!
Технология та же, но должен быть относительно наиболее подходящий инструмент на определенном этапе в конкретной области!
Сравнение здесь не с технической точки зрения, а с точки зрения выбора технологий компании, особенно для начинающих интернет-стартапов. Ни в коем случае, кто делает интернет-компании неотделимыми от программного обеспечения! Хахаха.
Во-первых, это введение двух игроков:
Laravel
Фреймворк Laravel известен как продуктивный фреймворк для веб-художников и представляет собой самый элегантный и популярный фреймворк PHP. После периода использования он также использовался в проекте. Характеристики следующие:- Относительно стандартизирован (в рамках PHP), подходит для командного разделения и совместной работы
- Быстрая скорость разработки (экология сообщества и благословение строительных лесов)
- Простота развертывания (развертывание PHP похоже на это, просто нажмите и извлеките набор Git)
- Функциональный модуль более полный
- Архитектура более сложная (в PHP Framework, o (∩_∩) о ха-ха ~)
- Полный стек, одна IDE для фронтенда и бекенда
- Подробнее в других текстах
Spring Boot
Spring Boot — это не совсем полная структура, а интегрированная среда, которая упрощает использование Spring Family Bucket и делает его более доступным для людей. Таким образом, за Spring Boot стоит почти непобедимая экология и решения Spring. Коротко об особенностях:- Опираясь на старую Java и стандартную поддержку Spring, J2EE, экология очень мощная.
- Быстрая разработка (в серии Java...), соглашение по конфигурации
- На основании JVM эффективность исполнения гарантируется
- Необходимо освоить набор Spring, стоимость обучения немного высока для детской обуви, которая сама не является J2EE.
- Благодаря облаку микросервисы звонят
- Невероятно умный Spring Data JPA
- О других поговорим позже
Ну а после знакомства с плеерами приступим к разбору какой из них использовать.Здесь ставим ситуацию:
Предположим, Сяохун — маленький БОСС (скоро будет), у которого есть идея, которая, по его мнению, стоит 2 миллиарда долларов, и он намерен воплотить ее в жизнь.Он немного разбирается в архитектуре программного обеспечения и технологии разработки. рамки, а стартовый капитал всего 300 000.
Я не хочу принимать такую несчастную ситуацию. На самом деле есть много таких ситуаций, поэтому давайте проанализируем эту ситуацию. Xiaohong хочет запустить версию 1.0 по самой низкой стоимости и быстрым, поставить ее на рынок, собирать обратную связь и продолжать итерацию. Это систематический проект, который исключает другие факторы и учитывает только технические вопросы, которые могут быть обобщены следующим образом:
- Стоимость (эффективность разработки и трудозатраты)
- Отзывчивость (эффективность итерации и развертывания)
- Безопасность (стабильность и скорость устранения ошибок)
- Сотрудничество (сотрудничество в команде и масштабируемость)
1. Эффективность разработки
Процесс разработки, мы его определяем, так как требования и прототипы определены, и простое моделирование завершено, ну и начинается он, когда обезьяны прибывают на пост и включают компьютер (Windows) с документом требований, и Вышла версия 1.0 Время, которое бежит быстро! O(∩_∩)О, ха-ха~
Первый — это фреймворк Laravel, шаги таковы:
- Настроить локальную среду: включая PHP-CLI, Vagrant, VirtualBox, HomeStead Box, Composer, nodejs (для Mix), Python, Visual Studio, Node-gyp (для Node-Sass), PHPStorm, Git, после того, как все будет готово
composer create-project laravel/laravel xxx
- Разработка: определите миграцию, модель, затем преобразователь и репозиторий, затем напишите сервис и паспорт, затем напишите контроллер, просмотрите представление, а затем улучшите событие, уведомление, push и т. д., сопровождаемые модульным тестированием
- Развертывание: Git push, Git Clone, Pull, вся среда, подключение к сети
Для тех, кто знаком с процессом разработки Laravel, скорость разработки очень высока.
Давайте еще раз взглянем на Spring Boot:
Если бизнес несложный, не заморачивайтесь с микросервисами, не уподобляйтесь тому, у кого есть только одна машина, просто откройте десятки портов, а затем запустите десятки небольших сервисов Spring Boot и используйте облачные сегменты семейства, чтобы связать их воедино. . у меня нет слов
Одно приложение свернуто, и шаги следующие:
- Настройте среду разработки: установите следующую IntelliJ IDEA, установите JDK и установите другой Redis, который будет использоваться. Это можно сделать за считанные минуты.
- Разработка: определите JAP Entity, Repository, Service, настройте Spring Security (включая Oauth2), определите Validation, open Controller, обработку исключений, уровень просмотра и т. д., а также обязательно модульное тестирование.
- Развертывание: введите пакет Jar, бросьте его на сервер для выполнения, сопоставьте с nginx и выполните.
Я лично считаю, что эффективность разработки Spring Boot выше, чем у фреймворка Laravel!
Почему?Потому что, если вы знакомы с механизмом Spring и понимаете использование функциональных модулей, таких как Security, JPA, шаблоны Thymeleaf, RabbitMQ и т. д., инкапсуляция Spring Boot лучше, чем в Laravel, но предполагается, что вы знакомы с набором Spring , в противном случае — с Не знаю, с чего начать.
Некоторые компоненты Spring очень сложны, например Spring Security.
Фреймворк Laravel основан на многих идеях Java Spring, таких как контейнеры, внедрение зависимостей и аспекты.В этом отношении Spring Boot, очевидно, является аутентичным, и 6 аннотаций должны работать!
Язык Java очень строгий, опыт в процессе разработки лучше, по крайней мере, абстрактная обезьяна, как я, все еще должен быть этот старик, чтобы управлять Java, или минутное отклонение.
Вернемся к вопросу о эффективности развития, если вы знакомы с обоими рамками, весенний ботинок быстрее развиваться, но Laravel лучше, чем весенний ботинок в некоторых аспектах, следующим образом:
- Построение ORM фреймворка Laravel должно пройти два этапа: миграция и модель, а изменение миграции требует настройки модели, которая не может совпадать с JPA, которая является структурой базы данных Entity;
- Платформе Laravel необходимо вручную реализовать некоторые привязки инъекций, обычно
$app->bind
, хотя это и не требует много времени, но все же гораздо медленнее, чем мощные аннотации Spring, а основные IDE предоставляют функцию навигации и просмотра для bean-компонентов Spring, что просто потрясающе; - Если вы хотите отображать веб-страницы, функция динамического языка сценариев Laravel плюс шаблон Blade в основном убивает Spring Boot за считанные секунды;
- Чтобы сделать иерархию более понятной, в Laravel нужно вручную реализовать режим репозитория.В любом случае, я терпеть не могу Модель, непосредственно определяющую бизнес-логику, и я не могу этого терпеть в Контроллере.Это не только некрасиво, но и не легко расширяется;
- В плане авторизации очень мощная Laravel собственная и Spring Security, можно сказать нестандартная, нивелирующая;
- Отладка с обратной связью при разработке фреймворка Laravel полностью лучше, чем Spring Boot, В связи с этим можно сказать, что все некомпилируемые языки очень крутые! Хотя Spring Boot также имеет DevTool, PHP вообще не нужно перезапускать.
- Подсказок по коду у фреймворка Laravel гораздо меньше, чем у Spring Boot, и он тоже нуждается в благословлении стороннего пакета Ide-Helper, иначе отслеживание кода работать не будет, но даже если вы используете сторонний пакет , вы не можете видеть, как выглядит контейнер;
- Такой фреймворк, как Laravel, который полагается на объектно-ориентированную элегантность, столкнулся с PHP, объектно-ориентированным языком, который не очень совершенен, так что функция, которую легко реализовать в системе Java, бессильна в системе PHP;
- Laravel очень мощный и интуитивно понятный с точки зрения маршрутизации маршрутов, и он более гибкий, чем Spring Boot, поэтому при определении маршрутов эффективность Spring Boot полностью подавляется;
- Обе обработки исключений очень удобны и обеспечивают единый способ обработки, который неразличим;
- С точки зрения настройки данных Api Json, Laravel более мощен, чем Spring Boot, потому что операции с массивами в PHP очень гибкие, а для Java необходимо определить классы инструментов и классы сущностей для специальной обработки;
- i18n интернационализация, Laravel удобнее, чем Spring Boot;
- Обработка ресурсов переднего плана, что касается самой этой функции, Laravel Mix работает с шаблоном Blade, чтобы полностью взорвать Spring Boot, но опять же, пока это не полный стек, это не преимущество. Представьте, что если внешний интерфейс — это хорошая страница, а внутренний шаблон получен, то Thymeleaf полностью взорвет Blade, потому что Thymeleaf может сохранить данные предварительного просмотра и отобразить фактические данные, чего Blade не может сделать.
Резюме: при наличии достаточных навыков я лично считаю, что эффективность разработки Spring Boot немного выше, чем у Laravel. Личное владение ситуацией не то, просьба не распыляться, можно в тексте указать на несколько измерений, сами подумайте.
Напоследок, между прочим, хотел бы упомянуть:
Laravel не произносит «Рава»
Laravel не произносит «Рава»
Laravel не произносит «Рава»
Поздний, немного сонный. Сегодня, чтобы написать это, напишите, чтобы рассмотреть трудозатраты завтра.
Всем спокойной ночи! Благодарность