Google-მა გაავრცელა განახლებები Flutter-ისა და Dart SDK-ებისთვის, რასაც თან მოაქვს მრავალი გაუმჯობესება პლატფორმის ერთიანი განვითარებისთვის. წაიკითხეთ მეტი!
ფლატერი არის ა კროს-პლატფორმული პროგრამირების ჩარჩო, მიზნად ისახავს გადაჭრას კროს-პლატფორმული აპლიკაციების შემუშავების პრობლემების გარეშე, არა მშობლიური კოდის არევის გარეშე. Dart პროგრამირების ენის ცოდნით, დეველოპერს შეუძლია შექმნას აპლიკაციები Android-ისთვის, iOS-ისთვის, ვებსა და დესკტოპისთვის ერთიანი UI იერით ყველასთვის. ფლიტერი 1.9 მოიტანა macOS-ისა და Catalina-ს მხარდაჭერა ალფა მდგომარეობაში, ხოლო v1.12 გამოშვებამ მომწიფდა მათი მხარდაჭერა წინასწარ ალფა მდგომარეობას. ახლა Google გამოვიდა Flutter-ის ახალი v1.17 და Dart-ის v2.8 გამოშვებით, რაც მათ აღნიშნავს Flutter-ისა და Dart-ის პირველ სტაბილურ გამოშვებად 2020 წელს.
ფლიტერი 1.17
გასულ თვეში გუგლს ჰქონდა გამოაცხადა ცვლილებები მისი გამოშვების პროცესში. კომპანიის ადრინდელ პროცესს არ ჰქონდა სიცხადე იმის შესახებ, თუ როდის აშენდებოდა გამოშვებები, რა კოდი იქნებოდა მასში და ა.შ. ახლა Google გეგმავს სტაბილური გამოშვებების გაგზავნას დაახლოებით კვარტალური ციკლით. ეს თავისთავად წარმოადგენდა რამდენიმე გამოწვევას, რადგან გამოშვების ინფრასტრუქტურა ახალი გამოშვების პროცესისთვის საჭირო იყო ხელახლა გადაწყობა. ახლა Flutter 1.17 გამოდის სტაბილურ არხზე დეველოპერებისთვის. Google-მა დახურა 6,339 საკითხი მათი წინა Flutter 1.12 გამოშვების შემდეგ და მათ დახურეს მეტი შეცდომა, ვიდრე წელს გაიხსნა, რამაც გამოიწვია ~800 გამოცემის წმინდა შემცირება.
შეცდომების გამოსწორების გარდა, Flutter 1.17 მოაქვს მუშაობის მნიშვნელოვანი გაუმჯობესება, Metal-ის გაუმჯობესებული მხარდაჭერა iOS-ზე და მოიცავს ახალ Material ვიჯეტებს.
შესრულების გაუმჯობესება
Flutter 1.17-ით აშენებული აპები უფრო ძველი გამოშვებების წინააღმდეგ დაინახავენ 20-37%-იან სიჩქარეს ნაგულისხმევი ნავიგაციის შემთხვევაში, რომელშიც არის გაუმჭვირვალე მარშრუტები გამჭვირვალობის გარეშე. ასევე მნიშვნელოვანი გაუმჯობესებაა Flutter 1.17-ით აგებულ აპლიკაციების ზომებში. მაგალითად, Flutter Gallery-ის ნიმუში ახლა არის 8.1MB 2020 წელს, 9.6MB 2019 წლის ბოლოს. მეხსიერების გამოყენებისთვის, 1.17 გამოშვებას მოაქვს მეხსიერების 70%-იანი შემცირება დიდი სურათების სწრაფ გადახვევაში.
მეტალი არის Apple-ის დაბალი დონის გრაფიკული API, რომელიც უზრუნველყოფს თითქმის პირდაპირ წვდომას iOS მოწყობილობების ძირითად GPU-ზე. Flutter ახლა ნაგულისხმევად იყენებს მეტალს მხარდაჭერილი iOS მოწყობილობების შექმნისას, რაც აჩქარებს Flutter-ის აპებს. Metal-ის გაუმჯობესებული მხარდაჭერა აუმჯობესებს iOS აპლიკაციების გადაცემის სიჩქარეს საშუალოდ დაახლოებით 50%-ით. iOS მოწყობილობებზე, რომლებიც სრულად არ უჭერენ მხარს Metal-ს, კერძოდ მოწყობილობებს iOS ვერსიით 10-ზე დაბალი და გამოშვებული A7 პროცესორამდე, Flutter ბრუნდება OpenGL-ზე.
Flutter 1.17 ამატებს მხარდაჭერას ახალი Material ვიჯეტებისთვის. ასევე არის განახლებები არსებული ვიჯეტებისთვის. მაგალითად, NavigationRail ეხმარება დეველოპერებს დაამატონ საპასუხო აპლიკაციების ნავიგაციის მოდელები აპებში და შესანიშნავია აპებისთვის, რომლებსაც შეუძლიათ გადაერთონ მობილური და დესკტოპის ფორმის ფაქტორებს შორის. ასევე განახლებულია DatePicker და TextSelection overflow ვიჯეტები: DatePicker-ის ახალი ვიზუალი ემთხვევა განახლებულ Material-ის მითითებებს და დაამატეთ ახალი ტექსტის შეყვანის რეჟიმი, ხოლო TextSelection-მა ახლა გააუმჯობესა ერთგულება iOS-ისა და Android-ისთვის, როდესაც ღილაკები უფრო გრძელია, ვიდრე ამის გარეშე შეიძლება ადიდებული. და ბოლოს, Google ასევე აგზავნის ახალ ანიმაციების პაკეტს, რომელიც უზრუნველყოფს წინასწარ ჩაშენებულ ანიმაციებს, რომლებიც ახორციელებენ ახალს. მატერიალური მოძრაობა სპეციფიკაცია.
სხვა ცვლილებები Flutter 1.17-ში
- Google-მა დაასრულა დანერგვა 2018 წლის მასალის დიზაინის სპეციფიკაციის Type Scale ნაწილი არსებული Flutter აპების გატეხვის გარეშე.
- Google Fonts for Flutter v1.0 ასევე ახლა ხელმისაწვდომია. ეს საშუალებას აძლევს დეველოპერებს გამოიყენონ ნებისმიერი შრიფტი fonts.google.com მათ აპლიკაციაში. დეველოპერს შეუძლია გადაწყვიტოს, დააკავშიროს თუ არა შრიფტი APK-თან, თუ მომხმარებელი მიიღებს შრიფტს API-დან ჩამოტვირთვის გზით.
- Google-მა გააუმჯობესა Flutter აპების ხელმისაწვდომობა გადახვევის, ტექსტის ველებისა და სხვა შეყვანის ვიჯეტების შესწორებით.
- Google ასევე ემზადება შეცვალოს Dart DevTools-ის მიმდინარე ვერსია ახალი Flutter ვერსიით. დეველოპერებს შეუძლიათ შეამოწმონ ეს ახალი ვერსია DevTools-ის გაშვებით და შემდეგ DevTools-ის ზედა მარჯვენა კუთხეში „გამწყვეტი“ ხატულაზე დაწკაპუნებით. ყველაზე დიდი გაუმჯობესება Dart DevTools-ის ახალ Flutter ვერსიაში არის ახალი Network ჩანართი, რომელიც აჩვენებს ქსელის ტრაფიკს თქვენი Flutter აპისთვის, როდესაც დააჭირეთ ღილაკს "ჩაწერა".
- კიდევ ერთი გაუმჯობესება არის ექსპერიმენტული „სწრაფი დაწყების“ ვარიანტი, რომელიც საშუალებას გაძლევთ დაიწყოთ Flutter აპლიკაციის გამართვა 70%-მდე სწრაფად, როდესაც ამზადებთ აპს Android-ისთვის.
Google ასევე სთხოვს Superformula-ს გუნდს მთლიანი გადაკეთებისთვის MGM Resorts Android აპლიკაცია ფლატერში.
Dart 2.8
Dart არის პროგრამირების ენა, რომელიც გამოიყენება Flutter-ში აპლიკაციების შესაქმნელად. Dart 2.8 SDK-ის გამოშვებით, Google შემოაქვს რამდენიმე ცვლილებას:
- გაუმჯობესება პაბი კლიენტის ინსტრუმენტი, რომელიც გამოიყენება დან გადმოწერილი პაკეტების სამართავად pub.dev პაკეტის საცავი.
- Google-მა გააუმჯობესა მუშაობა პაბის მიღება პაკეტების პარალელური გადმოტანის მხარდაჭერის დამატებით და გადავადებით პაბის გაშვება წინასწარ შედგენა.
- Google-მა ასევე დაამატა ახალი ინსტრუმენტი (პაბი მოძველებულია) პაკეტის დამოკიდებულების განახლების უზრუნველსაყოფად.
- მომზადება Sound null უსაფრთხოებისთვის, ვინაიდან null მითითებები არის აპლიკაციის ავარიების საერთო წყარო, რომელიც ხდება მაშინ, როდესაც კოდი ცდილობს წაიკითხოს ცვლადი, რომელსაც აქვს null მნიშვნელობა.
- Google ემზადება დაამატოს მხარდაჭერა ხმის ნულოვანი უსაფრთხოებისთვის Dart-ში, რაც უზრუნველყოფს, რომ გამოხატული ყველა ცვლადი შეიცავდეს არანულო მნიშვნელობებს.
- ხმის ნულოვანი უსაფრთხოების დანერგვა არის უზარმაზარი წამოწყება, რომელიც თავდაპირველად გამოიწვევს დარტულ ენასა და ბიბლიოთეკებს. Google-ს სურს, რომ დეველოპერებმა იცოდნენ ეს დამღუპველი ცვლილებები და შეიტანეთ რაიმე პრობლემა მათზე საკითხის ტრეკერი.
ამ და სხვა ცვლილებების შესახებ დეტალურად შეგიძლიათ წაიკითხოთ Flutter 1.17-ისა და Dart 2.8-ის განცხადების პოსტებში.