Эскимо — новый Node.js бойлерплэйт для быстрого прототайпинга (MVP).
Даже если интернет заполнен разными бойлерплэйтами и фрэймворками, на нынешний день отсутствует современный, модульный и минимальный бойлерплэйт для запуска прототипов (специально для строительства rapid minimal product-ов «RMVP's»). Проект создается с малого, одним человеком, но потом, под влиянием вкладчиков, он растет до непредсказуемых размеров. Поиск в Google и GitHub про Nodejs бойлерплэйт и Nodejs фрэймворк дает сотни результатов.
Но многие из этих запускателей проектов не имеют автоматизации для развертывания и тестирования продуктов. Некоторые игнорируют практику фронт-энда и не используют Bower, Bootstrap, Font Awesome, S3/CloudFront, clustering и LESS. И ни один бойлерплэйт или фрэймворк не внедрили инъекцию зависимостей с помощью электролита, за исключением Эскимо и проекта Джареда Хэнсона.
Большинство приложений структурируют свой код попросту используя глобальные переменные (что является плохой практикой). Вот, например как многие запускатели проектов структурируют свой код с помощью глобальных объектов:
// 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 и вдохновленный yo интерфейс командной строки (CLI) предоставляет команду создать новый прототип и команды для проектирования схемы mongoose, jade темплэйта и route middleware.
Для быстрого проектирования, изначально базируясь на успешные разработки проектов, были совмещены в один бойлерплэйт следующие составляемые: один язык шаблонов — jade, один ORM — mongoose, одна база данных — MongoDB и один CSS пре-процессор — LESS.
Простая персонализация
Если не нравится использование Jade, Less, Passport, просто удалите тему из сгенерированных файлов проекта и удаляйте их из package.json после команды — eskimo create [name].
Примеры
Скажем, вы создали новый проект. Что дальше? Нужна аутентификация Facebook и/или Google в приложении, или интеграция с Stripe, или документация и установка для RESTful API, или использование Sockets.io, или настройка автоматизированного развертывания? Просто посмотрите в /examples. Имея микро- примеры как Readme файлы, пользователи вынуждены читать и думать, а не просто копировать/вставлять полный рабочий пример.
Проекты, разработанные с помощью Эскимо
https://ourharvest.com/
http://developer.marketprophit.com/
http://seedfeed.com/
Эскимо создано ведущим программистом Node.js Ником Бофом.
Автор: spascan