Dropbox mengubah kode untuk lintas platform menggunakan C ++

Beberapa hari yang lalu, Pengembang Dropbox melalui pos di blog resmi aplikasi Mereka mengumumkan rute yang ingin mereka ikuti dalam hal pengembangan ponsel aplikasi lintas platform Anda, di mana tim telah memutuskan untuk membuat basis kode terpadu, untuk berbagai tujuan atau platform.

Pendekatan ini dapat berguna untuk tim kecil dengan sedikit keterampilan, tetapi produksi diperlukan secepat mungkin. Sejak 2013, tim Dropbox mengandalkan strategi ini. AKiat untuk platform Android dan iOS melalui basis kode unik yang dibangun di C ++. Publikasi menjelaskan mengapa perusahaan sekarang lebih memilih pengembangan asli di Swift dan Kotlin.

"Dengan merakit basis kode kita dengan cara yang tidak standar, kita mewarisi biaya yang tidak perlu kita khawatirkan jika kita telah menyelaraskan dengan senjata default yang digunakan pihak ketiga dalam skala besar." Pada akhirnya, itu lebih mahal daripada menulis kode dua kali, ”katanya.

Tiba-tiba, komentar insinyur Dropbox menunjukkan bahwa pilihan pendekatan pengembangan lintas platform memperkenalkan biaya pengembangan tambahan yang terkait dengan implementasi kerangka kerja dan perpustakaan khusus.

Belum lagi yang terkait dengan implementasi work tool yang disesuaikan atau kebutuhan untuk melatih atau merekrut pihak ketiga yang mampu beradaptasi dengan tumpukan perangkat lunak yang sangat personal.

Sebenarnya menekankan bahwa pilihan C ++ untuk pengembangan lintas-platform Android dan iOS dapat menyebabkan pengembang menghadapi kesulitan bahwa mereka tidak akan secara alami.

Sebagai contoh, katanya, membangun kerangka kerja untuk mengelola tugas yang berjalan di latar belakang mungkin penting dalam pipa pengembangan lintas-platform C ++.

Sebaliknya, Insinyur lain menjelaskan kepada insinyur Dropbox, ini bukan masalah asli.

Dia bahkan menyatakan bahwa tim Dropbox, dalam prosesnya, harus mengonfigurasi perpustakaan JSON untuk C ++ 11, serta yang lain untuk administrasi pointer NULL.

Insinyur perusahaan melangkah lebih jauh dengan menekankan bahwa ia beralih ke teori pemikiran bahwa seseorang dapat memasang basis kode tunggal untuk beberapa platform.

Bahkan, ia menegaskan, kekhasan masing-masing platform adalah faktor yang tidak bisa dihindari.

"Cara aplikasi menjalankan pekerjaan latar belakang adalah platform khusus, dan Anda harus melihatnya dari awal," katanya.

Selain pertimbangan yang memengaruhi kode, ada beberapa yang terkait dengan work tool. Dalam hal ini, insinyur perusahaan berkembang dalam dua sumbu: debugging dan konfigurasi alat yang disesuaikan.

"Pengalaman debugging asli umumnya lebih unggul dari C ++ melalui IDE default dari platform target," ia menulis, menambahkan bahwa "selain harus pindah dari alat yang tersedia, kami harus memobilisasi upaya pengembangan untuk pengembangan orang lain yang mampu mendukung pendekatan lintas platform di C ++. "

Akhirnya, dalam hal aspek pelatihan dan rekrutmen, Eyal Guthmann menunjukkan bahwa petualangan multiplatform dibangun di sekitar inti insinyur dengan latar belakang C ++ yang solid.

Dengan kepergian yang terakhir ke tim atau perusahaan lain, perusahaan semakin kesulitan mengisi celah teknis untuk mempertahankan dasar kode C ++. Secara internal dan eksternal, perusahaan telah mengalami masalah untuk melatih dan merekrut dalam poros ini, karena tampaknya sangat sedikit pengembang seluler yang tertarik pada C ++.

Perjalanan tim Dropbox ke situs asli melalui Kotlin dan Swift untuk Android dan iOS membawa manfaat.

Bahkan, bahasa C ++, bersama dengan C yang tidak Anda kutip lagi, berfungsi sebagai penyebut umum untuk mengelola masalah seperti itu.

Tidak sulit membayangkan bahwa kelompok insinyur awal telah mengintegrasikannya untuk pengelolaan aspek-aspek penting tertentu dari backend. Hanya pertanyaan tentang kualitas antarmuka C ++ dengan platform target yang dapat diajukan.

Sumber: https://blogs.dropbox.com/

Pos terkait

Back to top button