Итак, я много слышал / читал о meteor.js. В учебниках он выглядит очень спортивным как фреймворк, но я все еще немного новичок, когда дело касается веб-программирования.
Последние полтора месяца я пытался по-настоящему изучить node.js и понять, как все это сочетается. Мне нравится, насколько быстро и легко начать работу, а также сообщество, которое сопровождает это (примером чего является потрясающее количество фреймворков, которые вы можете получить для Node).
А как насчет метеора? В чем его реальные преимущества и в чем разница? Кто-нибудь начинал как пользователь node.js и «преобразовал», или это все еще более любопытный новый фреймворк?
Meteor - это фреймворк, построенный на node.js. Для развертывания он использует node.js, но имеет несколько отличий.
Ключевым моментом является то, что он использует собственную систему упаковки вместо модульной системы узла. Это упрощает создание веб-приложений с использованием Node. Node может использоваться для множества вещей и сам по себе ужасен при обслуживании динамического веб-контента. Библиотеки Meteor упрощают все это.
источник
Сила Meteor заключается в его функции обновлений в режиме реального времени, которая хорошо работает для некоторых социальных приложений, которые вы видите сегодня, где вы видите обновления всех тех, над чем вы работаете. Эти обновления сосредоточены вокруг репликации подмножеств коллекции MongoDB под обложками в качестве обновлений локальной базы данных mini-mongo (их подмножество MongoDB на стороне клиента) в вашем веб-браузере (что вызывает запуск нескольких событий рендеринга в ваших шаблонах). Последняя часть о множественных обновлениях рендеринга также является слабым местом. Если вы хотите, чтобы ваш пользовательский интерфейс управлял обновлением пользовательского интерфейса (например, классические страницы jQuery AJAX, на которых вы загружаете HTML и управляете всеми вызовами AJAX и обновлениями пользовательского интерфейса), вы будете бороться с этим механизмом.
Meteor использует хороший стек подключаемых модулей Node.js (Handlebars.js, Spark.js, Bootstrap css и т. Д., Но с использованием собственного механизма упаковки вместо npm) внизу вместе с MongoDB для уровня хранения, который вам не нужно подумать о. Но иногда вы тоже боретесь с этим ... например, если вы хотите настроить тему Bootstrap, она нарушает последовательность загрузки файла responseive.css Bootstrap, поэтому он больше не реагирует (но это, вероятно, исправится само, когда Bootstrap 3.0 скоро выйдет).
Так что, как и все «фреймворки полного стека», все работает отлично, пока ваше приложение соответствует тому, что задумано. Как только вы выйдете за эти рамки и раздвинете границы, вы можете в конечном итоге бороться с фреймворком ...
источник