Flutter

Flutter
ТипПрограмний каркас
АвторGoogle
РозробникиGoogle та суспільство
Перший випускAlpha (v0.0.6) / травень 2017; 7 років тому (2017-05)[2]
Стабільний випуск1.5.4 (7 травня 2019; 5 років тому (2019-05-07)[3])
Нестабільний випускRelease Preview 1 (червень 2018; 6 років тому (2018-06)[4])
Платформа

Розробка: Windows, MacOS та Linux;

Моб. додатки для: Android, iOS та Google Fuchsia
Мова програмування C,C++, Dart 2 та Skia Graphics Engine [5]
Ліцензіямодифікована ліцензія BSDd
Онлайн-документаціяapi.flutter.dev(англ.)
Репозиторійgithub.com/flutter/flutter
Вебсайтflutter.io

Flutter — це програмний каркас із відкритим кодом для створення додатків для платформ Android та iOS, а також на вебі, розроблений компанією Google. Він є основним способом створення додатків для Google Fuchsia.[6] Весь графічний інтерфейс Google Fuchsia створено за допомогою Flutter.[7]

Історія

Перша версія «Sky» створювала мобільні додатки тільки для платформи Android. Він був представлений на конференції розробників Dart з метою надати швидкий рендеринг до 120 кадрів на секунду.[8]

Архітектура

Flutter складається з:

  • Flutter рушійпрограмний рушій для рендерингу, написаний в основному на C++ з використанням графічної бібліотеки Google Skia. Він також використовує SDK платформ Android або iOS.[9]
  • Базової бібліотеки (Foundation library) — бібліотека складається з класів та функцій (написані на Dart), які використовують для побудови Flutter програм, для взаємодії із Flutter рушієм.[9][10]
  • Віджетів. Дизайн інтерфейсу користувача у Flutter будують з віджетів. Віджет у Flutter являє собою незмінний об'єкт, який описує частину інтерфейсу користувача. Вся графіка, текст, фігури та анімації створюють за допомогою віджетів. Складні віджети створюють шляхом об'єднання простих. На поточний час Flutter містить два набори віджетів, які відповідають відповідним принципам побудови:
    • віджети Material Design використовують дизайн Google;[11]
    • віджети Cupertino імітують дизайн Apple iOS.[12]

Особливості

Архітектура Flutter відрізняється від інших програмних каркасів (React, Apache Cordova) тим, що він не використовує для побудови інтерфейсу мови HTML, CSS та Javascript, відповідно і вбудований рушій WebView. Використовується власний рушій для рендерингу.

Flutter використовує тільки одну мову програмування Dart.

Посилання

  1. https://github.com/flutter/flutter/graphs/contributors
  2. Архівована копія. Архів оригіналу за 5 лютого 2019. Процитовано 29 липня 2018.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  3. Архівована копія. Архів оригіналу за 16 лютого 2019. Процитовано 29 липня 2018.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  4. Архівована копія. Архів оригіналу за 28 липня 2018. Процитовано 29 липня 2018.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  5. Архівована копія. Архів оригіналу за 9 серпня 2018. Процитовано 29 липня 2018.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  6. Google’s "Fuchsia" smartphone OS dumps Linux, has a wild new UI. Ars Technica. Архів оригіналу за 26 вересня 2019. Процитовано 29 липня 2018.
  7. Google начала тестировать таинственную ОС Fuchsia на хромбуках Pixelbookdate=02.01.2018. ITCua. Архів оригіналу за 29 липня 2018. Процитовано 29 липня 2018.
  8. Amadeo, Ron (1 травня 2015). Google’s Dart language on Android aims for Java-free, 120 FPS apps. Ars Technica. Архів оригіналу за 6 травня 2015. Процитовано 29 липня 2018.
  9. а б Technical Overview - Flutter. flutter.io (англ.). Архів оригіналу за 13 грудня 2017. Процитовано 13 грудня 2017.
  10. foundation library - Dart API. docs.flutter.io (англ.). Архів оригіналу за 13 грудня 2017. Процитовано 13 грудня 2017. [Архівовано 2017-12-13 у Wayback Machine.]
  11. Material Design Widgets - Flutter. flutter.io (англ.). Архів оригіналу за 13 грудня 2017. Процитовано 13 грудня 2017.
  12. Cupertino (iOS-style) Widgets - Flutter. flutter.io (англ.). Архів оригіналу за 13 грудня 2017. Процитовано 13 грудня 2017.