січень 8, 2018 · angular ngx-kit

Ngx-kit — набір інструментів і генератор компонентів для Angular 5

Якщо ви активно працюєте з Angular, то напевно стикалися з тим, що сторонній компонент не підтримує якийсь функціонал, не працює належним чином або виглядає не зовсім так, як того вимагає замовник-дизайнер-бізнес.

Спробуємо розібратися, чому так відбувається і що можна з цим зробити.

TL;DR

У мене з’явилася ідея не зовсім звичайної ліби компонентів. Так-як умови на кожному проекті унікальні, то складна логіка компонентів винесена в сторонній пакет, а потрібні компоненти ви можете швидко згенерувати (за допомогою Angular CLI) прямо в свій проект з готової колекції, отримавши доступ до їх коду та шаблонами.

Проблема

Готові компоненти або навіть ліби компонентів, які ми звикли підключати через npm, дозволяють істотно прискорити швидкість розробки програми. Для UI-компонентів є специфічні проблеми, частіше-всього пов’язані з вимогами щодо дизайну або бізнес-логікою.

Існуючі складності

Варіанти вирішення

ngx-kit

Немає якогось універсального механізму по модифікації компонентів і це справедливо для будь-якого фреймворку.

Але отримавши доступ до коду, ми можемо робити з ним що нам забажається, однак для складних компонентів кількість коду і його складність може зашкалювати. Тому ngx-kit розділений на 2 пакети - core і collection.

@ngx-kit/core

Це самостійний пакет, який містить хелпери для створення компонентів і управління UI. Ядро підтримує AOT, сервер-рендеринг, встановлюється через npm і код покритий тестами.

@ngx-kit/collection

Колекція - це набір генераторів коду, який істотно спрощує роботу з ядром. За кілька секунд ви можете додати будь-який компонент і потім швидко його модифікувати під свої потреби. Ознайомитися зі списком існуючих модулів можна на сайті.

Головна складність

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

Така ціна за гнучкість. Обов’язково враховуйте це і зважуйте "за" і "проти" для кожного проекту.

Зауважу, що складна частина логіки з ядра буде оновлюватися в звичайному режимі.

Плани

Перший стабільний реліз був 1 січня 2018. Тепер на черзі дуже важливі і нагальні фічи.

На даний момент в пріоритеті три модуля:

Посилання

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket