Или как я построил свой собственный стек

Экосистема javascript слишком велика, это не ново. Люди даже назвали это усталостью от javascript. Но то, что может выглядеть как проблема языка, также является одной из его лучших особенностей. Имхо, огромное разнообразие возможностей делать что угодно в javascript — это то, что делает его потрясающим языком, а с npm, если вы не найдете библиотеку, которая делает то, что вы хотите (что маловероятно), вы можете легко опубликовать свою собственную! Итак, я действительно думаю, что усталость от javascript — это не плохо, это не ошибка, это фича.

Симптом свободы

Теперь, говоря о npm, я однажды услышал фразу, которую навсегда запомню.

Npm работает, потому что работает анархия

Эта замечательная цитата принадлежит Джеймсу Халидею (Substack), автору borwserify и сотен других пакетов npm. И что я понимаю из этого, так это то, что экосистема npm позволяет вам свободно публиковать и использовать модули, и эта свобода привела к большому сообществу и отличным ресурсам. Конечно, были некоторые трения, но после бури и хаоса возникло действительно устойчивое сообщество, основанное прежде всего на свободе и сотрудничестве, как и анархия.

Дорога к собственному стеку

Итак, какова связь между усталостью от javascript и npm? Что ж, для меня усталость от javascript пришла в виде различных фреймворков и модулей npm, и я думаю, что это пошло на пользу, потому что я сейчас преодолеваю этот хаос (усталость) и достигаю спокойствия, собственной стабильности, своей собственный стек!

Этот стек представляет собой комбинацию движка представления bel, маршрутизатора (я сделал свой собственный) singleton-router, контейнера состояний redux и модульной структуры css tachyons. Для бэкэнда я использую веселье для потоковых маршрутов, уровень и друзей для базы данных, json-schema для определения модели. Не буду вдаваться в детали, но при желании вы можете найти исходник на github.

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