Почему на node.js до сих пор нету фреймворка уровня symfony или zend?

Уже не мало врмени прошло с момента выхода ноды. Она уже подбирается к седьмой версии ( почти вровень с php идет:) ). Но почему до сих пор есть только микрофреймворки типа express или koa, где каждый творит что ему вздумается, а про более крупные, более академичные, фреймворки даже разговоров не ведется?
  • Вопрос задан
  • 2614 просмотров
Пригласить эксперта
Ответы на вопрос 8
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Писать логику на node.js как на php без опыта лучше вообще не стоит.
Я еще почти не встречал/сам не писал софта на nodejs который бы НЕ падал после того как выжрет всю память.
Даже на простейших 50-100-200 строк скриптах появляются утечки памяти.
Ладно у меня падают, я в nodejs разрабов не записывался, а вот те кто пишет и выкладывает в паблик, даже там постоянные утечки и падения.

При всех плюсах в виду скорости и асинхронности(из-за которых в общем-то и появляются мемори лики), постоянные мемори лики и краши от нехватки памяти, лично меня вообще отпугивают.
Я бы не стал делать серьезную логику на nodejs, от части конечно потому что нет большого опыта.

Тут как раз побеждает пхп, отработал - умер. Чтобы забить память надо очень постараться(попроовать выбрать всю базу/таблицу например в одну переменную :D).
Поэтому php невозможно убить практически, в отличии от ноды.

В итоге, при всех плюсах и минусах обоих языков, я бы выбрал php для очередного сервиса.
Ответ написан
smetdenis
@smetdenis
Потому что в ноде до сих пор нет хоть каких-то общепринятых стандартов как PSR в PHP (или даже PEAR). И этого не будет при текущем бурном развитии самого языка. В PHP хоть и меняется синтаксис между версиями, но не так значительно, чтобы прибегать к таким монстрам как babel.

Большой фреймворк подразумевает каноничность и концентрацию лучших практик в себе, которые затрагивают не только обработку роутинга и ответы (как во микрофреймворке а-ля express), а работу с базой, логирование, шаблонизацию, сообщения и все-все-все остальное в едином стиле, продуманной архитектурой на пару лет вперед и желательно от одной сплоченной группы авторов.

Когда появятся стандарты то им будут следовать все фундаментальные инструменты, например как composer+PSR4 (autoload).

Как можно выработать общие железобетонные принципы и написать что-то большое, когда буквально раз в год все становится с ног на голову и выходит очередной ES-стандарт, а популярные библиотеки могут легко сломать обратную совместимость? =) Уж не говоря про чехарду технологий.

Думаю обязательно появятся, как только там наверху авторы "угомонятся" и разработчики смогут спокойно кодить, а не подгонять полдня версии пакетов.
Ответ написан
Комментировать
inf
@inf
DevOps Engineer
Дык sailsjs есть. Всё равно все из рельс всё будут тащить.
Да и пхп 20 лет уже развивается, а нода за 2015 год прошла от версии 0.11 до 4.2 За таким быстрым развитием платформы фреймфорки не успевают писать))
Ответ написан
@vshvydky
Я тут нашел фреймворк революционно новый, очень модульный и асинхронный. Так что фв на пхп курите в сторонке. Koa.js (автор проекта тот же что и у express)
Ответ написан
Не могу ответить на Ваш вопрос, но мне кажется, что такие появляются например adonisjs.com
Ответ написан
Комментировать
djsv
@djsv
IT-генералист
Если нужен большой монолитный фреймворк — можно посмотреть на Meteor. А вообще в мире JS/Node.js всё стремительно меняется, потому, как и писали другие выше, монолитному фреймворку здесь трудно выжить (отчасти потому React потеснил Angular). Более гибкий подход — собрать то, что нужно в конкретном проекте из независимых npm-модулей.
Ответ написан
Комментировать
@inkrot
Привет из 2020, всем кто задался подобным вопросом взгляните на NestJS, тот же symfony serializer здесь class-transformer, а вместо Doctrine есть TypeORM. В самом NestJS отличное dependency injection, TypeScript со статической типизацией, а производительность выше чем у Spring (тык).
Ответ написан
Комментировать
Почему нет? Может потому что большие, монолитные фреймверки - это моветон?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы