Comments 23
ES7 / Next — еще не утвержденные новые фичи JS.

Это ES7-то не утвержден? :-)

так-то нет ES7, есть ES2015 aka ES6 и ES2016 — в который вошли 2 фичи(includes и **)

Как это нет? Печаль-беда, а я столько времени посветил тому, чтоб все и ES7 могли пользоваться, видать всё зря — вы всё испортили… Вот только чуть менее, чем всем без разницы — как ES2015 называли ES6 — так и ES2016 называют ES7 — и ES2017 будут называть ES8.

ES2015 (ES6) не только «утверждён», но и поддерживается в достаточном обьёме во всех современных браузерах. Так что на нём писать не только можно, но и нужно.
используя набор небольших пакетов, каждый из которых решают свою конкретную проблему

вроде этого?

var toString = {}.toString;

module.exports = Array.isArray || function (arr) {
  return toString.call(arr) == '[object Array]';
};

А-А-А-А-А!!!1
Там даже тест есть, жесть.

У него 26 миллионов загрузок в месяц, если что. Стек на Js — это как строить дом из пивных банок.

Стек на JS абсолютно жизнеспособен. А вот всякий трешак инклюдить себе в проект действительно не нужно. И совершенно неважно сколько миллионов идиотов это делают.

В js вы не можете контролировать трешак. Взяли Реакт, а там говно-модули на 5 строк.

А что плохого в тесте? Оно написано «один раз и на всю жизнь». Например — выходит новая фича языка, автор меняет реализацию на дающую больший перфоманс и проверяет что все работает.
Это уже перегиб, для подобных задач я использую lodash, а если пакет это всего одна функция, то лучше добавить скопипастить эту функцию как утилитный метод проекта. Я имел в виду небольшие пакеты в плане: пакет логирования, пакет отправки имейлов, т.д.
Выбирая пакет стоит обратить внимание на: количество закачек (популярность) и как часто пакет обновляется (коммиты в гитхаб репозитории).

Всегда удивлялся таким аргументам.
Специально для тех кто в танке поясню.
Я выбираю библиотеки не по количеству звездочек и количеству коммитов, а проверяю есть ли в библиотеке функции которые мне нужны и корректность их работы. КО.
  • Корректность работы можно проверить, только установив пакет и прикрутив его к своему приложению. То есть это не поможет с начальным выбором.


  • Зачастую поиск выдаст несколько пакетов, в которых, судя по документации, есть все те (или примерно те) функции, которые нужны. И вот тут-то из них выбираем по количеству скачиваний и частоте коммитов / дате последнего обновления (банально проверяем, что пакет еще поддерживается в принципе).
Корректность работы можно проверить, только установив пакет и прикрутив его к своему приложению. То есть это не поможет с начальным выбором.

Прикручивать не нужно, достаточно написать тесты.
Зачастую поиск выдаст несколько пакетов, в которых, судя по документации, есть все те (или примерно те) функции, которые нужны. И вот тут-то из них выбираем по количеству скачиваний и частоте коммитов / дате последнего обновления (банально проверяем, что пакет еще поддерживается в принципе).

Вы затронули правильную тему.
Давайте разделим поиск библиотек/фрэймворков хотябы на две части.
1. Поиск стандартных библиотек. Тут как раз проблем нет, куча документации, блогов и т.д. Но если используете что-то впервые, все равно нужно хотябы что-то посложнее ToDo List написать, чтобы понять подходит оно вам или нет.
2. Поиск специфичных библиотек. Не факт что такие библиотеки будут иметь много звездочек (и обычно там их очень мало). По опыту могу сказать, что в таких случаях приходится код читать, чтобы понять оно или нет.

Есть еще один момент, если брать только популярные библиотеки, то получается вы себя искуственно ограничиваете, и находитесь в роли догоняющего. Я не фанат подхода — использовать только все самое новое, но бывают случаи, достаточно редко, но бывают.

Идея хорошая, но пока ничего интересного. Жду следующей части.
читаю все — умиляюсь, только когда нескольким компаниям закинул запрос на создание игры, подобной slither.io — все потерялись, а бразильский 19-летний мальчик за три дня написал) а там то всего Requirements
NodeJS
NPM
Bower
Socket.IO
Express
Only those users with full accounts are able to leave comments. Log in, please.