Javascript-форум (https://javascript.ru/forum/)
-   Сборка проекта, утилиты (https://javascript.ru/forum/server-tools/)
-   -   Оптимизация WorkFlow! (https://javascript.ru/forum/server-tools/47785-optimizaciya-workflow.html)

melky 07.06.2014 10:02

Оптимизация WorkFlow!
 
Джуниор хочет стать миддлом :)
Я раньше не писал на ноде.. да и особо за backend не брался, но месяц назад всё изменилось - решил сделать очередной сайт не на Wordpress, и даже не на Yii, а на Express (то есть, "не на PHP, а на JS")
короче. после еще двух проектов я понял, что нужно оптимизировать WorkFlow. И меня уже две недели не отпускает эта затея.
Абстрактное понятие "оптимизация" в этом контексте раскрывается как "за одинаковые усилия иметь больше результата".
Ещё короче. Конечная цель - меньше рутины, больше дела
ещё короче - личные заметки)

melky 07.06.2014 10:02

Сам план WorkFlow
 
  1. Scaffold

    Yeoman
    Языки:
  2. BE + FE!


    FrontEnd

    BackEnd
  3. Сборка (FrontEnd)

    Webpack - упаковщик модулей. Сумашедшая вещь:
    1. Встроенный LiveReload, Watcher, Hot update - это LiveReload с обновлением конкретно обновленного модуля, а не всего приложения.
    2. Возможность встраивания живого скрипта в любую страницу (webpack-dev-server в режиме inline)
    3. Сборка в оперативной памяти в режиме разработки и инкрементальная сборка.
    4. Опциональный условный инлайн картинок в стилях
    5. Использование модулей огромного количества типов (AMD, ES6, CJS, UMD)
    6. Абстрагирование от языков и файловой структуры - нет файлов, всё является модулем
    7. Режим сборки для продакшена - сжатие, дописывание путей
  4. Тестирование

    Сравнение
    Chai в режиме should

    FrontEnd

    BackEnd
    Mocha
  5. Размещение

melky 07.06.2014 10:03

ещё резерв. мб ограничения по символам не хватит

nerv_ 07.06.2014 13:15

melky, а база? Из описанного выше, я вижу только статику и
Цитата:

Сообщение от melky
ORM - Mongoose

---

Цитата:

Сообщение от melky
короче. после еще двух проектов я понял, что нужно оптимизировать WorkFlow.

у нас просто есть заготовка проекта, которая форкается + sql dump file, который импортится :)

melky 09.06.2014 10:56

Цитата:

Сообщение от nerv_ (Сообщение 315465)
melky, а база? Из описанного выше, я вижу только статику и

за базу взят express... отличная свобода, но слишком много приходится дописывать руками.

хз, express слишком низкоуровневый, чтобы на нём что-то быстро разрабатывать

можно, впринципе, напилить для него структуризации, генераторов .. но получится в итоге ещё один фреймворк.. а ещё один - нинужон :agree:

так что хз ... ещё приглядываюсь)


Цитата:

Сообщение от nerv_ (Сообщение 315465)
у нас просто есть заготовка проекта, которая форкается + sql dump file, который импортится :)

тоже вот хочу такую заготовку сделать, но динамическую - чтобы её состав решался в зависимости от отвеченных вопросов в Yeoman

Safort 21.03.2015 21:52

melky,
много времени прошло, наверняка многое из списка поменялось. Может, обновишь?)

Gozar 22.03.2015 11:41

Цитата:

Сообщение от melky
express слишком низкоуровневый, чтобы на нём что-то быстро разрабатывать

Может быть давняя привычка, но проблемы в этом не вижу, скорее наоборот. Можно и без express, но тогда по сути придется сделать почти идентичную обёртку над базовым функционалом. Чем быстрее разрабатывать, тем медленнее сервер обычно.

Я бы добавил Snakeskin.ss шаблонизатор, очень помогает жить, а не выживать.

Из базы я выбрал OrientDB. На данный момент красавица :) Посмотрим что будет дальше. Драйвер oriento для node вполне себе отвечает уровню. Не идеально, но думаю ещё обрастёт сахаром.

Safort 22.03.2015 15:15

Gozar,
Цитата:

Может быть давняя привычка, но проблемы в этом не вижу, скорее наоборот. Можно и без express, но тогда по сути придется сделать почти идентичную обёртку над базовым функционалом.
А koa пробовал? По мне как значительно удобнее, чем express.

Gozar 22.03.2015 16:27

Цитата:

Сообщение от Safort
удобнее

С этого места поподробнее. Плюсы, минусы?

Для меня важны скорость и удобство. Express удобный базовый паттерн роутера.

Safort 22.03.2015 18:01

Gozar,
плюсы: похож на express(перейти довольно легко), но имеет более лаконичный API. Поддерживает некоторые плюхи из ES6.
минусы: стабильность(на данный момент 0.18.1 версия). Требует Ноду от 0.11 или io.js.

Koa создал автор Express и, разумеется, должен был учесть прошлые ошибки)


Часовой пояс GMT +3, время: 09:22.