Sobes.tech
Middle

Millistesse arhitektuuri kihist Flutter jaguneb?

sobes.tech AI

Vastus AI-lt

Flutter jaguneb järgmisteks arhitektuuri kihtideks:

  1. Embedder: vastutab operatsioonisüsteemiga suhtlemise eest. Pakub platvormispetsiifilist sisendit pildi pinna joonistamiseks, juurdepääsuteenustele, kasutaja sisendile ja elutsükli haldamisele. Embedder on kirjutatud konkreetsele platvormile sobivas keeles (Java Android jaoks, Objective-C/Swift iOS jaoks, C++ Windows/Linux/macOS jaoks).
  2. Engine: raamistikku põhiosa. Peamiselt kirjutatud C/C++ keeles. Pakub madala taseme funktsionaalsust: Skia (2D graafikakogu), Text (teksti töötlemise raamatukogu), IO (sisend/väljund), Dart Runtime, Flutter Engine (ülesannete planeerimine, joonistamise haldamine, kompositsioon).
  3. Framework: kirjutatud Dart keeles. See on Dart API, millega Flutter arendajad otseselt suhtlevad. Koosneb mitmest tasemest:
    • Foundation: põhiklassid ja utiliidid.
    • Widgets: Flutteri kasutajaliidese põhielement. Widgetid kirjeldavad kasutajaliidese elementide konfiguratsiooni.
    • Rendering: joonistamise abstraktsioonid, mis pakuvad madala taseme objekte joonistuspuude loomiseks.
    • Painting, Gestures, Animation jms.: tasemed, mis pakuvad funktsionaalsust joonistamiseks, žestide töötlemiseks, animatsioonideks jne.
    • Material/Cupertino Libraries: widgetide kogud, mis rakendavad Material Designi ja iOS Cupertino disainisüsteeme.

Siin on lihtsustatud hierarhia diagramm:

[Teie rakenduse kood (Dart Widgetid)]
        |
    [Framework (Dart)]
        |
    [Engine (C/C++)]
      /        \
[Embedder]    [Skia]
   |            |
[Operatsioonisüsteem]