Dub-dub 2019: Berita WWDC dan kesan saya

Hai Nama saya Azat Zulkarnyaev, saya sedang mengembangkan aplikasi-iOS di Badoo. Secara tradisional, setiap tahun kami menghabiskan satu minggu dengan rekan-rekan di WWDC. Dalam artikel tersebut saya membagikan kesan saya dari konferensi: di bawah potongan tidak hanya pembaruan penting dan ulasan sesi, tetapi juga beberapa emosi pribadi dari berada di kerumunan bahagia yang meneriakkan β€œDub-dub! DC! " dan mimpi berjabat tangan dengan Tim Cook.



Sedikit tentang konferensi


Setiap tahun, Apple mengadakan konferensi WWDC untuk pengembang untuk platform-nya dan tidak hanya untuk mereka. Secara tradisional, acara yang diselenggarakan oleh perusahaan menimbulkan kegemparan besar. Inovasi utama, yang terutama berkaitan dengan produk perangkat lunak, diumumkan pada hari pertama konferensi. Berikut ini adalah sesi dari karyawan Apple yang dirancang untuk membantu pengembang pihak ketiga menerapkan inovasi ini. Dalam artikel ini saya akan mencoba untuk menceritakan tidak hanya tentang inovasi teknis konferensi, tetapi juga kesan umum dari konferensi tersebut.

Tayangan


Saya pikir setiap pengembang untuk platform Apple ingin mendapatkan WWDC setidaknya sekali. Dan masalahnya tidak hanya dalam sesi lab, di mana Anda dapat berbicara langsung tentang masalah dan keinginan Anda, tetapi juga dalam tanda acara tersebut.

Konferensi biasanya dimulai bukan dengan presentasi pertama, yang disebut Keynote, tetapi dengan registrasi, atau lebih tepatnya, antrian untuk itu. Secara umum, antrian adalah bagian integral dari konferensi, yang logis, karena ada ribuan peserta, semua acara diadakan di satu lokasi. Posisi di awal antrian terkadang memberi keuntungan yang menyenangkan. Misalnya, Tim Cook secara pribadi menyapa orang pertama yang mendaftar.

Setelah pendaftaran, peserta diberikan jaket perusahaan dan lencana dengan simbol konferensi atau perusahaan.



Gagasan memberikan jaket sangat bagus, karena banyak peserta, yang tertipu oleh cuaca cerah, tiba di San Jose tanpa pakaian hangat. Tetapi cuaca di California berubah, dan pada malam hari cuaca menjadi cukup dingin. Selain itu, pendingin udara tanpa ampun mendinginkan udara di dalam gedung.

Lencana segera menjadi tujuan bagi kolektor: orang mencoba melengkapi set mereka dengan lencana yang diinginkan, dan mereka terus diburu.

Keynote: Baru


Antrian di Keynote mulai membawa peserta jauh sebelum pintu terbuka. Faktanya adalah bahwa presentasi ini menghadirkan produk-produk baru yang penting tahun ini: kemungkinan besar bukan untuk pengembang, tetapi untuk lingkaran yang lebih luas dari orang-orang yang menonton siaran. Puncak perusahaan muncul di panggung, dan secara umum ini adalah salah satu presentasi paling signifikan di dunia pengembangan ponsel.

Salah satu kolega saya memutuskan kali ini untuk naik baris pertama dan mengambil garis 10 jam sebelum pembukaan. Tapi, sayangnya, tahun ini ada halangan: orang pertama diizinkan masuk dari blok lain dari garis, dan tempat-tempat terbaik sudah diambil. Secara umum, tempat pertama dalam antrian tidak menjamin kursi terbaik di aula.

Secara umum, suasana acara menyerupai hari libur: panitia mengucapkan selamat kepada peserta atas fakta bahwa mereka tiba di sini, meneriakkan β€œDub-dub! DC! ”, Penggemar Apple mencari lencana baru, semuanya cukup dinamis dan menarik. Sangat menyenangkan untuk menyadari bahwa hal terpenting dalam pengembangan iOS / MacOS terjadi di sini dan sekarang, yaitu kesan menonton video di rumah atau di tempat kerja sangat berbeda dari kehadiran nyata di aula. Sangat menginspirasi, menginspirasi untuk mencoba semua inovasi dan mengintegrasikannya ke dalam produk Anda. Curah pendapat singkat dengan rekan-rekan dari Badoo di konferensi berubah menjadi daftar besar hal-hal yang ingin kami terapkan dalam aplikasi kami.

Seperti biasa, jauh sebelum konferensi, rumor mulai muncul tentang pembaruan di masa depan. Tahun ini, WWDC mengharapkan pengumuman versi baru iOS, alat untuk pengembangan lintas platform untuk iOS dan MacOS, matahari terbenam iTunes, Mac Pro baru. Bahkan ada spekulasi tentang kacamata augmented reality.

Banyak rumor ini telah dikonfirmasi. Tetapi hal pertama yang pertama.

Apple tv


Pertama tentang tvOS. TVOS UI telah mengalami desain ulang yang kuat.

Apple secara aktif mempromosikan platform televisi TV +, dan sebagai hasilnya, kami melihat trailer serial di WWDC. Terlepas dari upaya yang dilakukan, di sini Apple tetap berperan mengejar ketinggalan. Platform seperti Netflix masih lebih baik dalam hal UX dan konten.

Mungkin inovasi yang paling menyenangkan bagi sebagian besar AppleTV adalah dukungan untuk joystick Xbox dan PlayStation.

iPadOS


Secara visual, tidak jauh berbeda dengan iOS. Tujuannya, mungkin, adalah untuk membawa iPad lebih dekat ke Mac. Akibatnya, pengembang memiliki kemampuan untuk dengan mudah mem-port aplikasi iPad ke MacOS. Tablet Apple menjadi lebih fungsional: misalnya, sekarang mereka dapat digunakan sebagai monitor kedua dan menghubungkan drive usb ke mereka. Yang terakhir ini dimungkinkan karena aplikasi File yang diperbarui untuk bekerja dengan sistem file.

Safari sekarang harus bekerja lebih memadai, memberikan tata letak untuk versi desktop situs daripada mobile.

Fungsi membagi layar menjadi beberapa bagian telah meningkat. Sekarang setiap aplikasi dapat menampilkan beberapa jendela secara bersamaan di layar. Misalnya, Anda dapat bekerja secara bersamaan dengan dua atau lebih dokumen dalam satu aplikasi.



Tonton OS


Sekarang, untuk menginstal aplikasi di Apple Watch, tidak perlu melakukan ini pada iPhone yang terpasang. Sebagai kelanjutan logis, aplikasi AppStore untuk Apple Watch muncul. Semua ini berarti bahwa sekarang Anda dapat mencari dan menginstal aplikasi langsung dari jam. Tidak jelas seberapa bermanfaat ini bagi pengguna, karena kenyamanan metode instalasi ini dipertanyakan. Bonus yang bagus adalah opsi desain baru untuk layar utama arloji.

OS Mac


Nama versi baru adalah MacOS Catalina untuk menghormati pulau di dekat Los Angeles. Kali ini tidak begitu banyak produk baru diumumkan. Dari yang mudah diingat orang hanya dapat menyebutkan bahwa aplikasi iTunes tidak akan lagi, dan bagian-bagiannya akan ada sebagai aplikasi terpisah.

Apple Music, Podcasts dan TV, yang dulunya menjadi bagian dari iTunes, diperkenalkan dengan ironi. Ini akan memungkinkan untuk bekerja dengan perangkat yang terhubung melalui Finder.

iOS 13


Mungkin perubahan utama telah memengaruhi iOS. Banyak pembaruan disajikan, mari kita memikirkan hal utama.

Peningkatan kinerja: aplikasi mulai berjalan lebih cepat - tampaknya, paling tidak karena fakta bahwa Swift Runtime sudah dijahit ke dalam sistem. Ukuran file biner yang diunduh selama instalasi dan pembaruan aplikasi juga sedikit menurun. Saya senang bahwa Apple terus berupaya mengoptimalkan produk-produknya, akan sangat penasaran untuk membandingkan nilai-nilai nyata dari perbaikan yang diumumkan pada presentasi.

Inovasi visual utama yang telah lama ditunggu-tunggu adalah topik yang kelam. Aplikasi sistem terlihat sangat bagus dalam konteks baru.

Banyak hype muncul tentang kemungkinan pendaftaran / otorisasi dalam aplikasi menggunakan Apple Id. Apa yang disajikan pada presentasi tersebut membangkitkan rasa hormat terhadap perusahaan: akhirnya, cara mudah muncul dengan cepat masuk ke layanan pihak ketiga tanpa memberikan data nyata Anda. Mungkin ini akan menjadi sakit kepala untuk beberapa aplikasi, karena Apple dikonfigurasikan untuk membuat otorisasi jenis ini wajib untuk semua aplikasi menggunakan OAuth.

Secara terpisah, saya ingin menyebutkan peningkatan dalam sistem aplikasi Find My Mac. Sekarang, bahkan jika laptop dalam mode tidur dan / atau tidak memiliki akses jaringan, ia dapat bertukar pesan melalui Bluetooth dengan perangkat Apple terdekat, yang pada gilirannya akan mengirim informasi tentang lokasi komputer Apple. Ide sederhana, tetapi sangat bermanfaat dan efektif yang akan sangat sulit dibuat untuk perusahaan lain karena kurangnya kepercayaan dan protokol komunikasi tunggal antara smartphone dan komputer.

Juga tidak mungkin untuk tidak menyebutkan bahwa sekarang sistem keyboard iOS masih akan mendukung pengetikan gesekan antar huruf, yang berarti bahwa penggemar metode pengetikan ini tidak perlu lagi memasang keyboard pihak ketiga. Akhirnya, tombol sakelar keyboard emoji dipisahkan dari tombol sakelar bahasa.

Dari produk-produk baru lainnya, kami dapat menyebutkan upaya Apple untuk mengejar ketinggalan dengan Google Maps, memperkenalkan analog dari mode Google Streets ke aplikasi Maps-nya, pengurutan dan pengelompokan foto yang cerdas, paket stiker khusus berdasarkan Animoji. Juga disajikan beberapa perbaikan yang tidak terlalu signifikan untuk aplikasi standar.

Mac pro


Produk utama dan satu-satunya non-perangkat lunak yang diperkenalkan adalah Mac Pro baru. Saya tidak akan memberikan sumber inspirasi bagi perancang penampilan perangkat: pandangan pertama di depan unit sistem menyebabkan tawa tak disengaja, yang jarang terjadi pada produk-produk perusahaan ini.

Secara umum, desainer lebih menyukai kepraktisan keanggunan. Generasi baru komputer sangat berbeda dari yang sebelumnya, yang dibandingkan dengan barang rumah tangga lainnya. Telah ada beberapa kembali ke akar, dan Mac Pro baru dalam banyak hal mirip dalam penampilan dengan generasi pertamanya.



Namun, di dalamnya ada mobil yang sama sekali baru. Kemungkinan kekuatan komputer dan monitor yang disajikan benar-benar mengesankan, tetapi harganya membuat Anda berpikir tentang perlunya perangkat yang begitu bagus. Rupanya, agar tidak menakut-nakuti audiens, harga disajikan hanya untuk konfigurasi paling dasar dari unit sistem, yaitu $ 6.000. Monitor XDR 6K 31,6 inci yang baru akan berharga setidaknya $ 4,999 dolar. Nah, di sini Anda perlu menambahkan $ 999 untuk stand. Memang, tidak bersandar di dinding.

Ui cepat


Pengumuman paling penting untuk pengembang. Apple masih merilis kerangka kerja deklaratif baru untuk mengembangkan UI di Swift. Konsekuensi dari mengubah konsep hampir tidak dapat ditaksir terlalu tinggi: kesan pertama dari presentasi adalah seperti simbol konferensi pada fasad bangunan.



Para pembicara tidak menyebutkan sumber inspirasi mereka. Biasanya semuanya disajikan sebagai baru sebagai inovasi, dengan bijaksana menghindari penyebutan solusi serupa. Secara umum, orang akrab dengan kerangka kerja lain untuk cara deklaratif untuk mengembangkan antarmuka yang diakui prinsip-prinsip yang dikenal. Pengaruh gagasan React dan bahkan Flutter dapat ditebak. Namun semua ini tetap spekulasi. Ada yang menyebutkan di Twitter bahwa kerangka kerja ini telah berjalan setidaknya selama 3 tahun, yang tidak mengejutkan mengingat betapa banyak hal telah berubah.

Perubahan dalam konsep pengembangan antarmuka sering kali berubah menjadi perubahan dalam pendekatan untuk bekerja dengan data, karena pendekatan di mana alih-alih penetapan eksplisit ketergantungan fungsional antara nilai-nilai dinyatakan sangat baik dikombinasikan dengan antarmuka deklaratif.

Mungkin kerangka kerja yang paling umum untuk menerapkan konsep ini untuk iOS adalah RxSwift. Apple memperkenalkan alternatif, kerangka kerja baru, Combine . Sekilas, kelas-kelas dalam kerangka ini mirip dengan yang ada di Jawa.

Sesi WWDC


Bagian utama dari konferensi ini adalah serangkaian sesi di mana karyawan Apple berbicara tentang teknologi baru dan menjelaskan cara menggunakannya dengan benar. Setiap sesi berisi presentasi tentang perubahan dan demonstrasi mereka menggunakan contoh.
Selama seminggu, Pusat Konvensional di San Jose berubah menjadi universitas mini untuk pengembang dan banyak lagi. Lebih dari seratus presentasi, ribuan peserta, diskusi aktif selama istirahat.

Di bawah ini saya mencantumkan deskripsi beberapa sesi yang menarik, menurut pendapat saya, dengan WWDC.

Ui cepat


Pada sesi ini, mereka memberikan informasi dasar tentang Swift UI, berbicara tentang ide, tujuan yang ingin dicapai oleh pengembang kerangka kerja, dan menunjukkan kasus penggunaan sederhana. Contoh-contohnya sangat mengesankan: kadang-kadang bahkan terasa terlalu bagus untuk menjadi kenyataan.

Dengan fitur baru bahasa, deskripsi hirarki elemen menjadi sangat ekspresif dan deklaratif. Sedemikian rupa sehingga tidak ada lagi kebutuhan untuk file XML Xib untuk menghasilkan preview berbasis kode.

Fitur utama dari kerangka kerja adalah jenis nilai tampilan, konstruksi otomatis perbedaan antara dua status data yang ditampilkan, dan fakta bahwa hierarki objek yang dijelaskan oleh kode tidak harus bersamaan dengan hierarki nyata elemen tampilan yang diberikan.

Objek tipe nilai memungkinkan Anda membuat dan menghapus objek dari memori dengan cepat. Bagaimana penyaji pemetaan dan komponen yang menghasilkan perbedaan antara negara diimplementasikan belum jelas: Apple jarang membuka kode sumber alat yang dibuat.

Pada sesi pertama, contoh-contoh sederhana disajikan, lebih dekat ke akhir, kasus kompleks ditunjukkan dengan rendering kompleks sejumlah besar data. Sangat menyenangkan bahwa elemen non-interaktif yang membutuhkan sejumlah besar sumber daya untuk rendering dapat dialihkan ke mode rendering melalui Logam dengan satu baris, dan produktivitas tumbuh secara signifikan.

Gabungkan


Di sini, pemirsa diperkenalkan dengan kerangka kerja Aliran Data baru. Bagi mereka yang telah bekerja dengan Rx atau alat serupa, sedikit akan tampak baru; pengembang lain di presentasi terkesan oleh ekspresifnya pendekatan baru. Presentasi menunjukkan contoh yang cukup standar untuk kerangka kerja reaktif. Kasing dengan bidang pencarian dan mengirim permintaan ke server dengan teks yang dimasukkan sudah menjadi buku teks. Secara umum, perpustakaan tidak begitu besar, dan pengenalan dokumen sudah cukup.

Combine, seperti Swift UI, secara aktif menggunakan tipe nilai untuk kinerja yang lebih besar. Namun, masih belum jelas bagaimana sumber daya dibebaskan setelah panggilan berhenti berlangganan. Saya merekomendasikan artikel Michael Long tentang topik ini: ini menjelaskan kemungkinan masalah yang mungkin Anda temui saat menggunakan framework.

Selain Combine, Apple telah membuat ekstensi komponen Foundation untuk dengan mudah mengubah aliran data standar menjadi reaktif.

Manajer paket cepat


Apple akhirnya memutuskan untuk menyelesaikan alat ketergantungannya. Sekarang sepenuhnya didukung oleh Xcode 11 , integrasi dengan GitHub dan layanan populer lainnya untuk repositori telah dilaksanakan. Sesi menjelaskan cara bekerja dengan SPM di Xcode (yang cukup sederhana) dan bagaimana konflik ketergantungan diselesaikan.

Bekerja dengan koleksi


Bagi mereka yang tidak berencana untuk beralih ke Swift UI, Apple memperkenalkan alat-alat baru untuk memudahkan pekerjaan dengan daftar UI (Tampilan Koleksi, Tampilan Tabel) di UIKit. Sumber data baru untuk koleksi pada platform yang berbeda akan membuatnya lebih mudah untuk memperbarui tampilan daftar tanpa takut tersandung pada kesalahan runtime karena keadaan daftar yang tidak stabil. Melalui banyak laporan, gagasan satu sumber kebenaran telah menjadi benang merah, dan komponen baru menerapkan konsep ini untuk daftar UI.

Collection Collection memperkenalkan tampilan tata letak baru . Dengan menggunakan konsep baru suatu kelompok, dimungkinkan untuk menggambarkan susunan elemen yang sangat berbeda dalam satu bagian. Dengan demikian, dalam koleksi yang sama, bagian yang berbeda mungkin memiliki arah gulir yang berbeda. Menurut pendapat saya, ini adalah salah satu inovasi paling berguna, yang akan sangat menyederhanakan pembuatan daftar komposit.

Cepat


Di versi baru Swift, Anda dapat melakukan apa yang disebut pembungkus properti. Intinya, ini adalah kelas generik yang menambahkan beberapa perilaku ke properti suatu objek. Kedengarannya sangat abstrak, tetapi ini adalah perubahan bahasa yang sangat kuat yang menambahkan analog anotasi pada properti objek di Swift.

Sekarang juga cukup mudah untuk membuat DSL yang Anda ketik sendiri. Dilihat oleh pembicara pada sesi tersebut, salah satu pengembang Apple membuat tag DSL untuk HTML dalam beberapa jam. Fungsi ini masih dalam versi beta, dan mungkin selama evolusi akan menjadi lebih menarik.

Untuk menghindari masalah saat menggunakan protokol dengan tipe terkait atau Persyaratan sendiri, tipe buram diturunkan. Menambahkan kata kunci beberapa di depan jenis akan memungkinkan penggunaan jenis protokol tersebut tidak hanya sebagai pembatasan umum.
Semua inovasi ini digunakan secara aktif di SwiftUI, jadi saya sarankan Anda membiasakan diri dengan prinsip-prinsip fitur bahasa baru.

Yayasan


Yayasan telah menghasilkan hal-hal yang menyenangkan seperti formatter waktu mengenai tanggal tertentu, pelokalan konten koleksi, elemen-elemen yang, pada gilirannya, dapat ditampilkan dalam format lokal.

Perubahan iOS


Ada banyak perubahan di sini, jadi saya hanya akan menyebutkan yang utama.
Jika Anda mendukung otorisasi dalam sistem Anda melalui layanan pihak ketiga seperti Google atau Facebook, maka segera Apple akan memerlukan dukungan untuk otorisasi melalui Apple ID . Mungkin dalam beberapa kasus ini akan menjadi kasus otorisasi khusus, jadi jangan menunda integrasi fungsi ini.

Jenis baru geodata yang disediakan pengguna sekarang tersedia. Sekarang pengguna memiliki kesempatan untuk memberikan akses ke lokasinya hanya selama sesi aplikasi saat ini. Transisi status otorisasi tidak begitu jelas, sehingga video harus ditonton.

Banyak aplikasi menggunakan pekerjaan di latar belakang, jadi mungkin sesi tentang perubahan dalam API untuk bekerja dengan tugas latar belakang akan relevan. Dan ya, sekarang tidak akan berfungsi untuk menggunakan pemberitahuan push VoIP untuk membangunkan aplikasi tanpa menggunakan CallKit. Saya juga menyarankan Anda untuk memeriksa bahwa server akan mengirimkan parameter yang diperlukan dalam isi pemberitahuan push dengan nilai-nilai yang diperlukan yang disebutkan dalam video.

Tema gelap yang tersedia di iOS 13 juga bisa menjadi tantangan bagi banyak aplikasi. Jika aplikasi pihak ketiga mengabaikan gaya yang ditentukan oleh sistem, ini dapat menyebabkan pengguna tidak puas dengan aplikasi secara keseluruhan. Oleh karena itu, alangkah baiknya untuk mempertahankan gaya dinamis dalam aplikasi Anda, jika ini dapat diterima dari segi desain.

Sumber daya seperti warna atau gambar dapat bersifat dinamis dan artinya khusus tergantung pada konteksnya. Informasi gaya disimpan dalam Koleksi Sifat dan berdasarkan nilai saat ini, warna dinamis yang sama mungkin memiliki nilai yang berbeda. Anda dapat dengan mudah membuat warna atau sumber daya Anda dinamis melalui direktori aset dalam Xcode atau secara terprogram dengan menerima koleksi sifat sebagai parameter penginisialisasi.

Mengubah tema dapat diperoleh dalam metode traitCollectionDidChange, tetapi perlu diingat bahwa sekarang UIView segera dibuat dengan koleksi yang diberikan. Artinya, bahkan sebelum menambah hierarki pemetaan, UIKit sendiri menetapkan koleksi masa depan yang paling mungkin untuk objek.

Anda dapat mengetahui lebih lanjut tentang topik gelap di video ini .

Pembelajaran mesin


Inovasi utama - sekarang Anda dapat menyesuaikan model terlatih untuk pengguna tertentu, menghasilkan pelatihan langsung pada perangkat. Untuk melakukan ini, Anda perlu mengumpulkan data untuk pelatihan berdasarkan tindakan pengguna dan menjalankan pelatihan, yang dapat menggunakan adapter grafis untuk perhitungan.Dalam kasus jaringan saraf, lebih baik melakukan ini di tugas latar belakang dan saat perangkat sedang diisi.

Apple juga membuka API baru untuk menganalisis foto , suara , dan pengenalan teks dalam gambar.

Haruskah saya pergi ke WWDC? Ya!


, , . , .

Apple . , .

, Apple , , . , , , . , WWDC program kemahasiswaan : tidak sesulit kelihatannya, dan tahun ini proporsi peserta siswa cukup besar.

Source: https://habr.com/ru/post/id456028/


All Articles