
Orang mengatakan bahwa keberuntungan adalah hasil kerja keras dan panjang. Ini mungkin sebagian benar. Dua karyawan kami memenangkan tiket ke konferensi Apple yang paling dicari dalam lotere acak dan pergi musim panas ini di San Jose.
Jika bukan karena acara ini, maka mimpi membahas fitur-fitur baru dari Apple dengan para profesional, mengenal pengembang iOS top dunia dan berbicara secara terbuka di
iThink # 3 akan tetap dalam mimpi.
Setiap pengembang iOS ingin mengambil bagian dalam konferensi WWDC. Tentu saja, Anda dapat berdebat: "Ada siaran online, apakah itu benar-benar tidak cukup?" Ya, ada, tapi kami ingin mencatat bahwa pada undian tiket acak untuk acara tersebut, kompetisi baru saja bergulir! Dan ini jelas bukan tanpa alasan.
Sayangnya, pemirsa siaran online melihat tidak lebih dari 25-30% dari keseluruhan acara, dan yang paling penting, mereka tidak berpartisipasi dalam kelas dan sesi master. Sayangnya, acara yang sangat menarik ini tetap berada di belakang layar penyiaran online dan hanya tersedia bagi mereka yang secara pribadi menghadiri konferensi.
Demi hadir di bagian tertutup ini, pengembang dari seluruh dunia berpartisipasi dalam undian tiket dan tidak tidur di malam hari, menunggu hasilnya. Di sinilah mereka diberitahu tentang pembaruan penting dan perubahan dalam penulisan kode, mereka diperkenalkan pada alat yang akan digunakan di masa depan.
Hanya dengan mengunjungi acara secara langsung, Anda dapat menghargai nilainya. Tanpa berlebihan, kita dapat mengatakan bahwa WWDC 2019 adalah acara yang paling signifikan dalam 5 tahun terakhir.
Di situlah pengunjung diberi tahu bahwa Apple telah sepenuhnya mengubah teknologi untuk menulis kode yang telah berkembang selama bertahun-tahun dan akrab bagi kita semua, sangat menyederhanakannya. Dan ini akan memaksa banyak pengembang untuk secara serius memikirkan kembali metode kerja mereka, melihat banyak hal yang sudah dikenal.
Kami ingin memberi tahu Anda tentang tugas nyata yang akan segera dihubungi komunitas global pengembang iOS. Secara khusus, kami akan memeriksa kasus penggunaan dan kemampuan Instrumen Kustom dan Simbol SF dan memberikan contoh dari pekerjaan kami dengan alat baru di WWDC 2019.
Instrumen khusus
"Chip" eksklusif ini untuk pengembang ditunjukkan oleh Apple tahun lalu. Tetapi detail tentang dirinya baru diketahui sekarang. Selama sesi WWDC 2019, para ahli Apple memberi tahu para tamu secara terperinci tentang cara kerja alat kustom, apa manfaat pengembang dari mereka, dan yang paling penting, bagaimana menerapkannya secara efektif dalam praktik.
Pelacak os_signpost yang diperkenalkan tahun lalu adalah pelacak utama dalam toolkit ini. Tugas utamanya termasuk membuat acara dan interval sederhana.
Apple juga memperkenalkan pengembang untuk pelacak os_signpost murah. Menurut para pembicara, sekarang dapat dengan mudah diintegrasikan bahkan ke versi final. Tetapi programmer Apple merekomendasikan penggunaan alat ini dengan hati-hati, mengendalikan jumlah argumen selama penelusuran, tanpa menyalahgunakannya.
Arsitektur toolkit disusun sebagai berikut:
- Aliran data Anda dapat memecahkan masalah mendapatkan aliran data menggunakan pelacak os_signpost, yang menerjemahkan data ke dalam tabel input. Struktur tabel input dan output dijelaskan dalam file XML yang dibuat khusus. Dan proses membaca dan menulis data ke tabel adalah jejak langkah demi langkah.
- Modeller Ini memproses dan menganalisis data dari tabel input. Modeller sendiri, ditulis dalam bahasa CLIPS khusus, memiliki dua bagian - deklaratif dan imperatif. Inilah keunikannya! Ini memproses peristiwa baru dan mengonversi data. Menggunakan Modeller, Anda dapat melakukan perhitungan khusus atau konversi data ke dalam format yang Anda butuhkan untuk pengembang. Di akhir konversi, nilai-nilai baru akan disimpan di tabel output. Proses ini disebut "pemodelan."
- Instrumen Dengan bantuan mereka, informasi yang dicatat dalam tabel dibaca untuk ditampilkan di layar. Anda dapat mengontrol format tampilan menggunakan formulir XML. Benar, itu harus dibuat untuk ini.
- Utilitas StandartUI. Bertanggung jawab untuk membaca dan memvisualisasikan informasi dari tabel output.

CloudKit + CoreData
Ini adalah salah satu "keripik" bermerek terbaru. Ia dipercayakan dengan tugas menyinkronkan Data Inti dan Kit Cloud dalam mode otomatis. Untuk mengaktifkannya, perlu menandai posisi yang diperlukan sebelum dimulainya proyek:

Harap perhatikan bahwa pemberitahuan, serta CLoudKit dalam Kemampuan tidak akan hidup secara otomatis. Ini harus dilakukan secara manual.

Di sinilah pekerjaan Anda berakhir; Xcode akan melakukan sisanya secara otomatis. Dia sendiri akan membuat wadah untuk agregasi pekerjaan berdasarkan pada database dan CloudKit.
Secara terpisah, kami mencatat bahwa fitur baru dan sangat berguna ini akan berfungsi dengan benar dalam proyek yang diluncurkan sebelumnya. Yang perlu dilakukan pengembang adalah membuat Wadah baru alih-alih yang sudah ada. Seperti yang Anda lihat, proses sinkronisasi dalam proyek-proyek lama kini menjadi jauh lebih mudah.
Simbol SF
Topik ini di WWDC 2019 menyebabkan sejumlah besar pertanyaan, yang tidak mengejutkan, karena pembicara โberjalanโ di atasnya secara harfiah di gallop. Ringkasan singkat yang dipercepat itulah yang menyebabkan kebingungan di antara para tamu konferensi.
Banyak pengunjung dengan serius memikirkan pertanyaan: โMengapa Apple menunjukkan dan memperkenalkan karakter baru? Memang, selama bertahun-tahun sekarang, pengembang telah menggunakan gambar .png / .jpg / .pdf. " Ya, metode ini memiliki kelemahan tertentu, tetapi metode ini sangat akrab dan akrab bagi pengembang UI sehingga diperlukan alasan yang baik untuk mengabaikannya.
Tetapi bahkan dengan mengingat hal ini, jangan meremehkan pentingnya ikon baru yang disediakan oleh Apple untuk menciptakan antarmuka pengguna yang ramah. Setelah gagal memilih ikon, Anda berisiko bahwa aplikasi tersebut akan kehilangan keasliannya, menjadi tidak nyaman dan tidak dapat dipahami oleh pengguna, dan ini pasti akan mengurangi popularitasnya.
Sangat penting bagi pengembang untuk memahami dan mengevaluasi fungsionalitas ikon dalam aplikasi dengan benar, penampilan dan dampaknya terhadap kegunaan pengguna.
Untuk mempermudah memahami tujuan ikon, kami mengelompokkannya ke dalam tiga kategori:
- pemisahan konteks;

- konsolidasi konteks;

- pencocokan konteks visual.

Berkat pemisahan ini, kami menyadari bahwa SF Symbols dibuat khusus untuk membantu dalam pemilihan ikon yang optimal. Perhatikan bahwa Apple bahkan mengembangkan aplikasi terpisah untuk
https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/ ini, di mana Anda dapat mempelajari sekitar 1.500 karakter baru secara detail. Untuk kenyamanan pengembang, aplikasi memiliki parameter pencarian dan dapat disesuaikan. Dengan menggunakannya, Anda dapat mengevaluasi bagaimana ikon akan terlihat ketika mengubah nilainya.
Nah, jika di antara 1500 karakter Anda tidak menemukan ikon yang diinginkan, Anda selalu dapat menggambar sendiri. Cara melakukan ini, kami jelaskan dalam
panduan kami.
Harap dicatat bahwa dalam aplikasi Anda membuat gambar vektor ikon, yang mencakup metadata teks. Mungkin seseorang yang bekerja dengan grafik vektor tidak biasa. Bukan kebetulan bahwa WWDC mencurahkan sesi terpisah untuk proses pembuatan karakter baru. Jelas menunjukkan bahwa ikon lama yang telah teruji sudah ketinggalan zaman dan telah kehilangan keefektifannya. Dan hari ini, tren paling relevan dalam pengembangan iOS adalah menganggap simbol sebagai UIFont.
Dalam praktiknya, ini adalah sebagai berikut. Tidak ada yang diperlukan untuk menggunakan ikon di proyek Anda, karena mereka terintegrasi ke dalam font sistem San Francisco. Untuk membuat karakter, inisialisasi UIImage baru diperlukan:

Kode menunjukkan bahwa salah satu inisialisasi menerima parameter baru,
UIImage.Configuration
. Anda dapat melewatkan nilai parameter
UIImage.SymbolConfiguration
, yang merupakan turunan dari
UIImage.Configuration
. Perhatikan bahwa konfigurasi tidak dapat diubah, dan Anda hanya dapat menerapkan parameter baru saat menggunakan
applying(:)
(https://developer.apple.com/documentation/uikit/uiimage/configuration/3294236-applying).
Dengan menggunakan konfigurasi, Anda dapat mengubah:
- PointSize
- UIImage.SymbolScale;
- UIFont.TextStyle;
- UIImage. Berat Simbol;
- UIFont.
Kami akan memberi tahu Anda lebih banyak tentang setiap item.
Ukuran titikParameter ini bertanggung jawab untuk ukuran karakter, dan juga menunjukkan bahwa karakter tersebut bukan lagi gambar PNG biasa. Juga ingat bahwa mulai sekarang
Point size (CGFloat) != CGSize
. Oleh karena itu, sekarang pertimbangkan Simbol SF hanya dengan nilai ukuran titik. Hubungan ini terlihat jelas saat membagikan karakter dan teks.

UIImage. Berat SimbolJika Anda perlu mengubah ketebalan atau tebal karakter, seperti di UIFont, gunakan parameter
UIImage.SymbolWeight
untuk ini.
SymbolConfiguration.init (font: UIFont)Bekerja dengan opsi ini sangat sederhana. Dengan itu, Anda hanya perlu memilih UIFont yang diinginkan, dan kemudian sistem akan melakukan segalanya pada "autopilot".
UIImage. SymbolScaleMenurut pendapat kami, ini adalah salah satu parameter paling kontroversial. Fungsi pertama yang dilakukan adalah mengubah ukuran karakter. Dan di sini kesenangan dimulai. Faktanya adalah bahwa sekarang kita memiliki dua parameter aktif yang mempengaruhi ini. Tapi jangan gugup!
Dari pengalaman praktis, kita dapat mengatakan bahwa parameter-parameter ini tidak hanya mudah untuk โrukunโ, tetapi saling melengkapi satu sama lain dengan sempurna. Kami secara khusus mensimulasikan situasi dan mengatur ukuran titik identik ke UIFont kami di siaran langsung. Dan mereka melihat bahwa ukuran simbol pada layar secara visual berbeda dari ukuran teks (tetap lebih besar atau lebih kecil dari itu). Untuk memfasilitasi pekerjaan, dan tidak membuat konfigurasi lain menggunakan nilai ukuran titik baru, kami sarankan untuk menggunakan parameter
SymbolScale
. Ini akan mengubah ukuran gambar tanpa mengubah ukuran titiknya.
UIFont.TextStyleIni adalah opsi termudah untuk digunakan. Pengembang Apple merekomendasikan untuk menggunakannya ketika Anda perlu menerapkan jenis font dinamis.
Dari kisah kami, jelas bahwa sebagian besar pembaruan yang disajikan ditujukan untuk membuat pengembang aplikasi memikirkan kembali metode kerja lama. Meskipun bagi kami tampaknya ini hanya sebagian kecil dari apa yang mungkin Anda temui dalam waktu dekat. Nah, agar inovasi tidak mengejutkan Anda, kami sarankan Anda memulai pengembangannya dalam waktu dekat!