უკან დაბრუნება
SwiftUI შვიდი წლის შემდეგ: კრიტიკა ფრეიმვორკის „მარადიულ ბეტაზე“
SiTech Team2 წთ. საკითხავი

SwiftUI შვიდი წლის შემდეგ: კრიტიკა ფრეიმვორკის „მარადიულ ბეტაზე“

შვიდი წლის შემდეგ, რაც Apple-მა SwiftUI აპლიკაციების განვითარების მომავლად გამოაცხადა, ფრეიმვორკი კვლავ მუდმივი ბეტას შთაბეჭდილებას ტოვებს — ამტკიცებს დეველოპერების ვიდეოარხი Code Bird ახალ ვრცელ კრიტიკულ ესეში.

შვიდი წლის შემდეგ, რაც Apple-მა SwiftUI აპლიკაციების განვითარების მომავლად გამოაცხადა, ფრეიმვორკი კვლავ მუდმივი ბეტას შთაბეჭდილებას ტოვებს, — ამტკიცებს დეველოპერების ვიდეოარხი Code Bird ვრცელ კრიტიკულ ესეში სახელწოდებით „SwiftUI After 7 Years: A Story of Mediocrity“.

მონაცემთა ნაკადი და განლაგება

SwiftUI 2019 წელს გამოცხადდა დეკლარაციული სინტაქსის, ერთიანი სიმართლის წყაროსა და მყისიერი გადახედვის დაპირებით. მას შემდეგ მდგომარეობის მართვა @State-ისა და @Binding-ისგან Observation-ის ფრეიმვორკსა და @Observable მაკროსზე გადავიდა. მიუხედავად ამისა, ავტორის თქმით, კვლავ ძნელია იცოდე, რამდენჯერ განახლდება ხედი და რატომ. განლაგების სისტემა, რომელიც ზომების მოლაპარაკებაზეა აგებული, კვლავ არღვევს მოტივტივე ხედებსა და მორგებულ გვერდით პანელებს: Apple-ის საკუთარ სასწავლო პროექტში, უახლეს Xcode-ში აწყობილისას, გვერდითი პანელი გაუმართავად მუშაობს — ამ ხარვეზს ავტორმა ორ წელზე მეტი ხნის წინ მიაქცია ყურადღება. საბოლოოდ, დეველოპერები ხედებს GeometryReader-ში ახვევენ, რასაც ის „საბოლოო კაპიტულაციას“ უწოდებს.

API-ები და თავსებადობა

თანამედროვე SwiftUI კოდი სავსეა if #available შემოწმებებით, აღნიშნავს ესე: სქროლისას კლავიატურის დამალვა iOS 16-ს მოითხოვდა, ხელსაწყოთა ზოლის მორგება მხოლოდ რამდენიმე წლის წინ გაჩნდა, AsyncImage კი iOS 15-ში გამოვიდა — ქეშირების მხარდამჭერი, request-ზე დაფუძნებული API კი 2026 წლის ივლისისთვისაც ბეტაში რჩება. ზოგიერთი კომპონენტი გადაარქვეს ან შეცვალეს: ხარვეზიანი NavigationView შეცვალა NavigationStack-მა, რაც ძველი სისტემებისთვის კოდის პარალელურ ტოტებს საჭიროებს. Android-ის Jetpack Compose-ისგან განსხვავებით, რომელიც აპლიკაციას მოჰყვება და 2014 წლის მოწყობილობებზეც მუშაობს, SwiftUI ახალ API-ებს უკან ვერ აბრუნებს.

წარმადობა და კროსპლატფორმული დაპირება

ძველ iPhone-ზე, UIKit-თან შედარებით, სურათების ბადის ტესტში ავტორმა SwiftUI-ში შესამჩნევად ნაკლებად გლუვი სქროლი დააფიქსირა — მიუხედავად იმისა, რომ სურათების დეკოდირება ფონურ ნაკადებზე გადაიტანა. კროსპლატფორმული დაპირებაც გაზვიადებულია: „ისწავლე ერთხელ, გამოიყენე ყველგან“ ხშირად იქცევა „ისწავლე ერთხელ, ისწავლე მეორედ, გამოიყენე სადღაც, გამართვა ყველგან“, რადგან iOS-ის ცოდნა Mac-ის განლაგებაზე ძნელად გადადის. „SwiftUI ნამდვილად ცუდი არ არის. ის მედიოკრატულია. და ეს, ჩემი აზრით, ბევრად, ბევრად უარესია“, — ასკვნის ავტორი და ამატებს, რომ კვლავ UIKit-სა და AppKit-ს ანიჭებს უპირატესობას.

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.