ExpressJS vs MeteorJS [закрыто]

Я попал в затруднительное положение. Я научился ExpressJS разрабатывать веб-приложение,и я сделал четверть своего пути. Затем идет Meteor, который был совсем недавно выпущен. Он получил много прессы, финансирования, и у него есть преимущество в возможности порта в Кордове. Теперь я не уверен, стоит ли придерживаться ExpressJS или перехода на Meteor.

ключевые моменты: масштабируемость, простота использования, эффективность разработки

3 ответов


Express = MVC Framework построен на Javascript и питается от Node.

Meteor = полный стек, который имеет интерфейсные и серверные компоненты для создания приложения в реальном времени.

чтобы создать ту же реализацию Meteor с помощью Express, вам нужно посмотреть на средний стек, который включает MongoDB, Express, AngularJS и Node. Вы можете создать то же самое в Meteor, что и со средним стеком, вы просто будете делать намного больше обучения особенно с AngularJS. Экспресс и угловой позаботятся в Метеоре, используя систему шаблонов Метеора и Blaze.

Я бы придерживался Метеор. У него все еще есть несколько недостатков, но есть обходные пути. Удивительно, что вы можете собрать вместе за короткое время.


вы сравниваете апельсины с картошкой. Expressjs-это бэкэнд, а Meteor-fullstack, такое сравнение вообще несправедливо!

Я работаю с Meteor с 0.8, и я страдал в коже болью обновления,удаления старых жизненно важных пакетов сторонних производителей и т. д. вы поняли идею. Хотя Meteor достиг 1.0, я не думаю, что мобильный компонент вполне готов, проверьте проблемы github на нем.

Я думаю, что Meteor готов к созданию онлайн-платформ. Если вы найдете что он не играет хорошо в мобильном телефоне, вы все еще можете поддерживать свое приложение Meteor и создавать API поверх него, вы можете найти пакеты на atmospherejs.com для этого (или даже использовать iron: router). Вот что вы сделали бы с Expressjs: создайте API для использования мобильными устройствами.

о ваших ключевых точках Метеора: масштабируемость - можно масштабировать Метеор, хотя вы не будете хорошей статьей об этом, но если вы посмотрите на Кадиру, Арунода удалось масштабировать его. Простота использования-это довольно легко написать приложение Meteor в начале, но в долгосрочной перспективе вы столкнетесь с некоторыми проблемами, как я столкнулся. Эффективность разработки - мой опыт работы в команде не был положительным, у нас были плохие варианты архитектурного дизайна и некоторые ошибки, потому что новые разработчики (даже опытные) не получают Meteor, например: вместо использования коллекций разрешают и запрещают правила, они используют Meteor.методы для всего, что не переводится в безопасность. Некоторые даже публикуют всю базу данных клиенту и говорят: отлично работает на моем localhost: D

о express: у меня мало опыта в этом, но сравнение его с Meteor, это несправедливо вообще. Meteor не имеет той же цели, что и Expressjs.

сравнение со средним стеком имело бы гораздо больше смысла:http://mean.io/


Экспресс.js сильно отличается от Meteor.

Meteor пытается дать хорошую основу для всех, кто принимает много решений (надеюсь, хорошие решения), которые обычно неинтересны с точки зрения разработки приложений: какую транспортную библиотеку использовать, как синхронизировать данные, как построить многоразовый API, безопасность, операции CRUD с базой данных и т. д.

вместо этого Meteor дает вам Единый опыт по стеку. Так как в нем столько силы контроль над бэкэнд, транспорт, интерфейсы, front-end, построить цепочку инструментов - он может построить много аккуратных функций, которые были бы гораздо труднее склеить вместе из Mongo+Express+ваш любимый front-end framework+сокет.Ио + хрюканье / глоток.

Чтение Сокета.блог создателя io о том, как трудно обеспечить хороший пользовательский опыт в одностраничных приложениях в эти дни:http://rauchg.com/2014/7-principles-of-rich-web-applications/. Meteor делает много этого +больше. (за исключением рендеринг и прогнозы на стороне сервера, по крайней мере, прямо сейчас).

подумайте о том, сколько дыр в безопасности у вас будет, если вы выберете абстракции слишком низкого уровня в надежде реализовать все правильно.