
Pada Hari Programmer, kami berbagi pilihan laporan yang sangat baik dengan pengembang seluler! Konferensi Mobius diadakan di St. Petersburg pada bulan Mei, dan sekarang kami menerbitkan videonya - dan untuk Habr kami membuat pilihan sepuluh besar (menurut perkiraan audiens).
Tema sangat berbeda - dari arsitektur yang dapat diskalakan hingga aksesibilitas. Tapi perkiraannya, sebaliknya, sangat kuat. Di tempat ketiga, perbedaan dengan dua yang pertama hanya 0,01 poin! Artinya, tidak ada gunanya menonton pemilih yang "lebih tinggi dari siapa": semuanya begitu dekat sehingga, pada kenyataannya, itu hanya kumpulan laporan yang baik. Dan menonton adalah segalanya di mana Anda setidaknya agak tertarik pada topik tersebut.
Kesalahan reaktif, atau Coba lagi dialog dalam satu baris kode
Pembicara:
Konstantin TskhovrebovLokasi: 10
Presentasi laporanMari kita mulai seleksi dengan cerita tentang bagaimana merancang solusi untuk masalah umum yang mengarah ke solusi yang tidak biasa, mengungkapkan inti dari pendekatan reaktif (tanpa RxJava) dan menyederhanakan banyak masalah terkait.
Laporan ini dikhususkan untuk bagaimana, menggunakan arsitektur yang dibangun dengan benar, seseorang dapat dengan mudah menyelesaikan masalah non-sepele dengan hati-hati dan secara alami sampai pada konsep aliran jet. Konstantin akan mempertimbangkan tugas yang lazim dengan dialog Coba Lagi, membahas kelemahan dari solusi "klasik", memahami pemrograman reaktif dan menghasilkan solusi praktis yang akan membantu menangani kesalahan dalam aplikasi.
Aksesibilitas untuk iOS: Melakukan yang baik dengan melakukan yang baik
Pembicara:
John FoxLokasi: 9
Presentasi laporanJika pengembang iOS menganggap serius aplikasinya, ia juga harus serius menjadikannya menyenangkan dan nyaman bagi para penyandang cacat, kata John Fox. Dan meskipun topik aksesibilitas biasanya tidak antusias, John yang menarik dan antusias "mengguncang" para penonton dan menerima nilai yang sangat baik.
Dalam laporan itu, John berbicara tentang bagaimana Netflix mengembangkan aplikasinya berdasarkan VoiceOver dan perangkat dan kerangka kerja Apple lainnya, dan menjelaskan mengapa berinvestasi dalam kualitas aksesibilitas menawarkan banyak manfaat - mulai dari menarik dan mempertahankan pelanggan hingga kemampuan pengujian otomatis.
Bonus: kami juga
mewawancarai Fox tentang karier di bidang IT dan aksesibilitas aplikasi.
640 kilobyte seharusnya cukup untuk semua orang
Pembicara:
Jonathan LevinLokasi: 8
Terakhir kali, Mobius Jonathan naik untuk mencari tahu mengapa D8 dan R8 diperlukan, dan masuk ke
laporan teratas . Kali ini, ia menutup celah berikutnya dalam pertanyaan “bagaimana cara kerjanya di sana”, berkaitan dengan JVM dan memori - dan sekali lagi mencapai puncak.
Dari laporan ini Anda akan belajar bagaimana manajemen memori di Android bekerja, apa yang Swap, GC, Alokasi Asli dan kata-kata menakutkan lainnya, dan jika Anda sendiri tidak memahami topik ini sebelumnya, dalam satu jam Anda akan mendapatkan informasi yang diperlukan dalam bentuk yang dapat diakses dari seorang pembicara karismatik.
Cara mulai menulis autotests dan tidak menjadi gila
Pembicara:
Dmitry Movchan, Eugene MatsyukLokasi: 7
Tes otomatis sangat penting untuk menjaga kualitas aplikasi yang tinggi, tetapi bagaimana hasilnya - mereka berbicara banyak tentang mereka, tetapi hanya sedikit yang menulis! Lagi pula, autotests baru mulai masuk ke kehidupan pengembang, dan tidak ada begitu banyak praktik normal.
Inilah yang Zhenya dan Dima coba perbaiki dalam laporan mereka. Mereka mempertimbangkan cara menulis autotest dari sudut yang berbeda dan, menurut mereka, memberikan "dasar dalam satu botol", yang akan membantu untuk mengambil dan mulai menulis autotest dari awal atau untuk mengembangkan dan meningkatkan yang sudah ada.
Menerapkan cache pesan VK
Pembicara:
Alexander SorokinLokasi: 6
Presentasi laporanLaporan yang agak hardcore dan berguna tentang nyali - tentang cara kerja VKontakte messenger di bawah tenda. Alexander memberi tahu bagaimana logika bisnis yang rumit diatur, bagaimana database dioptimalkan, dan trik apa yang harus Anda lakukan agar dialog pengguna selalu dalam keadaan konsisten, tetapi pada saat yang sama mereka tidak terganggu oleh rem dan pemuatan konstan.
Kisah Alexander dapat dengan aman digunakan sebagai instruksi jika Anda harus mengimplementasikan fungsionalitas serupa "Pesan" atau mengoptimalkan pekerjaan dengan database. Anda akan menemukan ide-ide spesifik dan peretasan yang berguna untuk bekerja dengan SQLite, yang segera setelah dilihat dapat Anda jalankan untuk diterapkan dalam proyek Anda.
Keynote: Empati dalam TI: bagaimana menggunakan sifat kemanusiaan Anda secara rasional
Pembicara:
Andrey BreslavLokasi: 5
Beristirahat setelah bercinta - di tengah atas, audiens memberikan keynote pembuka tentang pentingnya emosi untuk bekerja di TI. Andrei biasa berbicara di Mobius dengan sangat sukses,
berbicara tentang pengaruh bahasa lain di Kotlin. Dan kali ini dia menjelaskan bagaimana pengembang dapat menggunakan emosi dan empati sebagai alat kerja sehingga seseorang bisa mendapatkan apa yang dia butuhkan lebih cepat dan lebih mudah.
Andrei juga bekerja dengan emosinya sendiri selama laporan: "Biasanya saya sangat khawatir tentang penampilan saya, jadi saya secara khusus memutuskan untuk memakai telinga yang bodoh dan memperhatikan bahwa tidak ada yang berubah." Dalam laporan itu, ia menjelaskan mengapa orang dewasa dengan pendidikan teknis tidak bisa menyetujui masalah teknis, dan pekerjaan yang membawa kesenangan dan kesenangan murni dapat menyebabkan kelelahan.
Optimalisasi piple gradle: Melampaui dasar-dasar
Pembicara:
Stepan GoncharovLokasi: 4
Semakin besar ukuran proyek seluler, semakin kuat waktu perakitannya, dan masalah pembangunan yang lama menyiksa banyak pengembang. Salah satu contohnya adalah waktu pembuatan kritis di Gradle untuk Android, yang mereka coba optimalkan dengan segala cara yang mungkin.
Dalam laporannya, Stepan berbicara tentang semua nuansa proses ini dan melewati banyak trik dan trik, dan bukan yang tercantum dalam dokumentasi. Pendengar laporan mencatat bahwa mereka tidak tahu tentang sebagian besar teknik yang dibicarakan Stepan, dan segera pergi untuk mempraktikkannya.
Pola desain antarmuka seluler yang lebih cerdas
Pembicara:
Vitaliy FridmanLokasi: 3
Ada banyak contoh antarmuka yang secara mengejutkan menjijikkan di web, tetapi kebanyakan dari mereka disengaja - misalnya, seperti dalam persaingan untuk kenop volume UX terburuk. Tapi Vitaly tahu antarmuka liar yang sama, tetapi berkembang dengan sangat serius. Bagaimana Anda memilih jumlah anak yang menggunakan slider dengan nilai maksimum? Bagaimana ini bisa terlintas dalam pikiran?
Dalam laporan utama penutupan, Vitaliy mengeksplorasi salam pengguna dan cara untuk mengucapkan selamat tinggal kepada mereka, melewati otentikasi, bekerja dengan cookie, pemberitahuan, salam, meminta umpan balik, captcha, masuk melalui jaringan sosial dan banyak elemen lainnya, yang masing-masing dapat menyebabkan pengguna meninggalkan situs, jika terlalu tidak nyaman atau mengganggu.
Faktanya, Vitaliy menciptakan serangkaian instruksi dan teknik sederhana yang dapat diterapkan dalam proyek seluler apa pun - dari aplikasi yang disematkan ke situs web lama yang bagus.
Kami bekerja dengan jaringan secara efisien
Pembicara:
Eugene RtishchevTempat: 2
Sekitar 90% aplikasi menggunakan permintaan jaringan - yaitu, hal ini berguna untuk hampir semua pengembang seluler untuk memahami masalah yang relevan. Pada saat yang sama, memecahkan masalah jaringan, pengembang mungkin mempersulit hidup mereka dengan menghabiskan waktu ekstra menulis prosedur dan kelas sederhana untuk bekerja dengan web.
Laporan Eugene - yang pertama dari beberapa pemenang teratas - adalah tentang bagaimana menggunakan cara asli untuk melakukan apa yang dilakukan oleh banyak pengembang menggunakan perpustakaan pihak ketiga. Bagi banyak orang, sebuah cerita dapat mengubah gagasan tentang cara bekerja dengan jaringan dengan benar, dan akan menjadi alat dan instruksi yang berguna untuk menjadi perpustakaan yang independen.
Eugene menjelaskan cara menggunakan alat yang ada untuk paling efektif dan cepat menyelesaikan tugas-tugas khas yang dihadapi setiap pengembang ketika bekerja dengan jaringan - bekerja dengan cache, otentikasi pengguna, eksekusi permintaan, diagnosis kesalahan, debugging, memeriksa tumpukan jaringan dan berinteraksi dengan API. Menurut pengunjung konferensi, kisahnya adalah harus diwaspadai sebelum bekerja dengan jaringan.
Arsitektur penskalaan pada lyft
Pembicara:
Denis NeklyudovLokasi: 1
Dan pemenang lain adalah kisah Denis tentang pengalamannya dengan Lyft. Laporannya dikhususkan untuk masalah yang sering ditemui ketika penskalaan arsitektur aplikasi dan bagaimana membuat arsitektur "tumbuh" berdasarkan apa yang dialami di Lyft.
Lyft dimulai sebagai aplikasi Android sederhana yang dikembangkan oleh satu orang. Sekarang ada lebih dari 50 pengembang, dua aplikasi dengan basis kode umum dan banyak fitur tambahan mingguan - persyaratan telah berubah, kesulitan baru telah muncul. Dalam kondisi yang berubah seperti itu, secara surut, "bagaimana bertindak sejak awal" sangat terlihat.
Menariknya, ini adalah laporan kedua berturut-turut dari Lyft, yang menjadi pemimpin kami: enam bulan lalu, di
puncak Mobius sebelumnya, favorit ternyata adalah pidato oleh Artyom Zinnatullin tentang nuansa majelis.
Jika sepuluh besar tidak cukup, Anda dapat membuka
daftar putar konferensi yang lebih lengkap di YouTube.
Tertarik dengan laporan ini? Apakah Anda ingin mengajukan pertanyaan kepada penulisnya? Dalam hal ini, Anda kemungkinan besar akan menyukainya di
Mobius 2019 Moscow : akan ada banyak presentasi yang menarik, dan juga akan ada kesempatan untuk bertanya kepada para pembicara di zona diskusi. Bagian dari program telah diterbitkan - Anda dapat
melihat sendiri jika topiknya menarik bagi Anda.