ExpressJS против MeteorJS
Я попал в исправить. Я научился ExpressJS разрабатывать веб-приложение, и я уже четверть своего пути. Затем идет Метеор, который был недавно выпущен. Он получил много прессы, финансирования, и он имеет преимущество в том, чтобы доехать до Кордовы. Теперь я не уверен, следует ли придерживаться ExpressJS или перейти на Meteor.
Ключевые моменты: Масштабируемость, Простота использования, Эффективность разработки
Ответы
Ответ 1
Express = MVC Framework, встроенный в Javascript, и работает от узла.
Meteor = Full Stack, который имеет интерфейсные и внешние компоненты для создания приложения реального времени.
Чтобы создать такую же реализацию Meteor, использующей Express, вам нужно посмотреть на стек MEAN, который включает MongoDB, Express, AngularJS и Node. Вы можете создать то же самое в Meteor, которое вы можете со стеком MEAN, вы просто будете много учиться, особенно с AngularJS. Экспресс и Угловые позаботятся в Метеор, используя систему шаблонов Meteor и Blaze.
Я бы придерживался Метеор. У него все еще есть несколько недостатков, но есть обходные пути. Удивительно, что вы можете бросить вместе за короткое время.
Ответ 2
Вы сравниваете апельсины с картофелем. Expressjs - это бэкэнд, а Meteor - полный стат, такое сравнение несправедливо вообще!
Я работаю с Meteor с 0,8 года, и я страдал от боли при обновлении, удалении старых жизненно важных пакетов сторонних производителей и т.д. Вы получили эту идею. Хотя Meteor достиг 1,0, я не думаю, что мобильный компонент вполне готов, проверьте на нем проблемы github.
Я думаю, что "Метеор" готов к построению онлайновых платформ. Если вы обнаружите, что он не очень хорошо работает на мобильном устройстве, вы все равно можете поддерживать приложение Meteor и создавать API поверх него, вы можете найти для него пакеты на сайте hoteljs.com (или даже использовать iron: router). Это то, что вы хотели бы с Expressjs: создать API, который будет использоваться мобильными устройствами.
О ваших ключевых точках Метеор: Масштабируемость. Можно масштабировать Метеор, хотя у вас не будет хорошей статьи об этом, но если вы посмотрите на Кадиру, Аруноде удалось ее масштабировать. Простота использования. В начале довольно легко написать приложение Meteor, но в конечном итоге вы столкнетесь с некоторыми проблемами, с которыми мне пришлось столкнуться. Эффективность разработки. Мой опыт работы в команде не был таким позитивным, у нас были плохие архитектурные варианты дизайна и некоторые ошибки, потому что новые разработчики (даже опытные) не получают "Метеор", например: вместо использования правил "Коллекции разрешать и отклонять" они используют Meteor.methods для всего, что не переводит на безопасность. Некоторые даже публикуют всю базу данных клиенту и говорят: отлично работает на моем localhost: D
О экспрессе: у меня мало опыта, но, сравнивая его с Метером, это нечестно. Метеор не имеет той же цели, что и Expressjs.
Сравнение с MEAN Stack будет иметь гораздо больше смысла: http://mean.io/
Ответ 3
Express.js сильно отличается от Meteor.
Метеор пытается дать хорошую основу для всех, принимающих много решений (надеюсь, что это хорошие решения), которые обычно не интересны с точки зрения разработки приложений: какую транспортную библиотеку использовать, как синхронизировать данные, как построить многоразовый API, безопасность, Операции CRUD с базой данных и т.д.
Вместо этого Meteor дает вам единый опыт в стеке. Поскольку у него так много полномочий по управлению бэкэндом, транспортом, интерфейсами, интерфейсом, встроенной инструментальной цепочкой - он может создать множество опрятных функций, которые было бы намного сложнее склеивать с Mongo + Express + с вашей любимой интерфейсной картой + socket.io + пехотинец/глотка.
Прочитайте блог создателя Socket.io о том, как сложно обеспечить хорошее взаимодействие пользователей с однопользовательскими приложениями в наши дни: http://rauchg.com/2014/7-principles-of-rich-web-applications/. Метеор делает это много +more. (за исключением рендеринга и прогнозов на стороне сервера, по крайней мере прямо сейчас).
Подумайте о том, сколько дыр в безопасности вы будете иметь, если вы выберете абстракции слишком низкого уровня, чтобы реализовать все правильно.