Middle
Flutter რა არქიტექტურული ფენებად იყოფა?
sobes.tech AI
პასუხი AI-სგან
Flutter შემდეგი არქიტექტურული ფენებად იყოფა:
- Embedder: პასუხისმგებელია ოპერაციული სისტემისთან ურთიერთობაზე. უზრუნველყოფს პლატფორმის სპეციფიკურ შესავალს ზედაპირის გამოსახულებისთვის, ხელმისაწვდომობის სერვისებისთვის, მომხმარებლის ინპუტისთვის და სიცოცხლის ციკლის მართვისთვის. Embedder დაწერილია კონკრეტული პლატფორმისთვის შესაბამის ენაზე (Java Android-თვის, Objective-C/Swift iOS-თვის, C++ Windows/Linux/macOS-თვის).
- Engine: ფრეიმვერკის ძირითადი ნაწილი. ძირითადად დაწერილია C/C++-ში. უზრუნველყოფს დაბალ დონეზე ფუნქციონალობას: Skia (2D გრაფიკული ბიბლიოთეკა), Text (ტექსტთან მუშაობის ბიბლიოთეკა), IO (შესავალი/გამოსავალი), Dart Runtime, Flutter Engine (ტასკების დაგეგმვა, გამოსახულების მართვა, კომპოზიცირება).
- Framework: დაწერილია Dart-ით. ეს არის Dart API, რომლის საშუალებითაც Flutter დეველოპერები პირდაპირ ურთიერთობენ. შედგება რამდენიმე დონედან:
- Foundation: ძირითადი კლასები და Utilities.
- Widgets: Flutter-ის UI-ს საფუძველი. Widgets აღწერს ინტერფეისის ელემენტების კონფიგურაციას.
- Rendering: გამოსახულებისთვის აბსტრაქციები, დაბალ დონეზე ობიექტებს უზრუნველყოფს გამოსახულების ხეებისთვის.
- Painting, Gestures, Animation, etc.: დონეები, რომლებიც უზრუნველყოფენ გამოსახულებას, ჟესტების დამუშავებას, ანიმაციებს და ა.შ.
- Material/Cupertino Libraries: Widgets-ის ნაკრები, რომელიც ახორციელებს Material Design და iOS Cupertino დიზაინის სისტემებს.
აქ არის მარტივი იერარქიის წარმოდგენა:
[თქვენი აპლიკაციის კოდი (Dart Widgets)]
|
[Framework (Dart)]
|
[Engine (C/C++)]
/ \
[Embedder] [Skia]
| |
[ოპერაციული სისტემა]