Mac Catalyst-də Nitq Blubları tətbiq etmək üçün necə addımlar atmalısınız

2019-cu ilin iyun ayının əvvəlində iOS və macOS mühəndisləri titrəyirdilər, çünki Apple illik WWDC konfransında dəyişiklikləri yayımlamağa hazırlaşırdı. Olacaqları şeylərdən asılı olmayaraq, ümumiyyətlə yay üçün bir çox mühəndis planlarını dəyişdirirlər. Məqsədimiz, iOS / Mac platformalarına əla və keyfiyyətli təcrübə gətirməkdir ki, bu da ümumiyyətlə Apple’ın ən yeni OS çıxma tarixini düzəltmək üçün çox çalışmaq deməkdir. 2019-cu il fərqli deyildi, baxmayaraq ki, bəlkə də bir az daha xüsusi idi.

Həmişə olduğu kimi, Apple bir çox yeni funksiyanı buraxdı, amma şəxsən testi səbirsizliklə gözlədiyim biri var idi. Bir ildən çoxdur ki, bir UIKit limanında macOS-a işlədikləri ortaq bir bilikdir. MacOS Mojave’də Apple’ın özləri qurduğu bu texnologiya üzərində qurulmuş bir neçə tətbiq var.

Tətbiq edənlər üçün tam olaraq nə deməkdir

Bu, MacOS-da çox az dəyişikliklə iPhone və iPad tətbiqlərimiz üçün kod işlədə biləcəyimiz deməkdir. Bu həm də istifadəçi interfeysi kodumuzu on illərdir makOS-da istifadə olunan UIKit-dən AppKit-ə yenidən yazmamağımız deməkdir. Əsasən, bir neçə saatlıq inkişafla bütün macOS platformasını portfelimizə əlavə edə bildik.

Keçən il texnologiya artıq OS-də olduğu üçün insanlar həyəcanlandılar və sözdə "Layihə Marzipan" ilə təcrübə etməyə başladılar. 2019-cu ildə rəsmi oldu və indi rəsmi MacOS Catalina buraxılışına daxil olan 'Project Catalyst' adlanır. Bəs praktikada necə işləyir? Real, istehsallı iOS tətbiqetməsini Catalyst ilə macOS-da işə salmaq üçün nə qədər vaxt lazımdır?

Mac-dakı nitq ləkələri

Bu sualların cavabını bilmək istəyirdim. Speech Blubs əsas tətbiqetməmizdir və iOS-da böyük nəticələr əldə edirik. 100 mindən çox sətirdən ibarət kod, bir çox üçüncü tərəf kitabxanası və s. Bir neçə dildə mürəkkəb bir tətbiqdir. Mənə görə, bu sınaq üçün əla və real seçim kimi səsləndi. Buna görə yalnız bir Mac versiyası üzərində işə başlamalı oldum. . .

Əvvəlcə layihəni açdım, yeni bir filial yaratdım və macOS platformasını vurdum! Növbəti addım yalnız tərtib etmək idi! Tətbiq qurmaq 100-dən çox səhv buraxacaqdır. Əzizim. Amma davam edim. Birincisi, bütün üçüncü kitabxanaların qurulmasını və əlaqələndirilməsini təmin etməliydik. Layihədə CocoaPods istifadə edildiyi üçün bu, bir az daha mürəkkəb hala gətirəcəkdir, çünki Catalyst dəstəyi hələ də bir az halsız ola bilər. Beləliklə, analitik kitabxanalarımızı, o cümlədən Facebook, Crashlytics və bağımlılıklarımızı silməyə başladım, çünki bu təcrübə üçün onlara həqiqətən ehtiyacımız yoxdur.

Son bağlantı məsələsinə gəldik: səltənət. Speech Blubs, Realm'ı verilənlər bazası olaraq istifadə edir, çünki bu, ən yaxşı mobil verilənlər bazalarından biridir. Biz bunu CocoaPods ilə əlaqələndirirdik və sadəcə qurmayacaqdı. Onu daxil etmənin yeganə yolu bu günə qədər istifadə etmədiyimiz Swift Package Manager ilə idi.

Swift Paket Meneceri

Bir neçə özəl çərçivədən istifadə edirik və CocoaPods ilə layihə qururuq. SPM-ə çevirmək, əmin olmaq üçün kiçik bir iş olmazdı. Xcode'nun SPM inteqrasiyası ilə əl-ələ verdikləri üçün CocoaPodları tamamilə atmalı deyildik. Beləliklə, daxili çərçivələrimizi SPM ilə əlaqələndirilməyə başladım. Buraya bütün asılılıqları çevirmək də daxildir. Sadə bir paket, sürətli bir fayl yazmağı və bütün asılılığımızı çevirməyi öyrənməyim təxminən bir saat çəkdi.

Təəccüblü olduğum üçün əvvəlcə gözlədiyimdən daha sürətli keçdim. Sürət Paketlərini Xcode-a əl ilə əlavə etmək hələ bir az zəhmli olur, çünki GitHub-da GIt depozitində kiçik bir dəyişiklik etdikdə hər dəfə yenidən yükləməyiniz lazımdır.

Mac-da nitq bloqlarını tərtib etmək və işlətmək

Beləliklə, indi bütün bağlantılar tərtib edir və uğurla bağlanır, lakin tətbiq hələ də yoxdur. Çat dəstəyimiz də daxil olmaqla bəzi üçüncü kitabxanaları sildim. Davam etmək üçün həmin kitabxanalara zəng edən kodu şərh etməyə başladım və təxminən bir saatlıq işdən sonra layihə uğurla qurulur. Nəhayət onu işə salmaq üçün Xcode-dakı 'Oyun' düyməsini basmaq, hədəf cihaz olaraq 'Mənim Mac' -də basmaq idi və Söz Blubları ilk dəfə masaüstündə çalışırdı. Dock'unuzdakı tanış iOS simgesini görməyiniz heyrətamiz bir hissdir.

Speech Blubs tətbiqinin ilk işləməsi

Parıltı və səhvlər

İlk qaçış bəzi səhvlər və şırıltıların olduğunu göstərdi. MacOS tamamilə fərqli bir platformadır. Danışıq Blublarında düzəltməyimiz lazım olan iki şey var idi. Düymələr ilə bağlı problemlərimiz oldu, çünki onlar çox böyük görünürdü. Çox güman ki, düzəldilməsi lazım olan avtomatik quruluş məhdudiyyətləri. Sürüşmə işlədi, amma bəzən bir az cavabsız görünürdü. Mükəmməl memarlıq fərqləri olduğu üçün kamera və mikrofon xüsusiyyətlərimiz düzgün işləmədi. Üçüncü tərəf analitiklərimiz və dəstəyimiz də tam təqdim olunan bir məhsul olması üçün əskik idi.

Nəticə

Bir neçə parıltı və səhvdən başqa, Catalyst həqiqətən sizin üçün ağır atletika edir. Jest tanıyanlar gözəl işlədi, bütün standart UIKit elementləri də çox yaxşı işləyir. Model kodlarımızın əksəriyyəti UI-dən müstəqil olduğu üçün artıq qutudan çıxdı. Bu kimi hallarda, möhkəm memarlıq, şeyləri yeni bir platformaya sürətlə sürməyə kömək edir. Bu məhsulun özü üçün məna verirmi? Dürüst bilmirəm. Tətbiqdə istifadə etdiyimiz mexaniklərin əksəriyyəti Mac’a uyğun deyildir, amma bu, fikrimizi davam etdirmədiyimiz demək deyil. Hər tətbiq müxtəlifdir və özünəməxsus xüsusiyyətlərinə malikdir. Və hər platform fərqlidir, eynisi watchOS, tvOS və s. Üçün gedir. Ümumilikdə Catalyst əla bir vasitədir və tətbiqiniz Mac'də də məna daşıyırsa, həm iOS, həm də MacOS platformalarını dəstəkləyirsinizsə inkişaf prosesini sürətləndirə və sürətləndirə bilər. Ən azı bir il qalmış SwiftUI-dən istifadə edə biləcəyiniz zaman daha da artacaqdır. Hər iki halda, hamısının necə çıxacağını görmək üçün yaxşı bir sınaq idi. IOS-da tətbiq etdiyiniz yükləmələr səbəbi ilə mövcud olan səhvləri hiss edə bilərsiniz, ancaq artıq Mac-da işləmir. Sualımı cavablandırmaq üçün nə qədər vaxt lazımdır? Bu asılıdır. Məhsulun özündə, iPad dəstəyində, kod keyfiyyətində və tətbiqin Mac-də necə hiss olunacağını istəyirsən.

Nitq Blublarının Yaradıcıları Komandası ilə əlaqə qurun!

Tətbiqin inkişafı barədə söhbət etmək istəyirsinizsə, bizə müraciət etməkdən çekinmeyin. Bu etdiyimiz və sevdiyimiz şeydir, buna görə də bu barədə danışmağı çox sevirik! :)