Sobes.tech
Middle

Na koje arhitektonske slojeve se deli Flutter?

sobes.tech АИ

Одговор од АИ

Flutter je podeljen na sledeće slojeve arhitekture:

  1. Embedder: Odgovoran za interakciju sa operativnim sistemom. Pruža platformu-specifični ulaz za renderovanje površina, pristup servisima pristupačnosti, unos korisnika i upravljanje životnim ciklusom. Embedder je napisan u jeziku prikladnom za specifičnu platformu (Java za Android, Objective-C/Swift za iOS, C++ za Windows/Linux/macOS).
  2. Engine: Jezgro framework-a. Implementirano uglavnom u C/C++. Pruža funkcionalnosti niskog nivoa: Skia (grafička biblioteka 2D), Text (biblioteka za rad sa tekstom), IO (ulaz/izlaz), Dart Runtime, Flutter Engine (planiranje zadataka, upravljanje renderovanjem, kompozicija).
  3. Framework: Napisan u Dart-u. To je Dart API sa kojim Flutter programeri direktno rade. Sastoji se od više nivoa:
    • Foundation: Osnovne klase i pomoćni alati.
    • Widgets: Osnova UI u Flutter-u. Widgeti opisuju konfiguraciju elemenata interfejsa.
    • Rendering: Apstrakcije za renderovanje, koje pružaju objekte niskog nivoa za građu render stabala.
    • Painting, Gestures, Animation, itd.: Nivoi koji pružaju funkcionalnost za crtanje, obradu gestova, animacije itd.
    • Material/Cupertino Libraries: Kolekcije widgeta koji implementiraju dizajn sisteme Material Design i iOS Cupertino.

Evo pojednostavljene predstave hijerarhije:

[Vaš kod aplikacije (Dart Widgeti)]
        |
    [Framework (Dart)]
        |
    [Engine (C/C++)]
      /        \
[Embedder]    [Skia]
   |            |
[Operativni sistem]

Embedder pokreće Engine, koji pruža Dart Runtime i API. Framework, napisan u Dart-u, komunicira sa Engine-om putem Dart API-ja. Vaš kod aplikacije koristi widget-e Framework-a za građu korisničkog interfejsa. Engine zauzvrat koristi Skia za renderovanje elemenata na Canvas-u, koji je obezbeđen od strane Embedder-a.