Рубріки: Теорія

Що таке Flutter та які його особливості

Андрій Губін

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

Адже вам потрібно одночасно задовільнити потреби як користувачів Android, так і iOS. А ще добре б згадати про ПК-боярів і написати версію під Mac та «вікна». І Linux, не забуваймо про Linux!

Ефективний менеджер підбере штат розробників для кожної з платформ, а то й пожертвує кимось задля економії. Але є кращі варіанти. Один із них — Flutter.

Що таке Flutter

Flutter — це безкоштовний кросплатформовий SDK і фреймворк з відкритим кодом. Підтримкою та розвитком інструменту розробки займається Google. З цієї причини під Android пишеться, як по маслу, а для iOS потрібно «допилювати» деякі специфічні елементи на Swift.

Але, в більшості випадків, для створення програм на Flutter використовується одна мова програмування (про неї розповімо в наступному розділі) і один масив коду.

З чого складається Flutter?

Мова програмування Dart

У Flutter використовується мова програмування Dart, С-подібний «вбивця» JavaScript, що підтримується тим же Google. Спочатку він дозволяв писати програми тільки під мобільні платформи, але буквально кілька років тому з’явилася версія Dart 2.6, з якою стала доступна розробка десктопних версій програм. 

Бібліотека Foundation

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

Двигун Flutter

Написаний переважно на С++. Здатний використовувати або графічну бібліотеку Google Skia, або графічний шар Impeller для забезпечення підтримки низькорівневого рендерингу. Також двигун Flutter взаємодіє з вузькоспрямованими SDK для Android та iOS. Це дозволяє реалізувати спеціальні можливості, файлове введення-виведення, вбудовану підтримку модулів, які підключаються, та інші функції.

Flutter DevTools (набори віджетів та засоби розробки)

Flutter містить два набори віджетів. Перший, Material Design, реалізує мову дизайну від Google з такою самою назвою. Другий набір віджетів під назвою Cupertino реалізує рекомендації Apple щодо інтерфейсу iOS Human.

Переваги Flutter

До переваг Flutter належать…

1Hot-reload

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

2 Швидкий запуск MVP

Підійде, якщо інвестор уже хоче подивитися «товар», а редактор коду ще не відкривався. Для розробки мінімально життєздатного продукту вистачить одного розробника, а швидко навести красу в додатку допоможе базовий набір віджетів, які можна персоналізувати та створити оригінальний UI.

3 Широке співтовариство

Flutter розробляють з 2015 року і за цей час він обріс активною спільнотою, яка продовжує зростати. Знайти людину, яка пригостить тебе дружньою порадою, а то й шматком свіжого коду, буде не важко.

4 Нерозрізненість з Native-застосунками

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

5 Робота з популярними IDE

Flutter «товаришує» з найбільш затребуваними IDE та редакторами коду, такими як:

  • Visual Studio Code;
  • Emacs;
  • Android Studio;
  • IntelliJ IDEA.

Інші IDE також можна використовувати завдяки плагінам, або з командного рядка за допомогою інструментів Flutter.

6 Гейміфікація

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

7 Прискорення тестування

Нагадаємо, що програма, створена на Flutter, має загальний масив коду. Відповідно, вашій команді тестувальників потрібно буде менше часу для перевірки на помилки. 

Успішні проєкти, реалізовані на Flutter

Google

Корпорація-господар не соромиться використовувати фреймворк для розробки власних програм. Наприклад, на Flutter було переписано та запущено в Індії Google Pay — систему електронних платежів для пристроїв на Android. Також за допомогою Flutter здійснюється підтримка Google Assistant, Google Ads та Google Stadia.

Tencent

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

А ось і список деяких додатків корпорації:

  • English AITeacher — інструмент для вивчення англійської мови, який підлаштовує програму під кожного студента;
  • Now Live — платформа для телетрансляцій та live-стримів;
  • Mr.Translator — голосовий перекладач, а також помічник у вивченні іноземних мов;
  • DingDang — голосовий помічник на основі ШІ, який може зачитати користувачу прогноз погоди, розповісти свіжі новини, розпланувати справи та багато іншого.

BMW

Інхаус-команда розробників автогіганта за допомогою Flutter створила програму MyBMW — універсальний інтерфейс для взаємодії з автомобілями виробника. За допомогою програми автомобілісти можуть перевіряти такі показники як рівень палива в баку або заряд акумулятора. Також власник авто отримує повідомлення, якщо автомобіль настав час відправити на сервісне обслуговування. 

Alibaba Group

Ще один китайський гігант вдався до використання Flutter для створення власного продукту. На фреймворку від Google розроблено програму Xianyu — майданчик для продажу вживаних товарів. Хоча для багатьох китайців, які розуміються на економії, ця платформа стала своєрідною соціальною мережею.

І таких прикладів є десятки. З деякими успішними кейсами можна ознайомитись на сайті Flutter. Багато хто з них супроводжується мотивуючими відеороликами, так що насолоджуйтесь!

Конкуренти Flutter

Flutter — далеко не єдиний на ринку кросплатформної розробки, і у нього достатньо популярних конкурентів з активними великими спільнотами та підтримуючим IT-гігантом за спиною:

  • React Native. Популярний кросплатформовий фреймворк від Facebook із відкритим кодом. За основу взято бібліотеку React, а код пишеться на JavaScript. Застосовується компаніями-гігантами Tesla, Walmart, Pinterest, Uber та іншими.
  • Ionic. Відкритий SDK для розробки гібридних мобільних програм. Оригінальна версія була створена на основі AngularJS та Apache Cordova. Для роботи з ним потрібно знати JavaScript, HTML та CSS. Продуктивність середня.
  • Xamarin. Платформа від Microsoft, яка втрачає популярність. Потребує знань C# та .Net. Xamarin непогано оптимізований, що дає швидкість роботи, близьку до нативних програм.
  • PhoneGap. Дистрибутив Apache Cordova, так що, як і з Ionic, потрібні знання JavaScript, HTML та CSS. Відрізняється невисокою продуктивністю, порівняно з нативними інструментами.
  • Kotlin Multiplatform Mobile. SDK від JetBrains, заснований, як ви могли здогадатися, на Kotlin. До кінця 2022 року перебував на етапі бета-тестування, що не завадило платформі зацікавити такі компанії як Netflix, Philips, Autodesk, Baidu та інших.

Перспективи Flutter

Сьогодні сумнівів у чудових перспективах Flutter не виникає. Фреймфорк та Dart регулярно оновлюються, обростаючи новими можливостями, а Google продовжує бути оплотом могутності та стабільності.

У 2022 році, за даними Statista, Flutter зайняв шосте місце серед фреймворків, трохи обійшовши той же React Native.

І його популярність продовжує зростати, а цікавість до Flutter з боку технологічних гігантів підтверджує перспективність фреймворку.

Якщо ж говорити про вакансії, то їхня кількість на ринку також збільшується. Зараз на DOU висить 16 вакансій Flutter-розробників. Для порівняння, під React Native відкрито 28 позицій. 

Висновок

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

Останні статті

Українські програмісти створили Lağoda QT — гру-головоломку кримськотатарською мовою

Українські програмісти створили безплатну гру-головоломку Lağoda QT.  Кожен рівень — вірш одного з видатних кримськотатарських…

07.05.2024

В Copilot для Microsoft 365 додали українську мову

Корпорація Microsoft оголосила про підтримку української мови у Copilot для Microsoft 365. Українська мова входить…

07.05.2024

Google безплатно навчатиме створювати чат-боти за допомогою Gemini. Потрібно тільки знання Python

Корпорація Google запустила реєстрацію задля участі в безплатній програмі Startup School: Gen AI. Програма безплатна…

07.05.2024

Вакансій і наймів більше, а зарплати — менше: що відбувалося на ринку праці у квітні

В квітні на ринку праці збільшилася кількість вакансій для IT-фахівців. На DOU та Djinni спостерігались…

07.05.2024

І всього лише $300. Китайці представили ноутбук на базі RISC-V для ШІ-девелоперів

Китайський стартап SpacemiT представив MuseBook — ноутбук на базі восьмиядерного процесора K1 RISC-V, орієнтований на…

06.05.2024

Учасники Brave1 створили ШІ-платформу HARVESTER для органів держбезпеки

Учасники Brave1, українська команда MATHESIS, розробила для органів держбезпеки платформу HARVESTER на основі штучного інтелекту.…

06.05.2024