Сравнение Laravel и Spring Boot Frameworks для предпринимательства (1: Эффективность разработки)

Spring Boot задняя часть Laravel

Лично я не люблю сравнивать два фреймворка всерьез, это бессмысленно, но если вы хотите быть в этом хороши, вы можете использовать это заранее!

Технология та же, но должен быть относительно наиболее подходящий инструмент на определенном этапе в конкретной области!

Сравнение здесь не с технической точки зрения, а с точки зрения выбора технологий компании, особенно для начинающих интернет-стартапов. Ни в коем случае, кто делает интернет-компании неотделимыми от программного обеспечения! Хахаха.

Во-первых, это введение двух игроков:

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 не произносит «Рава»

Поздний, немного сонный. Сегодня, чтобы написать это, напишите, чтобы рассмотреть трудозатраты завтра.

Всем спокойной ночи! Благодарность