Technologies

TYPHOON

Typhoon — фреймворк для реалізації DI-контейнерів в додатках на Objective-C і Swift. Його завдання зробити можливим впровадження залежностей (Dependency Injection) в нативних мовах iOS.

 

Це легкий, потужний і функціональний фреймворк, який високо оцінює ком'юніті iOS-розробників. 

3 причини використовувати TYPHOON для свого проєкту
01
01
Просте рішення для складних завдань

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

Чим масштабніший додаток, тим складніше це зробити, але навіть в найпростішому варіанті, все одно зросте ймовірність помилок і кількість витрат. Впровадження залежностей розв'язує цю проблему, визначаючи конфігурації через ініціалізатор. Такі класи можна використовувати в тих місцях додатку, де вони потрібні, не дублюючи або фрагментуючи їх, а також не порушуючи інші зв'язки. Простіше кажучи — менше коду в більш гармонійний і легкій для тестування архітектурі.

02
02
Нативність і доступність

Typhoon повністю підтримує всі інструменти Xcode, зокрема, рефакторинг, автодоповнення і перевірку коду. Він неінвазивний і не вимагає застосування макросів і XML, а ще складається всього з 3000 рядків коду. Щоб розібратися, як працює Тайфун потрібно мати достатньо досвіду, але навіть при мінімальних навичках можна просто взяти приклади використання фреймворка і перенести їх у свій додаток. Крім того, творці проєкту активно підтримують його і дуже швидко відповідають на питання спільноти.

03
03
Модульність і інші переваги

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

Висновки

Typhoon — один з фреймворків, що полегшують розробку і масштабування проєкту. Впровадження залежностей можна реалізувати і іншими способами, але саме Тайфун — найпопулярніше готове рішення зі значною кількістю переваг перед самописними аналогами. Він зменшує кількість і складність коду, надає централізоване управління залежностями і насправді полегшує тестування, завдяки невеликій кількості точок дотику з основним кодом програми та докладній документації.

Розробка мобільних додатків
Розробка мобільних додатків

Створюємо мобільні додатки, які вирішують бізнес-задачі клієнтів та спрощують життя користувачів. Навіть якщо ці задачі — із зірочкою. Доставляємо їх у кожну долоньку та кишеню.