Чому Flutter ідеально підходить для кросплатформенної розробки
Усі статті, обговорення, новини про Mobile — в одному місці. Підписуйтеся на телеграм-канал!
Усім привіт! Мене звати Ігор, і я працюю Flutter-розробником в компанії Anadea. Я впевнений, багато з вас помітили, що за останні роки Flutter активно зростає.
Часи, коли фреймворк був просто хайповою технологією і розробники закочували очі при його згадці, пророкуючи швидку смерть, давно минули. Смерті не сталося (на killedbygoogle ви Flutter не побачите). Він розвивається понад пʼять років, залучаючи все більше людей, і вже завоював звання найкращого фреймворку для кросплатформенної розробки.
Спільнота розробників надає безліч ресурсів та інформації для новачків і досвідчених розробників, зокрема велику кількість відкритих джерел, уроків, бібліотек та плагінів, що полегшує процес навчання та роботу з фреймворком.
Попит на Flutter надалі зростає, зокрема через поширення його використання для розробки вебзастосунків (Flutter для Web) та настільних застосунків (Flutter для Desktop). Це свідчить про значний успіх і визнання цього фреймворку на сучасному програмному ринку.
Тому настав час поговорити про це як про технологію, яка існує вже деякий час і існуватиме ще довго. Базуючись на своєму досвіді, я трохи розповім про конкуренцію Flutter з нативною розробкою та проаналізую ситуацію на ринку.
Статтю також можна прочитати англійською.
Чому Flutter — це круто
Отже, ось три найпривабливіші речі у Flutter, які надихають програмістів використовувати цей фреймворк. Але якщо ви не технічний спеціаліст, то не поспішайте закривати сторінку. Нижче ви знайдете переваги використання Flutter для бізнесу.
Кросплатформа
Менеджери завжди дивувалися: навіщо писати те саме для різних платформ (iOS, Android, Web, Desktop)? Тому з незапам’ятних часів світ заполонили різноманітні інструменти розробки, які допомагають об’єднати розробку для всіх платформ в одному проєкті — на одній базі коду і навіть на одній мові програмування. Серед них були (і залишаються) Xamarin, Ionic, React Native і Flutter — останній можна використовувати для написання чудових програм для iOS, Android та Web одночасно.
Окрім як для мобільних застосунків, я та мої колеги також використовували Flutter Web у продакшн-проєкті і навіть працювали там з Bluetooth Web (так, така технологія є, і її можна використовувати в Flutter).
Підтримка від Google
Flutter і мова програмування Dart (мова, на якій розробляються програми Flutter) є творіннями Google. Лідер галузі настільки сильно вірить у технології, що навіть випустив цілу операційну систему Fuchsia OS, інтерфейс якої побудовано на Dart. Це викликає оптимістичний настрій щодо майбутнього Flutter, хоча почуття щодо самої Fuchsia OS у мене доволі стримані.
Flutter постійно оновлюється та розвивається завдяки команді розробників інженерів Google, які працюють над виправленням помилок, вдосконаленням швидкості та продуктивності, а також додаванням нових функцій та можливостей. Google надає докладну та добре структуровану офіційну документацію для Flutter. Ця документація містить інструкції, приклади та матеріали для навчання, які спрощують процес вивчення та використання фреймворку.
Сумісний з Native
Остання і найбільша перевага Flutter — це можливість перетягувати нативний код у проєкт. Flutter дозволяє вам вставляти код, написаний на Swift, як плагін, і використовувати цю специфічну iOS-фічу. Є така ж можливість і на інших платформах, тож відповідь для всіх, хто думає, що Flutter не може все: він може, єдине питання — це час для реалізації.
Саме це спонукало мене перейти від нативної розробки Android до розробки Flutter: це неймовірна вбивча функція для бізнесу. Дуже поширена проблема з Xamarin, Ionic (та менше з React Native) полягає в тому, що вам потрібно вказати всі побажання відразу, тому що можуть виникнути ситуації, коли функція, яку хоче замовник після півроку або навіть після кількох років розробки, не може бути реалізована.
З Flutter цієї проблеми немає, адже він надає спеціальні пакети. Вони дозволяють розробникам звертатися до нативних API та функцій, які не підтримуються безпосередньо в Flutter. Завдяки цьому можна використовувати всі можливості платформи, коли це необхідно, і взаємодіяти з різними пристроями та сервісами, що підтримуються на певній платформі.
Також подивімося на кількість запитів: останні 12 місяців Flutter стабільно тримає перше місце серед кросплатформенних фреймворків за GoogleTrands та Statista. Тепер перейдемо від цифр до фактичного аналізу та переваг Flutter порівняно з нативними рішеннями.
Вартість розробки Flutter-застосунків
Нативні застосунки не мають суттєвих недоліків, і їхні користувачі можуть послуговуватися всіма видами складних функцій. Водночас їхня розробка та підтримка потребують значних інвестицій. Це тому, що для кожної платформи потрібна команда розробників.
Відповідно до їхніх особливостей обидві команди повинні адаптувати бізнес-логіку до ваших вимог і дублювати логіку інтерфейсу та макет. А з Flutter вам потрібна лише одна команда розробників, тому процес розробки буде просто швидшим.
Через це малобюджетний Flutter стає все популярнішим порівняно з нативними рішеннями. Він дозволяє розробникам використовувати єдину кодову базу, що значно знижує вартість розробки. Знову ж таки, що стосується нативних технологій, розробникам доводиться писати код для кожної платформи, що неминуче потребує додаткової роботи та бюджету.
Підтримка коду також є важливим елементом розробки та підтримки проєкту загалом. У більшості випадків для підтримки нативних застосунків потрібна більша команда, тоді як застосунок, написаний на Flutter, може підтримувати один розробник.
Native Team |
Flutter Team |
1 QA |
1 QA |
2 IOS developers |
2 Flutter developers |
2 Android developers | |
2 Web developers |
1 Flutter developer |
1 Designer |
1 Designer |
|
|
For one month rate |
Android + IOS |
Android + IOS + Web |
Profit |
Native |
160 * 50 * 4 = $ 32000 |
160 * 50 * 6 = $ 48000 |
$ 16000 |
Flutter |
160 * 50 * 2 = $ 16000 |
160 * 50 * 3 = $ 24000 |
$ 8000 |
*візьмемо для прикладу ціну погодинної роботи — $ 50
З мого досвіду та досвіду експертів нашої команди можна стверджувати, що використання Flutter заощаджує до 40% на розробці та до 30% на дизайні програми. Однак проєкти бувають різними, до того ж від кількості платформ залежить, чи буде це Android та iOS, чи Flutter також буде використовуватися для Web чи Desktop. Іноді Flutter може заощадити до 15% бюджету, а іноді до 40%.
Випадки використання Flutter
Коли варто вибрати Flutter, а коли — нативну розробку?
Тепер Flutter використовується на проєктах будь-якого розміру, зокрема й для великих бізнес-застосунків, як-от eBay, Crédit Agricole та GooglePay. Зараз кількість програм (у відкритому списку), створених у Flutter, сягає 3,000.
Що стосується нативних технологій, розробники використовують їх для створення складних нішевих застосунків з розширеними функціями. Таким прикладом є розробка ігор, додатків AR/VR, застосунків, які використовують функціональність Bluetooth на 100%, і, звичайно, застосунків, розроблених для однієї платформи.
У таблиці нижче показано випадки використання Flutter і нативних технологій.
Flutter |
Native |
MVP apps |
Розробка високопродуктивних програм з сильним OS Embedded зв’язком між додатком та девайсом |
Якщо ви націлені на кілька платформ одночасно. |
Швидкі оновлення програми на основі випуску кожної нової версії ОС |
Створення спільного дизайну для всіх платформ |
Потреба у складних функціях із високою надійністю |
Швидке охоплення ширшої цільової аудиторії та скорочення часу виходу на ринок |
Створення додатків лише для однієї платформи |
Розширені плагіни ОС із простою логікою |
Розробка AR/VR додатків |
Розробка додатків за обмеженого бюджету |
Створення Al-triggered програми з великими даними |
Створення ігрових додатків |
Висновок
Якщо підсумувати все, що сказано вище, можна зробити такі висновки:
- Flutter — чудове рішення для скорочення часу та бюджету розробки.
- Жодна з технологій не є універсальним рішенням для ваших конкретних проєктів і потреб бізнесу, кожен випадок індивідуальний.
- У Flutter ви можете створити MVP-застосунки за
2-3 місяці. Розробка за допомогою Flutter обійдеться вам у середньому на 30% дешевше, ніж створення двох нативних програм. А можливість підтримки Web і Desktop може ще більше збільшити цю цифру. - Нативні технології завжди залишатимуть за собою частину ринку, оскільки вони краще підходять для складних нішевих програм з розширеними функціями. Прикладами, які погано поєднуються з Flutter, є ігри та програми AR/VR.
Отже, чи є Flutter гарним вибором для розробки програм? Команда, з якою я працюю, та я особисто вважаю, що Flutter — чудовий інструмент для швидкого розширення клієнтської бази, оцифрування бізнесу та розширення його в диджитал-середовищі.
Якщо ви чи ваш клієнт шукаєте рішення для швидкої розробки програми для iOS та Android без шкоди для якості та бюджету, сміливо обирайте Flutter, ви не помилитесь. Цей фреймворк допоможе вам створити потужні та красиві застосунки, які задовольнять потреби вашого бізнесу, клієнта та користувачів.
47 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів