Я не могу говорить от имени Meteor, но могу помочь рассказать немного о Sails, потому что я его создал.
tldr;
Паруса - не панацея от всех проблем Интернета, но я считаю, что Node.js. Цель Sails - предоставить практическую основу для разработки полных, масштабируемых, запускаемых и удобных для предприятий приложений, построенных на node.js. Я начал Balderdash с вопроса «Можно ли использовать Node.js для всего?». Паруса - вот ответ.
Из наших новых документов :
Sails - это, конечно же, веб-фреймворк. Но сделай шаг назад. Что это значит? Иногда, когда мы говорим о сети, мы имеем в виду «интерфейсную сеть». Мы думаем о таких понятиях, как веб-стандарты, HTML 5 или CSS 3; и такие фреймворки, как Backbone, Angular или jQuery. Sails - это не «такой» веб-фреймворк. Sails отлично работает с Angular и Backbone, но вы никогда не будете использовать Sails вместо этих библиотек.
С другой стороны, иногда, когда мы говорим о «веб-фреймворках», мы имеем в виду «внутреннюю сеть». Это вызывает такие понятия, как REST, HTTP или WebSockets; и построен на таких технологиях, как Java, Ruby или Node.js. «Внутренняя веб-среда» помогает вам делать такие вещи, как создание API-интерфейсов, взаимодействие с базами данных, обслуживание HTML-файлов и одновременное обслуживание сотен тысяч пользователей. Sails - это «такой» веб-фреймворк.
Пару лет назад я взял на себя обязательство использовать Node.js для всего - это была любовь с первого взгляда . Я создал Sails на основе Express и Socket.io, потому что они были (и остаются) наиболее хорошо зарекомендовавшими себя модулями Node для своих соответствующих случаев использования. Код обработки запросов в Sails является Express-совместимым с дополнительным преимуществом неявной поддержки Socket.io.
Sails спроектирован так, чтобы быть совместимым с любой стратегией, которую вы используете для создания вашего интерфейса (ов) на Angular, Backbone, iOS / ObjC, Android / Java, или даже просто предлагая необработанный API для использования другим веб-сервисом или вашим Сообщество разработчиков. Если вы в конечном итоге измените свой подход (например, переключитесь с Backbone на Angular) или полностью создадите новый интерфейс (например, создадите собственное приложение для Windows Phone), ваше приложение Sails все равно будет работать. Как вы, возможно, уже знаете, некоторые люди называют этот подход сервис-ориентированной архитектурой или SOA (у Джо Макканна есть отличная колода по этому вопросу).
В том же духе Sails поддерживает другие знакомые соглашения для создания веб-серверов - стандартную структуру MVC, возможность создавать чистые API-интерфейсы и основные модули, которые являются открытыми, настраиваемыми, расширяемыми и даже заменяемыми. Это означает, что Sails можно настроить в соответствии с потребностями пользователей, насколько это необходимо.
В 2013 году этот фреймворк стал популярнее, и наш консалтинговый бизнес вырос. Остальные основные специалисты по сопровождению и я расширили наше внимание, сделав бэкэнд-разработку как можно более быстрой и простой. Связанные с ним аспекты Sails, такие как хуки (плагины), тестирование и документация, за последний год прошли долгий путь благодаря усилиям как нашей основной команды, так и (постоянно расширяющегося) сообщества Sails в целом. Есть множество элементов дорожной карты, над которыми мы все еще работаем, но я считаю, что Sails - лучший вариант для стабильной, поддерживаемой разработки MVC на Node сегодня. Остальная часть команды и я привержены его постоянному обслуживанию и развитию функций, и, поскольку мы используем его для всех наших клиентских проектов, он никуда не денется.
Я безоговорочно привержен тому, чтобы сделать Sails лучшим веб-фреймворком, но никогда не за счет Node.js. Основная команда и я без устали преданы совершенствованию экосистемы Node, а это означает принятие NPM, использование существующих технологий Node и лучших практик и т. Д. Не только потому, что это имеет больше смысла, но потому, что мы разработчики Node.js. Мотивация всех наших усилий - сделать Node более доступным, а не вытеснить его. Итак, если бы в какой-то странной параллельной вселенной мне дали фаустовский выбор между преобразованием Sails на какой-то другой язык или полным отказом от Sails, но все еще способным использовать Node, я бы выбрал последнее.
Дополнительные ресурсы:
FAQ | Паруса 101 | Оригинальный скринкаст | Руководство по вкладу | Переполнение стека
Группа Google | Дорожная карта | IRC: #sailsjs на Freenode | Статус сборки