top of page
Фото автораТаїсія Красноштан

Підбірка корисних репозиторіїв на GitHub від техліда Keiki


Підбірка репозиторіїв GitHub


У 2023 році платформа GitHub об'єднувала понад 100 млн юзерів — це 1,5% всіх користувачів глобальної мережі. Щодня GitHub відвідує близько 14 млн користувачів і створюється близько 130 000 нових проєктів. Проте у цьому морі репозиторіїв не так легко знайти справжні перлини. Ми поспілкувалися з Максимом Березанським, Tech Lead в Keiki з екосистеми Genesis, про те, як знайти найкращі репозиторії, що можуть суттєво покращити робочий процес і пришвидшити розробку проєктів. Максим поділився своїми фаворитами та розповів про критерії, якими керується при виборі корисних інструментів для розробки.



Сім репозиторіїв, на які варто звернути увагу 


Vue.js



  • Опис: легкий і простий у використанні фреймворк для побудови інтерфейсів користувача, який спрощує розробку інтерактивних вебдодатків. Його основна мета — забезпечити зручність і продуктивність для розробників.


  • Чим він корисний: є чудовим вибором для новачків і досвідчених розробників завдяки його інтуїтивності та легкості в освоєнні. Він забезпечує простий спосіб створення інтерактивних інтерфейсів з мінімальними налаштуваннями.


  • Приклади використання: «Раніше я використовував React, але після знайомства з Vue я більше не хочу повертатися назад. Цей фреймворк дозволяє значно швидше і простіше працювати з фронтендом. Також його б я рекомендував для швидкого старту», — каже Максим.


  • Переваги:

    • Простота освоєння.

    • Гнучкість для роботи над різними проєктами, від малих додатків до великих систем.

    • Велика кількість інтеграцій та плагінів.


  • Недоліки:

    • Попри всі переваги, Vue.js менш поширений у великих корпоративних середовищах порівняно з React чи Angular. Це може вплинути на вибір компанії, якщо їхня екосистема вже налаштована на інші фреймворки.

    • Vue.js має відносно менший набір корпоративних інструментів та підтримки, що може ускладнити інтеграцію у великих проєктах із специфічними вимогами.



Nuxt.js


  • Опис: це потужний фреймворк для Vue.js, який забезпечує повний інструментарій для створення сучасних вебзастосунків. Він спрощує процес розробки завдяки вбудованим модулям, зокрема для SEO-оптимізації, серверного рендерингу та інтеграції з API.


  • Чим він корисний: дозволяє швидко створювати динамічні інтерфейси та вебзастосунки, зосереджуючи увагу на продуктивності та зручності для розробників. Особливо корисний у проєктах, де важлива SEO-оптимізація і серверний рендеринг (SSR), що робить його відмінним вибором для контентних і маркетингових сайтів.


  • Приклади використання: «Ми використовуємо Nuxt для побудови всього фронтенду. Він ідеально підходить для складних проєктів, адже дозволяє структурувати код і керувати модулями за допомогою готових рішень. Це дуже зручно та економить час при роботі над великими проєктами», — каже Максим.


  • Переваги:

    • Швидка інтеграція з Vue.js.

    • Підтримка SSR (серверного рендерингу), що покращує SEO.

    • Модульна архітектура з великою кількістю готових модулів (наприклад, для автентифікації або кешування).

    • Вбудована підтримка маршрутизації, Vuex і автоматичної генерації сторінок.


  • Недоліки:

    • Nuxt.js може стати занадто складним для новачків у Vue.js, особливо через велику кількість налаштувань та модулів. Це може спричинити затримки в розробці для тих, хто тільки починає працювати з фреймворком.

    • Підтримка більш складних функцій, таких як SSR (server-side rendering), може збільшити час компіляції та вимагати додаткового досвіду в налаштуванні серверних рішень.



Serverless Framework


  • Опис: це інструмент для керування безсерверною архітектурою, який дозволяє швидко та зручно деплоїти серверлесс-функції на різні хмарні платформи, такі як AWS Lambda, Google Cloud, Microsoft Azure тощо.


  • Чим він корисний: ідеальний для тих, хто хоче розробляти масштабовані серверлесс-застосунки без необхідності керувати інфраструктурою. Serverless значно спрощує деплой та управління серверлесс-функціями, дозволяючи зосередитися на коді та бізнес-логіці.


  • Приклади використання: «Ми використовуємо Serverless Framework для бекенду, оскільки він значно спрощує роботу з деплоєм AWS Lambda. Це зручно, особливо коли потрібно швидко впроваджувати зміни», — додає Макс.


  • Переваги:

    • Підтримка різних хмарних платформ (AWS, Azure, Google Cloud).

    • Можливість легко масштабувати та деплоїти серверлесс-функції.

    • Мінімізація витрат на інфраструктуру, оскільки оплата відбувається за використання.


  • Недоліки:

    • Вартість використання Serverless Framework може різко зрости через неправильне налаштування або недостатню оптимізацію функцій. Це може призвести до неефективного використання хмарних ресурсів.

    • Висока залежність від постачальників хмарних сервісів, таких як AWS, Google Cloud і Azure. Якщо сервіс постачальника змінюється або виходить з ладу, це може створити непередбачувані ризики.



Strapi


  • Опис: це опенсорс headless CMS, що дозволяє розробникам створювати гнучкі та кастомізовані API для управління контентом. Цей інструмент зручний як для малих, так і для великих проєктів.


  • Чим він корисний: дозволяє легко керувати контентом, створювати API та інтегрувати CMS із фронтендом, що робить його ідеальним вибором для проєктів, де потрібно гнучке керування контентом без обмежень.


  • Приклади використання: «Strapi дозволяє швидко створювати API і кастомізувати їх для проєктів різного рівня складності. Ми плануємо його використовувати для керування контентом у різних вебзастосунках, бо він дуже гнучкий. Цей репозиторій — мій особистий фаворит», — розповідає Макс.


  • Переваги:

    • Підтримка різних баз даних (PostgreSQL, MongoDB, MySQL тощо).

    • Простий інтерфейс для адміністрування контенту.

    • Легке налаштування кастомних API.


  • Недоліки:

    • Strapi, хоча й пропонує велику кастомізацію, може бути важким для масштабування на великих проєктах із великою кількістю користувачів та API. Продуктивність може страждати, якщо Strapi не оптимізовано для високого навантаження.

    • Підтримка TypeScript все ще в розробці, що може бути суттєвою проблемою для команд, які покладаються на строгі типи в коді.



Airbnb JS Styleguide


  • Опис: один із найпопулярніших стилістичних гайдів для написання JavaScript-коду, який допомагає підтримувати читабельність і організованість коду в команді.


  • Чим він корисний: забезпечує стандартизацію коду у великих командах, допомагаючи розробникам слідувати єдиним правилам написання коду, що знижує кількість помилок і підвищує продуктивність.


  • Приклади використання: «Це гайд ми використовуємо для підтримки єдності стилю коду у команді. Завдяки йому наш код стає чистим і легким для читання», — ділиться Максим.


  • Переваги:

    • Відмінна документація та чітко визначені правила стилю коду.

    • Підтримка найкращих практик для роботи з JavaScript.


  • Недоліки:

    • Досить складний у впровадженні на вже існуючих проєктах з нерівномірним стилем коду. Велика кількість правок може призвести до збоїв у роботі проєкту або ускладнити його підтримку.

    • Airbnb Styleguide не є універсальним рішенням для всіх проєктів, і його суворі вимоги можуть конфліктувати з уже встановленими правилами стилю в команді.



Vite


  • Опис: сучасний інструмент для збірки проєктів на базі Vue.js, React або інших фреймворків. Він забезпечує миттєвий запуск проєктів та швидке оновлення модулів під час розробки.


  • Чим він корисний: значно прискорює процес розробки завдяки швидкій збірці та миттєвому оновленню, що робить його чудовим вибором для розробників, які шукають альтернативу Webpack.


  • Приклади використання: «Ми використовуємо Vite для швидшої збірки наших Vue.js проєктів. Це значно економить час на великих проєктах», — зазначає Макс.


  • Переваги:

    • Миттєвий запуск і швидке оновлення.

    • Простота у використанні, особливо для Vue.js та React.

    • Легка інтеграція з TypeScript.


  • Недоліки:

    • Хоча Vite і швидкий для нових проєктів, на старих проєктах з великою кількістю залежностей інтеграція може бути проблематичною, особливо якщо використовуються специфічні плагіни або налаштування Webpack.

    • Наразі для Vite доступно менше плагінів, ніж для Webpack, що може обмежити можливості кастомізації та розширення на великих проєктах.



Prisma


  • Опис: сучасний ORM для роботи з базами даних, який надає зручний API для взаємодії з SQL базами даних. Він дозволяє зручно працювати з даними і знижує складність при написанні SQL-запитів.


  • Чим корисний: спрощує роботу з базами даних, зменшуючи кількість коду та забезпечуючи автоматичну синхронізацію моделей з базою даних. Він чудово підходить для швидкої розробки з фокусом на продуктивність.


  • Приклади використання: «Prisma значно спрощує роботу з базами даних, зменшуючи ручне написання SQL-запитів. Він надає простий інтерфейс для взаємодії з даними», — ділиться Максим.


  • Переваги:

    • Інтуїтивний API для роботи з базами даних.

    • Автоматична генерація моделей на основі бази даних.


  • Недоліки:

    • Prisma обмежений у своїй підтримці деяких специфічних типів запитів SQL, що може бути проблемою для розробників, які працюють з дуже специфічними або складними базами даних.

    • На великих проєктах з нестандартними вимогами до баз даних Prisma може не пропонувати достатньо гнучкості для кастомізації запитів та обробки даних.

    • Складності конфігурації для роботи з serverless бекендом (для коректної роботи з serverless можуть знадобитися додаткові зусилля).



Як обрати репозиторій? 


Максим Березанський, Tech Lead в Keiki

«Раніше я міг додати будь-який репозиторій, не звертаючи увагу на баги, але тепер ставлюсь до вибору набагато ретельніше», — зауважує Максим. При виборі репозиторія він пропонує керуватися кількома ключовими критеріями:


  1. Офіційність джерела. Якщо мова йде про SDK до певного інструменту, важливо, щоби репозиторій був офіційним від розробника сервісу. Це гарантує актуальність та надійність коду. Наприклад, для роботи з Google Ads SDK важливо обирати саме офіційну версію.


  2. Кількість зірок на GitHub. Популярність репозиторія, відображена в кількості зірок, часто вказує на те, що більше людей вже використовували цей інструмент. Це може свідчити про виявлення та вирішення більшої кількості багів.


  3. Кількість тижневих завантажень в NPM. Частота завантажень у NPM (для Node.js) також є важливим індикатором активності й популярності репозиторія. Більше завантажень означає, що інструмент активно використовується в спільноті.


  4. Розмір залежностей та можливість оптимізації. На це треба звертати увагу, щоб уникнути перевантаження проєкту зайвим кодом.

© 2035 by Business Name. Made with Wix Studio™

bottom of page