Comments 19
По сравнению с чем? Для получения прироста скорости есть также Lumen — официальный "обрубок" от Laravel, созданный специально для более быстрой работы.
У лары достаточно отрубить пару ненужных провайдеров и получится тот же самый люмен (ну и наоборот). С другой стороны, если на симфони или ещё что-то навешать те же плюшки, что есть по-умолчанию в ларке, то по скорости отличий не будет.
Неплохая связка в целом. Но что-то меня единственное что тут не особо прельщает — то что придётся рендерить со стороны сервера большую часть сайта из-за такой связки. То бишь, сюда надо добавить ещё Node.js в обязательной поставке для серверного рендера, а это очень большое потребление озу и в том числе и процессора. И я не уверен, что вся эта связка технологий будет прямо сильно удобнее и быстрее PHP + react + node.js. Как мы сейчас например делаем. При этом, реально серверным рендером у нс рендерятся только небольшие динамические компоненты, кусочки сайта, по сути. Когда всё остальное без проблем рендерится на php.
В целом, думаю, с вами можно спорить и дальше. Golang не столь удобен для разработки сайтов, чем PHP. Думаю, это очевидно. Что из аналогов Ларавел можно найти на Go? Пусть производительность будет немного ниже (ещё большой вопрос — насколько реально ниже). Зато Ларавел даст удобство и скорость разработки.
Ну на счёт пишется быстрее в несколько раз — это перебор. Всё же ускорить написание ровно одной строчки (artisan make:controller) в несколько раз — довольно проблематично.
Ну и если говорить про сам Go — он довольно скучен и убог, как язык. Это не плохо, это его задача, быть простым как пробка и идеально выполнять свою задачу "модного паскаля с корутинками и тучей типов данных". Не надо на него вешать те задачи, с которыми он не справляется. Современный бекэнд, уровня Laravel и Rails он не осилит, ну вообще никак. А под микросервисы вообще пофигу что брать, пару-тройку апишных методов можно хоть по 10 раз на дню переписывать на разных языках =)
но микросервис RestFull API
как много buzz вордов… во первых микросервисы подавляющему большинству ненужны. Во вторых ваш RestFull API не более чем RPC. В случае с микро сервисной архитектурой у вас все равно будет перед вашими сервисами како-нибудь api gateway.
Во вторых, "пишется в несколько раз быстрее" только если вы никогда не писали апишки на этих самых Symfony/Laravel.
да и скорость выполнения с разницой в 10-100 раз это круто)
моя практика показывает разницу в 5-10 раз. И да, это круто, не спорю. Но только появляются свои нюансы. Мне нравится использовать go там где у меня задачи упираются в CPU (а это мягко скажем небольшой процент задач, почти все задачи и так решены на Си). А так мне не слишком то много дела выполняется запрос за 5ms или за 50ms, с учетом того что пинги в 3G/4G сетях побольше будут и пользователи разницы не особо почувствуют.
С другой стороны на PHP проще писать, если у вас один модуль вашего монолитного приложения сбоит и крэшится на каждом втором запросе, пользователи которые не делают запросов к этому модулю вообще ничего не почувствуют. Так же можно попросту забить на нюансы с управлением памятью в большинстве случаев. Идеальный инструмент чтобы быстренько накидывать продукты. Ну и опять же, ограничиваться одним инструментом для решения всех задач глупо, будь то go или php.
для саморазвития очень советую…
Но вы советуете Go… он весьма… примитивный язык. Ну то есть, да, можно поиграться с горутинами и синхронизацией но это если мы пишем какой-нибудь брокер сообщений. А если говорить про апишечку — то все становится чуточку проще.
Если уж говорить про "саморазвитие" — то тут скорее надо rust ковырять, или erlang на худой конец. А Go — это весело пару месяцев а потом скучно. Хотя как инструмент для своих задач он неплох.
Используем IoC-контейнер Laravel на полную мощность