Sobes.tech
Middle

Į kokias architektūros sluoksnius skirstomas Flutter?

sobes.tech AI

Atsakymas iš AI

Flutter yra padalintas į šiuos architektūros sluoksnius:

  1. Embedder: atsakingas už sąveiką su operacine sistema. Teikia platformos specifinį įėjimą vaizdo paviršiaus piešimui, prieinamumo paslaugoms, naudotojo įvesties ir gyvavimo ciklo valdymui. Embedder parašytas konkrečiai platformai tinkamu kalba (Java Android, Objective-C/Swift iOS, C++ Windows/Linux/macOS).
  2. Engine: pagrindinis framework komponentas. Pagrinde parašytas C/C++. Teikia žemą lygį funkcionalumą: Skia (2D grafikos biblioteka), Text (teksto apdorojimo biblioteka), IO (įvestis/išvestis), Dart Runtime, Flutter Engine (užduočių planavimas, piešimo valdymas, kompozicija).
  3. Framework: parašytas Dart kalba. Tai Dart API, su kuriuo tiesiogiai sąveikauja Flutter kūrėjai. Sudarytas iš kelių lygių:
    • Foundation: pagrindiniai klasės ir įrankiai.
    • Widgets: Flutter UI pagrindas. Widget'ai aprašo sąsajos elementų konfigūraciją.
    • Rendering: abstrakcijos piešimui, teikiančios žemą lygį objektus piešimo medžiams kurti.
    • Painting, Gestures, Animation ir kt.: lygiai, teikiantys funkcionalumą piešimui, gestų apdorojimui, animacijoms ir kt.
    • Material/Cupertino Libraries: widget'ų rinkiniai, įgyvendinantys Material Design ir iOS Cupertino dizaino sistemas.

Štai supaprastinta hierarchijos schema:

[Jūsų programos kodas (Dart Widget'ai)]
        |
    [Framework (Dart)]
        |
    [Engine (C/C++)]
      /        \
[Embedder]    [Skia]
   |            |
[Operacinė sistema]