Mengapa kemampuan lintas platform sangat penting untuk masa depan pengembangan [Q&A]

Mengapa kemampuan lintas platform sangat penting untuk masa depan pengembangan [Q&A]

Semakin banyak konsumen dan bisnis yang mengandalkan perangkat portabel, dan itu berarti penting bahwa aplikasi tersedia di beberapa sistem yang berbeda.

Kami berbicara dengan Jerome Laban, CTO Uno Platform — yang memungkinkan pengembang Microsoft, menggunakan C# dan XAML tradisional, untuk membawa aplikasi mereka ke iOS, Android, Mac, Linux, dan web — untuk mengetahui lebih lanjut tentang pengembangan lintas platform dan bagaimana itu bisa menjadi aplikasi yang tahan masa depan.

BN: Mengapa kemampuan untuk memigrasikan aplikasi ke platform lain menjadi begitu penting?

JL: Pengembang perangkat lunak berada di bawah tekanan luar biasa untuk mengembangkan lebih banyak aplikasi dengan lebih cepat. Tekanan ini bahkan menyebabkan revitalisasi pendekatan ‘kode rendah’ ​​di mana apa yang disebut ‘pengembang warga’ memiliki alat untuk membangun aplikasi.

Namun tidak ada pengganti untuk melakukan pekerjaan rekayasa dan pengembangan inti untuk aplikasi berat, bisnis penting, atau aplikasi yang dihadapi konsumen. Dan pengembang ini perlu berkembang lebih cepat ke platform atau faktor bentuk apa pun.

Pergi lintas platform dan menggunakan kembali basis kode yang sama masuk akal karena Anda tidak hanya menggunakan kembali basis kode, tetapi Anda juga menggunakan kembali kode yang telah diuji dengan baik dan kemungkinan memiliki cakupan pengujian yang dapat digunakan kembali, merupakan aplikasi yang aman, dan dapat diakses.

Mungkin sebagai manfaat tambahan, dengan resesi ekonomi yang lebih sering disebutkan, kemungkinan bisnis harus menghasilkan lebih banyak dengan lebih sedikit, memberikan pendekatan lintas platform lagi dorongan.

BN: Apa untungnya bagi pengembang dalam hal memanfaatkan keahlian mereka?

JL: Proposisi nilainya langsung — dengan Uno Platform, pengembang Microsoft dapat menggunakan keahlian yang sama dari sudut pandang bahasa pemrograman — C# dan XAML, dan hal lain yang biasa mereka lakukan dalam ekosistem yang telah berkembang selama beberapa dekade . Ini berarti semua alat yang sudah dikenal seperti Visual Studio, VS Code atau Rider, atau ekosistem pihak ketiga dan sumber terbuka yang telah dikembangkan Microsoft selama bertahun-tahun. Dan semua itu dengan memperluas kerangka UI masa depan untuk aplikasi Windows modern — WinUI.

Ambil semua itu, dan penyiapan pengembang Anda sekarang sangat produktif dalam menghadirkan atau memodernisasi aplikasi apa pun di platform atau perangkat apa pun. Anda dapat mengembangkan lebih banyak aplikasi dalam waktu yang lebih singkat. Kami melihat banyak adopsi dalam memindahkan aplikasi Windows tradisional ke Web dan hanya aplikasi Web/Seluler lintas platform greenfield.

BN: Bagaimana dengan pengujian? Bagaimana Anda bisa yakin suatu aplikasi akan berfungsi di berbagai platform?

JL: Sebagai pembuat aplikasi, kami memahami pentingnya pengujian. Pengujian otomatis merupakan bagian integral dari siklus hidup pengembangan — pengujian unit otomatis dan UI. Kami mengaktifkan pengujian UI lintas platform melalui pustaka UNO.UITests secara eksplisit dibangun untuk aplikasi platform Uno dan merupakan landasan pengujian aplikasi platform Uno. Ide di baliknya adalah untuk mensimulasikan interaksi pengguna dengan elemen tertentu dari aplikasi Anda dan kemudian menegaskan setiap perubahan ke UI lainnya. Kami juga menggunakan Uno.UITest di Platform Uno itu sendiri untuk memastikan tidak ada regresi yang melewati jaring.

Manfaat nyata dari pengujian UI adalah membantu pengembang mengidentifikasi bug dan hambatan. Mungkin yang paling penting, pengujian UI aplikasi platform Uno memastikan konsistensi pengalaman pengguna di semua platform dan jenis perangkat.

BN: Mengapa penting untuk menjadikan Uno Platform open source?

JL: Kami membuka Platform Uno untuk mendapatkan kecepatan yang lebih besar ke Platform Uno untuk proyek yang kami buat untuk klien. Selain itu, sebagai insinyur senior dengan puluhan tahun dalam pengembangan perangkat lunak, kami memperhatikan jumlah pemborosan di industri kami melalui ‘penemuan kembali roda’ secara terus-menerus, dan kami pikir kami dapat melakukan sesuatu untuk mengatasinya.

Mari saya jelaskan:

Kami telah mengembangkan Platform Uno sejak 2013 untuk membangun aplikasi seluler lintas platform untuk klien kami seperti Air Canada atau Aliansi Industri (Pada 2018 kami telah membangun solusi lintas platform seluler yang sangat kuat. Pada saat itu, WebAssembly masuk dan menghadirkan solusi yang sangat baik kesempatan bagi Platform Uno untuk dapat menyebarkan ke Web kode yang sama yang telah Anda kembangkan untuk desktop atau seluler.

Kami memutuskan untuk membuka Platform Uno karena kami menyadari bahwa area permukaan baru yang kami tutupi setelah memperluas ke WebAssembly akan menjadi lebih signifikan. Dan pada saat itu, kami dengan tepat berasumsi bahwa banyak pengembang ingin terlibat dalam proyek tersebut. Selain itu, penting bagi pengembang untuk memiliki akses ke kode sumber untuk mengadopsi teknologi apa pun saat ini. Pengembang adalah penjaga gerbang untuk teknologi baru yang akan diadopsi di perusahaan.

Jadi, saat ini kami mendapatkan kecepatan yang lebih besar untuk proyek ini melalui pengujian ekstensif yang dilakukan komunitas kami dengan mengimplementasikan aplikasi dunia nyata dengan Platform Uno. Dan kami mendapatkan fitur baru dan perbaikan bug dari lebih dari 230 kontributor di GitHub. Dan seperti yang saya katakan, kita dapat berhenti menciptakan kembali roda karena semua inovasi yang masuk ke ekosistem pengembang Windows dapat digunakan kembali dan diletakkan di semua platform non-Windows lainnya.

BN: Bagaimana Anda melihat Platform Uno berkembang selama beberapa tahun ke depan?

JL: Kami melihat Platform Uno menjadi cara paling produktif untuk membangun aplikasi .NET di mana pun .NET berjalan. Jika kita melihat ekosistem non-.NET dan perkakas yang ada di sana, kita tidak melihatnya di sisi .NET. Itu adalah validasi bagi kami untuk menempuh jalur yang sama dan memberikan penawaran platform tambahan terkait ketidakefisienan besar lainnya, seperti penyerahan desain ke pengembangan. Menurut kami, kami dapat mengurangi waktu yang diperlukan untuk mengembangkan aplikasi lintas platform dari lima hingga 10 kali hanya berdasarkan jumlah pengerjaan ulang yang kami hapus dari siklus berulang antara desain dan pengembangan.

Kredit gambar: kume111000/depositphotos.com

Author: Kenneth Henderson