Итак, мы долгое время использовали node, и я должен сказать, что с растущим сообществом для node люди разрабатывают множество потрясающих модулей и фреймворков. Но по мере того, как мы работаем над все большим количеством проектов, я иногда смущаюсь о том, какие рамки нужно искать. До сих пор мы использовали следующие рамки:
-
Express - одна из моих любимых фреймворков для node, и это было первым, когда мы начали создавать приложения в node.js. (Я думаю, что это также стало первым, получившим такую популярность). У нас есть проблемы, такие как обратные вызовы, но при условии, что маршрутизация и организация кода намного более чисты, мы были рады использовать ее.
-
KoaJS - Еще один из TJ и команды, и это просто потрясающе! Использование ECS 6, когда какой-либо из браузеров почти не поддерживает их. (Специально, когда это помогает вам полностью удалить обратные вызовы). У нас были некоторые проблемы с https-совместимостью с Koa и пришлось переписать весь сервер с помощью hapi, а также тот факт, что он зависит от нестабильной версии на node.
-
Hapi - Это наше последнее принятие и мало что с ним поделалось, но самая забавная часть это модуль joi, который помогает нам проверять запросы (легко) даже до того, как они попадут на фактический сервер, а также автоматическое создание документов.
-
Synth - я не очень много общался с ним, но, читая документы, я наткнулся на
Используйте службы и инъекции зависимостей, например, AngularJS, но на фоновый!
который является удивительным, но поскольку он еще в бета-версии, я не думаю об использовании его в ближайшее время.
Итак, когда вы пытаетесь найти фреймворк для своего приложения, есть ли какой-то определенный набор функций, в котором есть одна структура, а другие нет? Потому что, честно говоря, мы использовали большинство фреймворков только с целью их опробования и помимо различий в синтаксисе (кроме Koa, использующего ECS 6) и того, как они обрабатывают маршруты, я не мог найти много различий между ними.
Итак, мой вопрос заключается в том, следует ли нам принять любую структуру, просто взглянув на ее популярность (что обычно делают люди) или есть какие-то контрольные точки, которые нам нужно учитывать, делая то же самое?
Любые предложения/помощь оценены.
Edit
Я хотел добавить, что мое намерение по этому вопросу состоит в том, чтобы выяснить ключевые моменты, чтобы рассмотреть, выбрав любую из node.js framework (а не только в зависимости от ее популярности или сколько больших имен использует его). Для интерфейсного интерфейса мы можем легко сказать, потому что мы уже знаем или были рассказаны о ключевых функциях, которые облегчили бы разработку (разница между angular и базой может быть примером). Но для node.js, что не является каким-либо образом.
Я бы попросил других рассмотреть мои изменения тоже.