Google представив фреймворк Flutter 2 та мову Dart 2.12

Компанія Google представила фреймворк побудови інтерфейсу користувача Flutter 2, який ознаменував трансформацію проекту з фреймворку для розробки мобільних додатків до універсального фреймворку для створення будь-яких типів програм, включаючи програми для настільних систем та web-додатки.

Flutter розглядається як альтернатива React Native і дозволяє на основі однієї кодової бази випускати програми для різних платформ, включаючи iOS, Android, Windows, MacOS і Linux, а також програми для запуску в браузерах. Раніше написані на Flutter 1 мобільні програми після переходу на Flutter 2 без переписування коду можуть бути адаптовані для роботи на робочому столі та в Web.

Основна частина коду Flutter реалізована мовою Dart, а runtime-движок для виконання додатків написано на C++. При розробці програм, крім рідної для Flutter мови Dart, можна використовувати інтерфейс Dart Foreign Function для виклику коду C/C++. Висока продуктивність виконання досягається завдяки компіляції програм у машинний код для цільових платформ. При цьому програму не потрібно перекомпілювати після кожної зміни — Dart надає режим гарячого перезавантаження, що дозволяє вносити зміни до програми, що працює, і відразу оцінювати результат.

У Flutter 2 заявлена ​​повноцінна підтримка створення програм для Web, придатна для робочих впроваджень. Згадується три основні сценарії застосування Flutter для Web: розробка відокремлених web-додатків (PWA, Progressive Web Apps), створення односторінкових web-додатків (SPA, Single page apps) та перетворення мобільних додатків на web-додатки. З особливостей засобів розробки для Web називається задіяння механізмів прискорення малювання 2D і 3D-графіки, гнучке компонування елементів на екрані і компілюваний WebAssembly двигун відмальовки CanvasKit.

Підтримка програм для робочого столу знаходиться на стадії бета-тестування і буде стабілізована цього року в одному з наступних випусків. Про підтримку розробки з використанням Flutter заявили компанії Canonical, Microsoft та Toyota. Компанія Canonical вибрала Flutter як основний фреймворк для своїх додатків і в тому числі застосовує Flutter при розробці нового інсталятора для Ubuntu. Компанія Microsoft адаптувала Flutter для складних пристроїв із кількома екранами, таких як Surface Duo. Компанія Toyota планує використати Flutter для автомобільних інформаційно-розважальних систем. На основі Flutter також побудована оболонка користувача мікроядерної операційної системи Fuchsia, що розвивається в Google.

Google представив фреймворк Flutter 2 та мову Dart 2.12

Одночасно опубліковано реліз мови програмування Dart 2.12, в якому продовжено розвиток кардинально переробленої гілки Dart 2. Dart 2 відрізняється від початкового варіанту мови Dart застосуванням сильної статичної типізації (типи можуть виводитися автоматично, тому вказівка ​​типів не є обов'язковою, але динамічна типізація більше не використовується і обчислений спочатку тип закріплюється за змінною і надалі застосовується сувора перевірка типу).

Випуск примітний стабілізацією режиму безпечного використання значення Null (null safety), який дозволить уникнути крахів, викликаних спробами використання змінних, значення яких не визначено та виставлено в Null. Режим передбачає, що змінні що неспроможні мати невизначені значення, якщо їм явно присвоюється значення null. У режимі строго враховуються типи змінних, що дозволяє компілятор застосовувати додаткові оптимізації. Відповідність типів перевіряється на етапі компіляції, наприклад, у разі спроби присвоєння значення "Null" змінної з типом, що не має на увазі невизначений стан, таким як "int", буде виведена помилка.

Іншим важливим покращенням Dart 2.12 стала стабільна реалізація бібліотеки FFI, що дозволяє створювати високопродуктивний код, з якого можна звертатися до API мовою Сі. Внесено оптимізацію продуктивності та розміру. Додані інструменти для розробників та система профілювання коду, написані з використанням Flutter, а також нові плагіни для розробки додатків на Dart та Flutter для Android Studio/IntelliJ та VS Code.

Google представив фреймворк Flutter 2 та мову Dart 2.12


Джерело: opennet.ru

Додати коментар або відгук