Hai, nama saya Vitaliy, saya adalah seorang pengembang Android di Tinkoff.ru, saya bekerja di kantor St. Petersburg dan tahun ini saya menghadiri konferensi internasional Droidcon Berlin untuk pertama kalinya, jadi saya ingin secara singkat menceritakan tentang kesan saya.
Artikel ini tidak mengandung banyak informasi teknis, tetapi jika Anda tertarik, maka penyelenggara akan memposting video dari semua laporan di YouTube dari waktu ke waktu.

Droidcon adalah salah satu konferensi paling populer yang ditujukan untuk pengembangan Android, yang diadakan di 25 kota dan 4 benua (Eurasia, Afrika, Amerika Utara, dan Australia). Dan jika Anda mempertimbangkan Eropa dan Asia secara terpisah, jumlah benua meningkat secara signifikan hingga menjadi angka yang menakutkan - 5.
Tahun ini kami telah mengumpulkan tim yang sangat besar terdiri dari dua orang yang pergi untuk menaklukkan ibu kota Jerman tepat selama Piala Dunia.
Beberapa kata tentang tanggal konferensi, mereka mengambang dan berubah dari tahun ke tahun. Pada 2017, Droidcon Berlin digelar mulai 3 hingga 5 September, pada 2018 - mulai 25-27 Juni, dan pada 2019 akan digelar mulai 27 hingga 29 Mei.
Dari yang baik, dapat dicatat bahwa konferensi diadakan dari Senin hingga Rabu, yaitu, jika Anda datang sedikit lebih awal, misalnya pada hari Sabtu, maka ada 2 hari tersisa sebagai cadangan untuk menikmati keindahan Berlin yang hujan.
Bagaimana menuju ke konferensi
Seperti yang mereka katakan, setiap Petersburger harus membawa payung dan kacamata hitam, serta paspor dengan Schengen Finlandia, jadi satu-satunya hal yang diperlukan hanyalah membeli tiket untuk konferensi. Membeli tiket untuk konferensi ini tidak berbeda dengan membeli tiket untuk yang lain: semakin awal Anda membeli, semakin rendah biayanya. Tiket saya berharga 200 euro, dan kolega saya 150.
Sejauh yang saya tahu, tempat Droidcon Berlin tidak berubah - ini adalah CityCube Berlin. Kompleks pameran ini terletak hanya satu kilometer dari kota dan 200 meter dari stasiun S-Bahn terdekat.
Berlin adalah kota modern dengan struktur transportasi yang berkembang dengan baik, dan oleh karena itu tidak perlu menyewa perumahan di sekitar lokasi. Itu dapat dicapai dengan salah satu cara berikut.
- Berjalan kaki
- Dengan kereta S-Bahn ke S-Messe-Süd
- Di atas sepeda
- Di sepeda sewaan (mobike, nextbike)
Saya ingin menjelaskan poin terakhir secara lebih rinci. Berlin bukan Amsterdam, tetapi bersepeda di ibukota Jerman diselenggarakan pada tingkat yang layak, sehingga bikersharing sangat populer di Berlin. Ada beberapa perusahaan yang menyediakan layanan terkait (German NextBike dan Chinese Mobike).


Berbagi sepeda Jerman sangat mirip dengan berbagi mobil Rusia di mana sepeda dapat diparkir di mana saja di kota. Karena itu, Anda dapat, misalnya, pulang dengan sepeda di malam hari, dan pergi di pagi hari dengan sepeda itu. Tapi hati-hati: CityCube Berlin terletak di luar batas kota dan sepeda harus ditinggalkan di stasiun sepeda dekat stasiun S-Bahn - Messe Nord ICC.
Dalam perjalanan ke tempat konferensi ada sukarelawan yang ramah yang membantu untuk mengarahkan pada hari pertama. Ada juga tanda-tanda di sepanjang jalan, sehingga tersesat sangat sulit.

Tanda jalan

Pointer dekat pintu masuk
Seperti biasa di konferensi selama pendaftaran, Anda perlu mendapatkan lencana untuk menunjukkan diri Anda dan melihat orang lain. Saya tidak tahu bagaimana itu sebelumnya, tetapi kali ini panitia memutuskan untuk mengoptimalkan proses registrasi dan membagi antrian dengan huruf pertama dari namanya.

Secara umum, saya menyadari bahwa menjadi Vitaly dalam situasi ini sama sekali tidak menguntungkan, saya kecewa dan pergi ke tempat ke-4.
Seperti biasa, sponsor hadir di konferensi, mereka memberikan segala macam omong kosong, mengiklankan diri mereka sendiri, dan bahkan kadang-kadang meminta pekerjaan.
Tahun ini ada beberapa sponsor, semua orang bisa memberikan perhiasan keren atau menceritakan kisah menarik tentang pekerjaan mereka dan tentang proyek mereka.
- Huawei, pembuat handset, memperkenalkan kerangka augmented reality dan mobil produksi bersama dengan Porsche. Kemungkinan besar mengembangkan sistem hiburan
- Ini adalah bagian mantan Nokia, sebuah perusahaan yang sebagian besar berbasis di Jerman dan Amerika Serikat. Kembangkan solusi kartografi (sebelumnya NAVTEQ). Mereka berbicara tentang jaringan mitra yang memasok mereka dengan kartu untuk wilayah yang kompleks seperti Cina, Korea Utara dan lainnya, serta tentang mekanisme penerbitan berbagai versi peta tergantung pada lokasi Anda, bahasa dan hal-hal lain (diperlukan untuk menyelesaikan masalah wilayah yang disengketakan)
- Amazon - mereka tidak perlu pengenalan, mereka mengatakan bahwa di Jerman mereka terutama mengembangkan OS untuk tablet mereka
- Ebay - di Jerman mereka terutama terlibat dalam pengembangan analog Avito (Ebay Kleinanzeigen, saya tidak bisa mengatakan ini)
- Zebra - pengembangan perangkat lunak dan sistem perangkat keras untuk memindai barcode, yang berbasis di AS dan Britania Raya
- Gdg
- eDreams ODIGEO adalah konglomerat layanan untuk mencari tiket pesawat dan hotel dan sejenisnya (eDreams, GO Voyages, Opodo, TravelLink, Liligo, dan layanan lain yang tidak terlalu terkenal di Rusia). Pembangunan di Barcelona dan Madrid
- N26 - bank online tanpa cabang. Mereka mengatakan mereka bekerja pada prinsip Tinkoff, tetapi hanya memiliki 1 juta pelanggan (versus 6 juta untuk TF) di seluruh Eropa. Tersedia di 17 negara. Pusat pengembangan terletak di Berlin, baru-baru ini membuka kantor baru di Barcelona. Gunakan ViewModel dan LiveData.
Konferensi
Kami melanjutkan langsung ke konferensi, tahun ini berlangsung 3 hari:
- Hari Interaktif (Hari No. 0)
- Hari # 1 (Keynote Jake Wharton - Mengaburkan batas antara asli dan web)
- Hari # 2 (Keynote Job van der Voort - Aplikasi terbaik dibuat dengan celana piyama)
Selanjutnya, kami mempertimbangkan secara lebih rinci poin-poin utama setiap hari.
Hari interaktif
Hari interaktif adalah hari khusus untuk bertemu dengan peserta konferensi lainnya. Banyak waktu luang, kamar gratis. Karena itu, setiap orang dapat mengusulkan topik untuk diskusi atau melaporkan. Topik yang disarankan:
- Cara menulis DSL di Kotlin
Laporan serupa ada di JPoint, jadi tidak ada yang baru di sana. - Untuk apa Perpustakaan Google Paging?
- Cara mengatur interaksi multi-modular dengan benar
Dalam laporan ini, proyek Android yang terdiri dari beberapa modul ditinjau. Dikatakan bahwa modul ini merangkum interaksi dengan server atau database. Gagasan utamanya tentang laporan ini adalah untuk menempatkan dependensi seperti Room, Retrofit dalam modul terpisah dan menyembunyikannya.
Saya juga memutuskan untuk mengambil kesempatan ini dan menceritakan sebuah laporan dari mitap Kotlin St. Petersburg.

Saya sedang berbicara di ruang Lollipop
Ada juga diskusi panel, dalam diskusi yang diikuti 4 hingga 6 orang:
- Rx harus mati
Pesan utama adalah bahwa Rx hanyalah pustaka yang harus diganti dengan mudah, tetapi sangat sulit untuk dihilangkan, karena itu meluas ke semua tingkatan aplikasi.
Rx sangat sering membuat kode tidak dapat dipahami jika pengembang membuat rantai panjang.
Jika Anda menggunakan Single, Completable atau Maybe, maka Anda tidak perlu Rx, Kotlin Coroutines akan cukup.
Seperti biasa, mereka mengabaikan penanganan kesalahan, pembatalan eksekusi, dan pernyataan Rx. - Cross-platform di Android
- Wanita di bidang teknologi
Pada akhirnya, ada turnamen Mario Cart.

Sekarang sedikit tentang mengatur hari yang interaktif.
- Ini bukan mobius. Tidak ada kopi, teh, dan kue gratis. Satu poin untuk penjualan kopi dan permen, di antara laporan kepadanya garis panjang.
Jika Anda ingin kopi, lewati laporan, meskipun pada hari pertama Anda dapat melewatkannya dengan aman. - Ini bukan mobius. Tidak ada makanan panas - hanya sandwich, enak, tetapi secara resmi hanya satu per satu.
- Ini bukan mobius. Mereka tidak banyak diburu di sini)
Dan item terakhir dalam agenda adalah pesta tidak resmi yang diselenggarakan oleh komunitas Android Jerman BerlinDroid. Dia ada di jadwal konferensi, tetapi tidak ada yang benar-benar tahu apa-apa tentang dia. Lewat di c-base club-bar, tempat sekitar 200-300 botol bir dibayarkan. Bilah terletak di tepi sungai, jadi kami duduk di jalan dan berbicara tentang berbagai topik dengan pengembang Android lainnya.
Hari pertama
Seperti yang telah saya catat, hari pertama dimulai dengan ceramah oleh Jake Wharton “Mengaburkan batas antara asli dan web” , yang merupakan sedikit diskusi tentang topik lintas platform, pilihan bahasa dan beberapa hal lainnya. Kesimpulan utama adalah bahwa segera mungkin untuk menulis semuanya di Kotlin, fitur utamanya adalah tangkapan layar keren tentang Kotlin.


Foto dari ceramah Jake
Pada hari pertama ada laporan yang sangat bagus dari Hannes Dorfmann tentang MVI, pengembang lain sangat memujinya, tetapi saya tidak bisa mengunjunginya, jadi saya berencana untuk menontonnya ketika rekaman muncul.
Sebuah laporan menarik adalah tentang Ketergantungan Neraka oleh Erik Derr. Pada awal laporan, dia mengatakan bahwa Anda menggunakan dependensi dalam proyek, semuanya baik-baik saja dengan Anda, semuanya terstruktur. Tetapi ketika perpustakaan masuk ke APK yang dikompilasi, maka ia mendapat akses ke semua yang dapat diakses oleh aplikasi itu sendiri.
Lalu ia dengan lancar melanjutkan untuk membahas keamanan perpustakaan yang dapat diunduh dan mengapa penting bagi pengembang untuk mengetahui bahwa ketergantungan tidak mengandung kerentanan dan tidak mencuri data pengguna.
Setelah itu, ia menganalisis penggunaan Facebook SDK, khususnya, ia menganalisis versi SDK mana yang paling sering digunakan dalam aplikasi lain, dan memperhatikan bahwa sejumlah proyek menggunakan versi Facebook SDK yang rentan, dan karena alasan tertentu sering tidak diperbarui.
Di akhir laporan, ia mempresentasikan ekstensi untuk Android Studio Up2Dep , yang menyarankan versi ekstensi terbaru yang kompatibel (mungkin di level antarmuka).

Contoh plugin
Laporan navigasi dari Anthony Agby (Anthony Agby) menganalisis bagaimana mereka dulu bekerja dengan geolokasi di Android, bagaimana FusedLocationManager sekarang digunakan, apa yang harus dilakukan jika pengguna tinggal di China.
Kemudian saya pergi ke pembicaraan Ricardo Lage tentang migrasi dari AutoValue ke Kelas Data Kotlin. Dia memberi tahu separuh laporan tentang AutoValue, untuk apa itu, bagaimana mereka masih membuat serializers. Dia fokus pada bagaimana kerennya menggunakan Kelas Data, dan bagaimana mereka menulis sebuah plugin yang mengubah kode lama menjadi Kelas Data. Tetapi bahkan dengan kelas data, mereka menggunakan plugin mereka untuk menghasilkan kode serializer, karena mereka tidak suka Serialization Kotlin.
Pada saat itu, kolega saya pergi ke laporan Saket Narayan "Kegigihan sebagai satu-satunya sumber kebenaran" , yang membuatnya terkesan sehingga saya juga ingin menontonnya ketika video itu muncul.
Vitaliy Zasadnyy membuat presentasi tentang DeepLink. Jika pembicara berpakaian sangat gaya: di baju, rompi dan senyum di telinga, maka ini adalah laporan manajemen (ini ternyata benar). Jika Anda mencoba menyorot esensi, maka Anda perlu menggunakan Google Referer API, jika kami ingin mentransfer informasi tambahan segera setelah mengunduh aplikasi.
Kemudian ada laporan oleh Nishant Srivastava tentang ProcessLifecycle, yang menceritakan kembali artikelnya .

Di akhir hari pertama, saya berfoto dengan Hannes Dorfman.
Hari kedua
Job van der Voort membuka hari kedua dengan pembicaraan "Aplikasi terbaik dibangun dengan celana piyama" . Pekerjaan bekerja di GitLab dan kisahnya adalah tentang bagaimana mereka semua bekerja di rumah dan apa manfaatnya, misalnya, ia berhasil bekerja dan memantau bagaimana putrinya tumbuh. Berdasarkan pengalaman yang sukses, ia menyimpulkan bahwa kantor adalah opsional.

Foto dari ceramah Ayub
Dia memberikan perhatian khusus pada paradigma OpenSource, yang menurutnya kode semua produk mereka, bahkan yang mereka jual, ada dalam domain publik, yaitu, setiap pengguna dapat mengunduh kode sumber, menyusunnya dan menggunakannya tanpa masalah.
Namun yang paling menarik adalah kisah tentang komunitas yang mereka ciptakan. Ternyata banyak perusahaan klien membuat fitur baru yang bermanfaat tidak hanya untuk mereka, tetapi juga untuk pelanggan lain. Meskipun demikian, perusahaan masih membeli produk dari GitLab, meskipun mereka sering membuat fungsi yang mereka butuhkan untuk diri mereka sendiri dalam produk GitLab.
Kemudian kami mendengarkan laporan tentang peningkatan kecepatan pembangunan proyek dari Nikita Kozlov dan Boris Farber (Nikita Kozlov, Boris Farber) tergantung pada versi grale, kotlin, dll. Secara khusus, mereka mengukur kecepatan build pada bunga poppy 15 dan 17 tahun. Untuk meringkas, orang-orang menginginkan bunga poppy baru dan mereka perlu entah bagaimana berdebat mengapa mereka membutuhkan komputer yang lebih kuat.

Daftar parameter yang dipertimbangkan pembicara
Yang mengejutkan saya, dari laporan yang cukup standar oleh Abdelmounaïm Belghalem tentang baterai, saya menemukan bahwa 3G makan lebih dari LTE.
Kemudian datang presentasi oleh Vasiliy Zukanov "Aktivitas dan Fragmen bukan pandangan MVX" . Terlihat bahwa kegiatan dan fragmen mengambil banyak hal pada diri mereka sendiri, jadi masuk akal untuk menempatkan beberapa fungsi berulang ke dalam kelas tambahan.
Danny Preussler berbicara tentang menyuntikkan ketergantungan pada Kotlin menggunakan Koin dan Kodein. Dia menyimpulkan bahwa Dagger adalah perpustakaan yang cukup bagus, tetapi jika Anda menggunakan Koin dan Kodein, Anda dapat menyuntikkan dependensi melalui properti yang didelegasikan dan ini jauh lebih nyaman.
Dan laporan terakhir diceritakan oleh Parth Padgaonkar. Laporan tersebut meneliti metode konversi kode sinkron ke kode Rx. Secara khusus, kode RxBindings (ditulis oleh Jake) dan pembuatan custom Observable menggunakan metode Observable.create dianalisis. Ternyata banyak orang lupa untuk menulis garis tebal dan oleh karena itu kebocoran memori dimungkinkan saat membuat sebuah Observable.

Tetapi laporan terbaru tidak menarik begitu banyak pendengar, sejak pada 27 Juni tim nasional Jerman memainkan pertandingan penyisihan grup terakhir dengan tim nasional Korea pada hari Rabu.



Kemudian saya berhasil bertemu dan mengobrol dengan Dmitry Vinogradov. Ini adalah pencipta startandroid.ru , informasi yang diposting yang sangat berguna untuk pemula dan tidak hanya pengembang Android.

Kesimpulan singkat:
- Tingkat laporan secara keseluruhan sedikit lebih rendah daripada di Petersburg Mobius, tetapi lebih tinggi daripada di Moskow
- Ide yang sangat keren dengan hari interaktif pertama, karena ada waktu untuk bertemu peserta konferensi lainnya
- Masalah dengan makanan ringan dan makanan pada hari pertama
- Istirahat pendek antar laporan, tidak cukup waktu untuk membahas laporan, minum kopi, mengobrol dengan sponsor
- Tidak ada yang mengikuti aturan, jadi Anda tidak hanya tidak punya waktu untuk melakukan apa pun selama istirahat, tetapi Anda terlambat untuk laporan berikutnya
- Baik setelah pesta setelah hari yang interaktif
- Anda bisa bermain kicker, mesin slot, jenga dan hal-hal lain di waktu luang Anda.
- Jika tidak ada uang untuk tiket, Anda dapat mendaftar untuk konferensi sebagai sukarelawan, dan tidak perlu membantu organisasi selama 3 hari.
Fakta menarik dalam satu baris
- Mengobrol dan bertemu banyak orang dari berbagai negara
- Tren dalam konferensi ini: Flutter dan Cross-Platform
- Bercakap-cakap dengan pendiri situs StartAndroid, juga berfoto dengannya, mengetahui bagaimana ia pindah ke Jerman
- Punya foto dengan Hannes Dorfmann
- Memberitahu Jake Worthan bahwa saya adalah penggemar Rusia-nya
- Saya belajar bahwa tidak ada departemen QA di kantor outsourcing Eropa. Penguji hanya dari pelanggan
- Pengembang Eropa sering pindah ke negara yang lebih murah dan kota yang lebih murah (misalnya, dari Skotlandia bukan ke London, tetapi ke Berlin)
- Pembangunan dan kehidupan di Berlin lebih murah daripada di kota-kota Jerman lainnya (Munich dan Cologne)
- Di Berlin, masalah dengan pembayaran dengan kartu, Anda akan membutuhkan uang tunai
- Orang Amsterdam tidak membedakan bau rumput dari bau rokok