Sobes.tech
Middle

Na aké architektonické vrstvy sa delí Flutter?

sobes.tech AI

Odpoveď od AI

Flutter je rozdelený do nasledujúcich architektonických vrstiev:

  1. Embedder: Zodpovedný za interakciu s operačným systémom. Poskytuje platformovo špecifický vstup na vykreslenie povrchov, prístup k službám dostupnosti, vstup používateľa a správu životného cyklu. Embedder je napísaný v jazyku vhodnom pre konkrétnu platformu (Java pre Android, Objective-C/Swift pre iOS, C++ pre Windows/Linux/macOS).
  2. Engine: Jadro frameworku. Implementované prevažne v C/C++. Poskytuje funkcie na nízkej úrovni: Skia (grafická knižnica 2D), Text (knižnica na prácu s textom), IO (vstup/výstup), Dart Runtime, Flutter Engine (plánovanie úloh, správa renderovania, kompozícia).
  3. Framework: Napísaný v Dart. Ide o Dart API, s ktorým priamo pracujú vývojári Flutter. Skladá sa z viacerých úrovní:
    • Foundation: Základné triedy a utility.
    • Widgets: Základ UI vo Flutter. Widgety opisujú konfiguráciu prvkov rozhrania.
    • Rendering: Abstrakcie pre renderovanie, ktoré poskytujú objekty na nízkej úrovni na budovanie renderovacích stromov.
    • Painting, Gestures, Animation, atď.: Úrovne, ktoré poskytujú funkcie na kreslenie, spracovanie gest, animácie atď.
    • Material/Cupertino Libraries: Kolekcie widgetov, ktoré implementujú systémy dizajnu Material Design a iOS Cupertino.

Tu je zjednodušené zobrazenie hierarchie:

[Váš kód aplikácie (Dart Widgety)]
        |
    [Framework (Dart)]
        |
    [Engine (C/C++)]
      /        \
[Embedder]    [Skia]
   |            |
[Operačný systém]

Embedder spúšťa Engine, ktorý poskytuje Dart Runtime a API. Framework, napísaný v Dart, komunikuje s Engine cez Dart API. Váš aplikačný kód používa widgety Frameworku na vytvorenie používateľského rozhrania. Engine zase používa Skia na vykreslenie prvkov na plátne, ktoré je poskytované Embedderom.