Sobes.tech
Middle

Flutter რა არქიტექტურული ფენებად იყოფა?

sobes.tech AI

პასუხი AI-სგან

Flutter შემდეგი არქიტექტურული ფენებად იყოფა:

  1. Embedder: პასუხისმგებელია ოპერაციული სისტემისთან ურთიერთობაზე. უზრუნველყოფს პლატფორმის სპეციფიკურ შესავალს ზედაპირის გამოსახულებისთვის, ხელმისაწვდომობის სერვისებისთვის, მომხმარებლის ინპუტისთვის და სიცოცხლის ციკლის მართვისთვის. Embedder დაწერილია კონკრეტული პლატფორმისთვის შესაბამის ენაზე (Java Android-თვის, Objective-C/Swift iOS-თვის, C++ Windows/Linux/macOS-თვის).
  2. Engine: ფრეიმვერკის ძირითადი ნაწილი. ძირითადად დაწერილია C/C++-ში. უზრუნველყოფს დაბალ დონეზე ფუნქციონალობას: Skia (2D გრაფიკული ბიბლიოთეკა), Text (ტექსტთან მუშაობის ბიბლიოთეკა), IO (შესავალი/გამოსავალი), Dart Runtime, Flutter Engine (ტასკების დაგეგმვა, გამოსახულების მართვა, კომპოზიცირება).
  3. 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]
   |            |
[ოპერაციული სისტემა]