Skip to content

About

сверх лёгкая библиотека для построения админок

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

16 Commits

Folders and files

Repository files navigation

newHelper.js

Наш дискорд сервер!
Our discord server!
https://discord.gg/zetb62mqsS (newHelper.js dev)

  • Библиотека для создания сверхлёгких но очень функциональных админ панелей, один из лучших примеров Object hub, Общий бандл всего сайта составляет всего 280 кб чистого кода, внутренная админ панель со всем html+css+js весит всего 25 килобайт (при gzip размер ещё ниже).
  • Я стараюсь придерживать библиотеку в состоянии "Модульного монолита".
  • Текущая версия - 2.1.7, с невероятно хорошей документацией в коде

Модули в комплекте

  • Широкий движок окон (ресайз, разворот на весь экран, taskbar)
  • Удобные горячие клавиши (press/release колбеки)
  • Роутер (с поддержкой вложенных и динамичных путей)
  • Ультралёгкий аналог l10n
  • Самописный lazy-load (создан для ручного распила файлов а не для сборщиков)
  • Модуль отлова ошибок
  • Простой http клиент с прогрессом загрузки файлов
  • DOM-хелпер
  • Изоляция над Storage
  • Автосохранение форм
  • Драггер

Моя модель версионирования (я не люблю semver):

  • 2 - вечная ветка (ну я хотябы мечтаю об этом)
  • X - номер обновления (например щас готовится 2.2.0 которая на самом деле 2.2)
  • 0 - стабильная версия. Если стоит любая цифра помимо 0 - нестабильная версия
  • (По этой модели 2.1.7 - нестабильная, если хотите стабильную версию берите 2.1)

последний замер min+gzip = 5.01 kb

я использую terser без настроек, а для проверки gzip я просто беру и ставлю новую версию в object hub => я не ломаю совместимость

Особенности

  • Библиотека использует классическое подключение с тегом script и не требует никаких сборщиков/компиляторов. Но если очень хочется вы можете настроить его, но зачем? это же ассемблер из мира веб
  • Зависимости? неа, это ванильный ES11
  • Из-за минималистичности кода вы можете спокойно переопределить любой встроенный метод под свои нужны. В крайнем случае можно прибегнуть к модификации кода библиотеки, но такое мы не рекомендуем делать в случае если вы собираетесь обновляться до самых последних версий
  • Весь код написан внутри фабрики Intl.newHelper без использования глобальных читателей событий. Из-за этого конфликты с остальными библиотеками минимальны (если не нулевые), если вы готовы то можете пробовать запустить newHelper вместе с jQuery или если вы очень хотите реактивность то пробуйте в связке с ультралёгкими реактивными фреймворками (у меня на слуху из адекватных alpine.js)
  • Если вы последователь "14 килобайтных сайтов" то можете смело прогнать библиотеку через минификатор, минифицированный код библиотеки не должен весить больше 5 килобайт, а если отбросить ненужные вам модули и то меньше (например код движка окон составляет приблизительно 50% всего кода библиотеки, если вам не нужен движок окон - оставляйте 2 килобайта gzip-ядра)
  • Если вы научитесь грамотно использовать ленивую загрузку, то ваши и без того лёгкие сайты станут в разы легче (тот же стартовый трафик Object Hub уменьшился 330кб до 180кб при старте из-за разбития всего на lazyload модули)
  • На базе этой библиотеки работает парочка моих сайтов не связанных с админ панелями - GDPS Helper (каталог приватных серверов geometry dash, но там тоже идёт админка для демонлистов), Object hub (каталог с элементами вики движка и hr-платформы для OSC сообщества, вики движок во всю использует окна вместо костылей mediawiki). Если захотеть можно не только админку за 2 часа собрать, но и написать мегасайт за пару недель
  • Библиотека родилась 3 года назад как внутренний инструмент веб сайта GDPS Helper, развивалась она из-за презрения к тяжеловесности react, позже исходный код GDPS Helper стал основоположником Object Hub, в процессе развития которого как раз таки и появились движок окон, горячих клавиш, и более мощная ленивая загрузка
  • Я как разработчик стараюсь следовать философии Unix систем, как пример простота превыше сложности - в коде всего 600 строк кода, или модульность, пусть у меня модули и чуть чуть связаны но каждый модуль отвечает за свою вещь
  • Продолжая прошлый пункт, вы можете использовать newHelper.js везде и всюду, его применение ограничено лишь вашей фантазией, хотите сделать классную админку? либа на это и целится. хотите написать полноценный веб форум? если вы ещё помните GDPS Helper или Object hub это вполне возможно. хотите написать свой фронтенд к Яндекс API? если у вас много времени пожалуйста

Библиотека родилась из внутренних потребностей

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

About

сверх лёгкая библиотека для построения админок

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages