A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Flutter | |
Logo | |
Základné informácie | |
---|---|
Autor | |
Vývojár | Google a komunita |
Vyvinutý v | C, C++, Dart[1] |
Operačný systém | Android, iOS, Google Fuchsia, Web platform, Windows, macOS a Linux |
Typ softvéru | Aplikačný framework |
Licencia | Nová BSD licencia |
Ďalšie odkazy | |
Webová stránka | flutter.dev |
Pozri aj Informačný portál |
Flutter je open-source používateľské rozhranie SDK na vývoj softvéru, vytvorené spoločnosťou Google. Používa sa na vývoj aplikácií pre Android, iOS, Windows, MacOS, Linux, Google Fuchsia a web.
Prvá verzia Flutter bola známa pod označením „Sky“ a bežala na operačnom systéme Android. Bola odhalená na vývojárskom samite Dartu v roku 2015, s tým, že je možné v tejto verzii Flutteru vykresliť na obrazovku 120 snímkov za sekundu konzistentnou rýchlosťou.[2] Hlavnou témou počas Google Developer Dní v Šanghaji bolo oznámenie ukážky vydania Flutter Release 2 spoločnosťou Google, čo predstavovalo posledné veľké vydanie pred oficiálnou verziou Flutter 1.0. Následne 4. decembra 2018 bola na podujatí Flutter Live vydaná verzia Flutter 1.0, ktorá označuje prvú „stabilnú“ verziu tohto Frameworku. 11. decembra 2019 bola na udalosti Flutter Interactive vydaná verzia Flutter 1.12.[3]
Architektúra frameworku
Medzi hlavné komponenty Flutteru patria:
- Platforma Dart
- Flutter modul
- Základná knižnica
- Dizajnovo špecifické widgety
Platforma Dart
Flutter aplikácie sú napísané v jazyku Dart a využívajú mnohé pokročilejšie funkcie jazyka.[4]
V systémoch Windows, MacOS a Linux sa prostredníctvom polo-oficiálneho projektu Flutter Desktop Embedding, spúšťa Flutter vo virtuálnom stroji Dartu, ktorý obsahuje spúšťací modul just-in-time. Pri písaní a ladení aplikácie používa Flutter „Just In Time“ (okamžitú) kompiláciu, ktorá umožňuje „hot reload“ (Rýchle obnovenie), pomocou ktorého je možné vložiť zmeny v zdrojových súboroch do bežiacej aplikácie. Flutter dokonca rozširuje túto funkciu o podporu okamžitého obnovenia stavu aplikácie (stateful hot reload), kde vo väčšine prípadov sa zmeny zdrojového kódu môžu okamžite prejaviť v bežiacej aplikácii bez toho, aby ju bolo potrebné reštartovať alebo by sa stratil jej aktuálny stav.[5]
Vydané verzie Flutter aplikácií sú kompilované s ahead-of-time (AOT) kompiláciou v systémoch Android aj iOS,[6] čo umožňuje vysoký výkon Flutteru na mobilných zariadeniach.[7]
Flutter modul
Flutter modul, je primárne napísaný v C++ a poskytuje podporu renderovania (vykresľovania) na low-level (nízkej úrovni) pomocou grafickej knižnice Skia od spoločnosti Google. Okrem toho sa pripája k SDK nástrojom špecifickým pre platformu, ako je Android a iOS.[4] Flutter modul je prenosný runtime modul na hosťovanie Flutter aplikácií. Implementuje základné knižnice Flutteru vrátane animácie a grafiky, vstupno-výstupných súborov a sietí, podporu prístupnosti, architektúru doplnkov a Dart runtime s kompiláciu Dart nástrojov. Väčšina vývojárov bude interagovať s Flutterom len prostredníctvom Flutter frameworku, ktorý poskytuje moderné, reaktívne rozhranie a bohatú sadu základných widgetov ako aj widgetov pre platformu a základné rozloženie aplikácií.
Základná knižnica
Základná knižnica, napísaná v jazyku Dart, poskytuje základné triedy a funkcie, ktoré sa používajú na vytváranie aplikácií pomocou Flutteru, ako sú API rozhrania na komunikáciu s Flutter modulom.[4][8]
Widgety
Používateľský Dizajn vo Flutteri zahŕňa použitie kompozície na zostavenie / vytvorenie „Widgetov“ z iných Widgetov. Trik na pochopenie tohto je uvedomiť si, že každý strom komponentov (Widgetov), ktorý je zostavený pod jedinou metódou build(), sa tiež označuje ako samostatný Widget. Dôvodom je skutočnosť, že tieto menšie Widgety sa skladajú z ešte ďalších menších Widgetov a každý z nich má svoju vlastnú metódu build(). Takto Flutter využíva kompozíciu.
Podľa dokumentácie: „Widget je nemenný popis časti používateľského rozhrania.“ Zjednodušene je možné o tom rozmýšľať ako o nemennom modele. Nútné je však mať na pamäti, že vo Flutteri je veľa typov Widgetov a nie všetky je možné vidieť alebo ich upravovať. Napríklad Text je Widget, ale aj jeho TextStyle je Widget, ktorý definuje veci ako veľkosť, farba, font a hrúbku písma. Existujú Widgety, ktoré reprezentujú objekty (Text), iné ktoré predstavujú charakteristiky (TextStyle), a dokonca také, ktoré budujú ďalšie objekty, ako napríklad FutureBuilder a StreamBuilder.
Zložité Widgety je možné vytvoriť kombináciou mnohých jednoduchších Widgetov a aplikácia je vlastne následne iba najväčším Widgetom z nich (často nazývaný „MyApp“). Widget „MyApp“ obsahuje všetky ostatné Widgety, ktoré môžu obsahovať ešte menšie Widgety, a spolu tvoria celú aplikáciu.
Na zostavenie Flutter aplikácií sa však striktne nevyžaduje použitie Widgetov. Alternatívnou možnosťou, ktorú obvykle používajú iba ľudia, ktorí radi ovládajú každý pixel vykreslený na obrazovke, je priame použitie základných metód knižnice. Tieto metódy sa dajú použiť na vykreslenie rôznych tvarov, textu a snímok priamo na plátno obrazovky. Táto schopnosť Flutteru sa využíva v niektorých herných enginoch.
Flutter aj všeobecne funguje skôr ako herný engine. Používateľské rozhranie je zostavené a vykreslené na plátno (canvas Skia) podľa toho, ako sa mení pomocou metódy každého widgetu 'build()'. Flutter aktualizuje používateľské rozhranie rýchlosťou 60 snímok / s (60 fps) alebo 120 fps na zariadeniach, ktoré sú schopné sa aktualizovať frekvenciou 120 Hz.[9]
Dizajnovo špecifické Widgety
Flutter framework obsahuje dve sady Widgetov, ktoré zodpovedajú konkrétnemu dizajnu jazykov. Material Design Widgety implementujú dizajnový jazyk Google s rovnakým názvom (Material Design) a Cupertino Widgety implementujú pokyny spoločnosti Apple pre iOS Human rozhranie.[4][10][11][12]
Príklad
Ahoj Svet
Program Ahoj Svet vo Flutteri vyzerá nasledovne:[9]
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Ahoj Svet',
home: Scaffold(
appBar: AppBar(
title: Text('Ahoj Svet'),
),
body: Center(
child: Text('Ahoj Svet'),
),
),
),
}
}
Referencie
- ↑ FAQ - Flutter . . Dostupné online.
- ↑ AMADEO, Ron. Google’s Dart language on Android aims for Java-free, 120 FPS apps . Ars Technica, 2015-05-01, . Dostupné online. (po anglicky)
- ↑ Google Developers Blog . . Dostupné online. (po anglicky)
- ↑ a b c d Technical overview . flutter.dev, . Dostupné online. (po anglicky)
- ↑ ON, Wm Leler. Why Flutter Uses Dart | Hacker Noon . hackernoon.com, . Dostupné online.
- ↑ STEPHENWZL. Flutter’s Compilation Patterns . Medium, 2018-08-06, . Dostupné online. (po anglicky)
- ↑ Himdeve development - Android | iOS | Flutter - Tutorial & development . Himdeve development, . Dostupné online. (po anglicky)
- ↑ foundation library - Dart API . api.flutter.dev, . Dostupné online.
- ↑ a b Flutter SK/CZ – #1.1 – Prvá aplikácia – Jednoduché WebView online. Himdeve development, cit. 2020-05-07. Dostupné online. Archivované 2020-06-09 z originálu.
- ↑ Material Components widgets online. flutter.dev, cit. 2020-05-07. Dostupné online. (po anglicky)
- ↑ Cupertino (iOS-style) widgets online. flutter.dev, cit. 2020-05-07. Dostupné online. (po anglicky)
- ↑ Themes - iOS - Human Interface Guidelines - Apple Developer online. developer.apple.com, cit. 2020-05-07. Dostupné online.
Externé odkazyupraviť | upraviť zdroj
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antény
Chemické zdroje elektriny
Chladenie v elektrotechnike
Elektrická sústava automobilu
Elektrická trakcia
Elektrické prístroje
Elektrické súčiastky
Elektrické spotrebiče
Elektrické stroje
Čítanie (elektrotechnika)
Činný výkon
Štatistická dynamika
Živý vodič
Admitancia
Antiparalelné zapojenie
Asynchrónny motor
Blúdivý prúd
Bočník (elektrotechnika)
Diak (polovodičový prvok)
Displej s kvapalnými kryštálmi
Elektrická inštalácia
Elektrická rezonancia
Elektrická sila
Elektrická vodivosť
Elektrické zariadenie
Elektrický obvod
Elektrický zvonec
Elektroenergetika
Elektromer
Elektrometer
Elektromobil
Elektromotor
Elektromotorické napätie
Elektrotechnický náučný slovník
Elektrotechnika
Elektrotechnológia
Fázor
Faradayova klietka
Frekvencia (fyzika)
Graetzov mostík
Impedancia
Indukčnosť
Induktancia
Istič
Izolácia (elektrotechnika)
Izolant
Jadro vodiča
Jednobran
Jednosmerný prúd
Joulovo teplo
Katóda
Koaxiálny kábel
Kompenzácia účinníka
Konduktometria
Konektor (elektrotechnika)
Korónový výboj
Lanko (elektrotechnika)
Leptanie
Logické hradlo
Magnetická susceptibilita
Magnetizácia (veličina)
Merný elektrický odpor
Mobilné zariadenie
Napájací zdroj
Napäťový chránič
Napäťový násobič
Nortonova veta
Odpínač
Odpojovač
OLED
Olovený akumulátor
Paralelné zapojenie
Peltierov článok
Plošná hustota elektrického prúdu
Poistka (elektrotechnika)
Posuvný prúd
Prúdový chránič
Prenosové médium
Prieletový klystrón
Primárny elektrochemický článok
Reaktancia
Rekuperácia (dopravný prostriedok)
Relé
Reproduktorová výhybka
Rezistancia
Rozhranie (interface)
Sériové zapojenie
Seebeckov jav
Sekundárny elektrochemický článok
Settopbox
Skrat
Sonar
Spínač
Spínaný zdroj
Straty v mikropásikových vedeniach
Striedavý prúd
Stupeň ochrany krytom
Svetelná výbojka
Symetrizačný člen
Technická normalizácia
Tepelné relé
Tepelne vodivostný detektor
Termočlánok
Théveninova veta
Transformátor
Transformátor s fázovou reguláciou
Trojfázová sústava
Tuhá fáza (elektronika)
Tyratrón
Usmerňovač (elektrotechnika)
Uzemnenie
Uzol (vodiče)
Vírivý prúd
Výbojka
Varistor
Ventilátor
Vodič (elektrotechnika)
Voltov stĺp
Vstavaný systém
Zásuvka (elektrotechnika)
Zdroj (elektrotechnika)
Zisk antény
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk