Kontentke ótiw

Flutter (programmalıq támiynat)

Wikipedia, erkin enciklopediya

Flutter –Google tárepinen jaratılǵan ashıq kodlı UI (dizayn, yaǵnıy paydalanıwshı interfeys) programmalıq támiynat jaratıw kompleksi bolıp tabıladı. Onı veb,[1] Fuchsia, Android, iOS, Linux, macOS hám Windows ushın bir kod bazasınan kross-platformalıq qosımshalardı jaratıw ushın paydalanıwǵa boladı.[2] Dáslepki ret 2015 jılı atalǵan,[3][4] Flutter 2017 jıldıń may ayında shıǵarıldı. Flutterdi Google kompaniyası Google Pay[5] hám Google Earth[6] sıyaqlı qosımshalarda, sonday-aq ByteDance[7] hám Alibaba sıyaqlı basqa programmalıq támiynat islep shıǵarıwshıları paydalanadı.[8]

Flutter UI (ingl. User interface - paydalanıwshı interfeysi) tili menen rendering mexanizminen ibarat. Flutter qosımshası kompilyaciyalanǵanda, ol UI kodı menen de, 4 MB qısılǵan rendering mexanizmi menen de jetkiziledi.[9] Bul bólek kórsetiw mexanizmine tiykarlanǵan hám tek UI kodın jiberetuǵın kóplegen basqa UI freymvorklardan ayırmashılıǵı, mısalı qurılma dárejesindegi Android SDK tiykarındaǵı Android qosımshaları yamasa paydalanıwshınıń HTML mexanizmine tiykarlanǵan HTML/JavaScript veb qosımshaları hám JavaScript mexanizmi bolıp tabıladı.[10][11] Flutterdiń renderlew liniyasın tolıq basqarıw birneshe platformalarǵa qollawdı jeńilletedi, óytkeni oǵan Flutter UI modelin tolıǵı menen qollawdıń ornına Android Java Native interfeysi sıyaqlı iske qosılǵan jergilikli kodtı qollaw ushın platforma kerek.

Vidjetler[redaktorlaw | derekti redaktorlaw]

Flutter baǵdarlamasındaǵı tiykarǵı komponent “vidjet” bolıp tabıladı, ol óz gezeginde basqa vidjetlerden ibarat bolıwı múmkin. Vidjet UI elementiniń logikasın, óz-ara háreketin hám dizaynın React-ke uqsas ámelge asırıw menen sáwlelendiredi. Original platforma komponentlerin paydalanıp vidjetlerdi sızatuǵın React Native hám Xamarin sıyaqlı basqa kross-platformalıq qurallar kompleksinen ayırmashılıǵı, Flutter vidjetlerdiń ózin piksel retinde kórsetedi.

Vidjetlerdiń eki túri bar: stateless hám stateful. Stateless vidjetlerdiń kirgiziwleri ózgergen jaǵdayda ǵana jańalanadı, yaǵnıy ekrannıń basqa elementleri ózgergende olardı qayta tiklew kerek bolmaydı, al stateful vidjetler ishki statustı jańalaw hám qayta sızıw ushın setState() metodın shaqıra aladı.[12]

Vidjetler Flutter qosımshaların jaratıwdıń tiykarǵı metodı bolǵanı menen, olardı tikkeley súwret salıw paydasınan aylanıp ótiwge boladı. Bul imkaniyat geyde Flutter sistemasında oyın mexanizmlerin kirgiziw ushın paydalanıladı.[13]

Freymvork arxitekturası[redaktorlaw | derekti redaktorlaw]

Dart tili[redaktorlaw | derekti redaktorlaw]

Flutter qosımshaları Dart tilinde jazılǵan. Barlıq platformalardaǵı Flutter qollanbalarınıń reliz versiyaları kodı JavaScript-ke kóshiriletuǵın Internetti qospaǵanda, aldınnan jıynawdı[14] paydalanadı.[15]

Flutter  paydalanıwshılarǵa retlenetuǵın paketlerdi, sonday-aq Flutter arnawlı plaginlerdi járiyalawǵa imkaniyat beretuǵın Dart's Pub paket menedjeri menen programmalıq támiynat repozitoriyin miyras etedi.[16]

Flutter engine (mexanizmi)[redaktorlaw | derekti redaktorlaw]

Tiykarınan C++ tilinde jazılǵan Flutter engine Google Skia grafikalıq kitapxanasınan yamasa retlenetuǵın “Impeller” grafikalıq qabatın paydalanıp, tómen dárejeli renderlewdi támiyinleydi.[17] Sonıń menen bir qatarda, ol qoljetimlilik, fayl hám tarmaq kirgiziw/shıǵarıw, jergilikli plagindi qollaw h.t.b. sıyaqlı qásiyetlerdi ámelge asırıw ushın Android hám iOS tárepinen usınılǵan platformaǵa sáykes SDK-lar menen interfeyske iye.[18]

Foundation kitapxanası[redaktorlaw | derekti redaktorlaw]

Dart tilinde jazılǵan Foundation kitapxanası engine menen baylanısıw ushın API sıyaqlı Flutter járdemi menen qosımshalardı jaratıw ushın paydalanılatuǵın tiykarǵı klaslar menen funkciyalardı támiyinleydi.[18][19]

IDE qollawı[redaktorlaw | derekti redaktorlaw]

Flutter plaginler arqalı tómendegi IDE hám redaktorlarǵa rásmiy qollawdı ámelge asıradı:

Basqa IDE-lerdi jámiyetshilik qollaytuǵın plaginler menen yamasa buyrıq (komanda) qatarındaǵı Flutter quralların paydalanıw arqalı qollanıwǵa boladı.[20] Bazarda rásmiy Flutter IDE Framework qollanıla basladı hám sáykeslendirilgen grafikalıq paydalanıwshı interfeysin dúziwshilerdi usınatuǵın birneshe qurallar payda boldı.

Derekler[redaktorlaw | derekti redaktorlaw]

  1. Amadeo. „Google starts a push for cross-platform app development with Flutter SDK“ (en-us). Ars Technica (27-fevral 2018-jıl). Qaraldı: 11-iyun 2021-jıl.
  2. Amadeo. „Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI“ (en-US). Ars Technica (8-may 2017-jıl). Qaraldı: 18-mart 2018-jıl.
  3. „With Flutter, Google Aims Dart to Mobile App Cross-Development“ (en). InfoQ. Qaraldı: 17-mart 2022-jıl.
  4. „Google announces Flutter 1.0, the first stable release of its cross-platform mobile development toolkit“ (en-US). Android Police (5-dekabr 2018-jıl). Qaraldı: 17-mart 2022-jıl.
  5. „Going global at Google Pay with Flutter“.
  6. „Check out the new @googleearth for iOS, Android, and web with UI built using Flutter, all from a single codebase“.
  7. „Increasing productivity by 33% at ByteDance with Flutter“.
  8. „Alibaba scales China's largest second-hand marketplace with Flutter“.
  9. „How big is the Flutter engine?“.
  10. „What makes Flutter unique?“.
  11. „Exploration of the Flutter Rendering Mechanism from Architecture to Source Code“.
  12. „Introduction to widgets“ (en). docs.flutter.dev. Qaraldı: 6-oktyabr 2022-jıl.
  13. „Flame“. flame-engine.org. Qaraldı: 6-oktyabr 2022-jıl.
  14. stephenwzl. „Flutter's Compilation Patterns“. ProAndroidDev (1-avgust 2018-jıl). Qaraldı: 6-dekabr 2018-jıl.
  15. „Building a web application with Flutter“ (en). docs.flutter.dev. Qaraldı: 6-oktyabr 2022-jıl.
  16. „Using packages“ (en). docs.flutter.dev. Qaraldı: 6-oktyabr 2022-jıl.
  17. Sneath. „Announcing Flutter 3.3 at Flutter Vikings“ (en). Flutter (30-avgust 2022-jıl). Qaraldı: 6-oktyabr 2022-jıl.
  18. 18,0 18,1 „Technical Overview - Flutter“ (en). flutter.dev. Qaraldı: 13-dekabr 2017-jıl. Silteme kórsetiwdegi qátelik: Invalid <ref> tag; name ":0" defined multiple times with different content
  19. „foundation library - Dart API“ (en). docs.flutter.dev. Qaraldı: 13-dekabr 2017-jıl.
  20. Amadeo. „Google's Dart language on Android aims for Java-free, 120 FPS apps“. Ars Technical (1-may 2015-jıl).

Sırtqı siltemeler[redaktorlaw | derekti redaktorlaw]