Middle
Millistesse arhitektuuri kihist Flutter jaguneb?
sobes.tech AI
Vastus AI-lt
Flutter jaguneb järgmisteks arhitektuuri kihtideks:
- 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).
- 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).
- 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]