- PVSM.RU - https://www.pvsm.ru -
Эскимо [1] — новый Node.js бойлерплэйт для быстрого прототайпинга (MVP).
Даже если интернет заполнен разными бойлерплэйтами и фрэймворками, на нынешний день отсутствует современный, модульный и минимальный бойлерплэйт для запуска прототипов (специально для строительства rapid minimal product-ов «RMVP's»). Проект создается с малого, одним человеком, но потом, под влиянием вкладчиков, он растет до непредсказуемых размеров. Поиск в Google и GitHub про Nodejs бойлерплэйт и Nodejs фрэймворк дает сотни результатов.
Но многие из этих запускателей проектов не имеют автоматизации для развертывания и тестирования продуктов. Некоторые игнорируют практику фронт-энда и не используют Bower [2], Bootstrap [3], Font Awesome [4], S3/CloudFront [5], clustering [6] и LESS [7]. И ни один бойлерплэйт или фрэймворк не внедрили инъекцию зависимостей с помощью электролита [8], за исключением Эскимо [9] и проекта Джареда Хэнсона [10].
Большинство приложений структурируют свой код попросту используя глобальные переменные (что является плохой практикой). Вот, например как многие запускатели проектов структурируют свой код с помощью глобальных объектов:
// config.js
module.exports = {
port: process.env === 'development'? 3000: 80
};
// controller.js
module.exports = function(config) {
return function(req, res, next) {
res.send('Hello world');
});
};
// app.js
var express = require('express');
var app = express();
var config = require('./config');
var controller = require('./controller')(config);
app.get('/', controller);
app.listen(config.port);
Как Эскимо решает проблему?
Простое проектирование
Построенный с commander [11] и вдохновленный yo [12] интерфейс командной строки (CLI) предоставляет команду создать новый прототип и команды для проектирования схемы mongoose [13], jade [14] темплэйта и route middleware.
Для быстрого проектирования, изначально базируясь на успешные разработки проектов, были совмещены в один бойлерплэйт следующие составляемые: один язык шаблонов — jade, один ORM — mongoose, одна база данных — MongoDB [15] и один CSS пре-процессор — LESS [7].
Простая персонализация
Если не нравится использование Jade, Less, Passport [16], просто удалите тему из сгенерированных файлов проекта и удаляйте их из package.json после команды — eskimo create [name].
Примеры
Скажем, вы создали новый проект. Что дальше? Нужна аутентификация Facebook и/или Google в приложении, или интеграция с Stripe, или документация и установка для RESTful API, или использование Sockets.io, или настройка автоматизированного развертывания? Просто посмотрите в /examples. Имея микро- примеры как Readme файлы, пользователи вынуждены читать и думать, а не просто копировать/вставлять полный рабочий пример.
Проекты, разработанные с помощью Эскимо
https://ourharvest.com/ [17]
http://developer.marketprophit.com/ [18]
http://seedfeed.com/ [19]
Эскимо создано ведущим программистом Node.js Ником Бофом [20].
Автор: spascan
Источник [21]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/74872
Ссылки в тексте:
[1] Эскимо: http://eskimo.io/
[2] Bower: http://bower.io/
[3] Bootstrap: http://getbootstrap.com/
[4] Font Awesome: http://fontawesome.io/
[5] S3/CloudFront: https://aws.amazon.com/
[6] clustering: http://nodejs.org/api/cluster.html
[7] LESS: http://lesscss.org/
[8] электролита: https://github.com/jaredhanson/electrolyte
[9] Эскимо: http://eskimo.io
[10] Джареда Хэнсона: https://github.com/jaredhanson
[11] commander: https://github.com/visionmedia/commander.js/
[12] yo: https://github.com/yeoman/yo
[13] mongoose: http://mongoosejs.com/
[14] jade: http://jade-lang.com/
[15] MongoDB: http://www.mongodb.org/
[16] Passport: http://passportjs.org/
[17] https://ourharvest.com/: https://ourharvest.com/
[18] http://developer.marketprophit.com/: http://developer.marketprophit.com/
[19] http://seedfeed.com/: http://seedfeed.com/
[20] Ником Бофом: https://github.com/niftylettuce
[21] Источник: http://habrahabr.ru/post/243579/
Нажмите здесь для печати.