Last Updated on January 25, 2023 by
Banyaknya pilihan perangkat mobile yang berjalan di atas platform berbeda membuat developer cukup kebingungan saat mulai mengembangkan aplikasi. Apakah aplikasi akan dibuat untuk satu jenis sistem operasi saja, atau untuk banyak OS sekaligus? Jika dibuat untuk banyak OS sekaligus, bagaimana cara agar semuanya dapat dikelola tanpa efisien waktu? Saat ini telah muncul beberapa cara untuk membangun aplikasi secara cross-platform. Untuk Anda yang sudah menguasai C# dan menekuni .NET, ada yang namanya .NET MAUI untuk mempermudah pembangunan aplikasi untuk empat jenis platform yang paling banyak digunakan saat ini, yaitu Android dan iOS untuk ponsel pintar serta Windows dan Mac untuk desktop. Simak lebih lengkapnya dalam artikel ini.
Table of Contents
Apa itu .NET MAUI?
.NET MAUI atau Multi-platform App UI adalah framework yang dapat digunakan untuk mengembangkan aplikasi pada Android, iOS, macOS dan Windows dalam satu codebase dalam bahasa C# dan XAML. .NET MAUI menyatukan API dari Android, iOS, macOS, dan Windows menjadi satu API yang dapat dijalankan pada keempat sistem tersebut dan memungkinkan developer mengakses setiap aspek pada masing-masing platform. .NET Platform App UI telah menjadikan pengembangan aplikasi mobile menjadi standar dan tidak terpisahkan dengan .NET itu sendiri. .NET Multi-platform App UI masih terbilang cukup baru karena mulai tersedia untuk digunakan oleh para developer di pertengahan tahun 2022 lalu.
Sebelumnya .NET versi 6 telah menghadirkan framework untuk tiap sistem, baik itu Android, iOS, macOS, dan Windows. Seluruh sistem dapat mengakses pustaka yang memungkinkan logika kode dapat dibaca oleh masing-masing platform. Sekalipun demikian, masing-masing platform ini memiliki cara yang berbeda untuk menampilkan antarmuka serta menghubungkannya ke elemen lain. .NET MAUI menyediakan satu framework yang memungkinkan kode dalam aplikasi Anda untuk mengakses antarmuka pemrograman aplikasi atau application programming interface (API) milik .NET MAUI saja, sehingga tidak perlu repot-repot membuat codebase UI untuk sistem yang berbeda-beda.
Dengan penargetan pada berbagai platform, resource dan aset seperti font, gambar, dan sejenisnya hanya perlu dimasukkan sekali saja dalam satu proyek, lalu .NET Multi Platform App UI yang akan mem-bind aset-aset tadi untuk tiap sistem operasi. Selain itu, pengembang juga bisa lebih efisien dalam bekerja karena bisa membangun aplikasi untuk 4 platform sekaligus hanya dengan satu bahasa pemrograman, tidak perlu membuat tim khusus untuk sistem yang berbeda.
Fitur-fitur .NET MAUI
- Menyediakan kontrol yang dapat digunakan untuk memunculkan data, menjalankan aksi, menunjukkan aktivitas yang sedang berjalan, dan banyak lagi
- Memiliki layout engine untuk perancangan halaman dalam aplikasi yang lebih jelas
- Memungkinkan pembuatan berbagai jenis bentuk halaman untuk merancang navigasi beragam bentuk
- API grafis lintas platformuntuk melakukan fungsi menggambar (drawing) dan mewarnai (painting), komposisi serta transformasi objek.
Selain itu, .NET Multi-platform App UI juga menyediakan beberapa fitur berikut ini:
-
API lintas platform
Tersedia API yang memungkinkan aplikasi untuk mengakses fitur-fitur pada perangkat yang dijalankan, karena telah mengintegrasikan library Xamarin.Essentials. Contoh implementasi dari penggunaan API perangkat yaitu:
– Membaca data dari sensor accelerometer, kompas dan gyroscope.
– Pengecekan kondisi baterai dan jaringan.
– Copy dan paste teks dari aplikasi lain menggunakan clipboard bawaan.
– Simpan data dengan lebih aman menggunakan key tertentu.
– Baca teks menggunakan mesin text-to-speech yang dimiliki.
– Melakukan autentikasi ke suatu layanan menggunakan halaman web tertentu.
-
Single Project
Berbeda dengan Xamarin yang mengharuskan proyek yang terpisah untuk setiap platform tujuan, pada .NET Multi-platform App UI proyek pembuatan aplikasi dapat ditargetkan untuk berbagai sistem sekaligus, sehingga bisa lebih konsisten dan sederhana. .NET MAUI single project menyediakan beberapa hal berikut ini:
– Sebuah proyek yang dapat menyasar Android, iOS, macOS, dan Windows
– Pemilihan perangkat target untuk men-debug aplikasi Anda.
– Resource file yang dapat digunakan di keseluruhan proyek.
– Satu manifest aplikasi yang mendefinisikan judul, ID, dan versi aplikasi.
– Akses API dan tool yang dikhususkan untuk masing-masing platform jika dibutuhkan.
– Satu entry yang digunakan di berbagai platform untuk masuk ke aplikasi.
Aplikasi .NET Multi-platform App UI mendukung versi OS minimum Android 5.0 (API 21), Windows 11 dan Windows 10 versi 1809, iOS 11, dan macOS 10.15. Untuk membangun aplikasi .NET Multi-platform App UI Blazor, versi minimum yang didukung adalah Android 7.0 (API 24), iOS 14, dan macOS 11. Perlu dicatat bahwa untuk pengembangan aplikasi Android dan Windows dapat dilakukan di komputer Windows dan juga Mac, namun untuk pengembangan aplikasi iOS dan macOS diperlukan Mac.
-
.NET hot reload
Teknologi ini memungkinkan sumber kode aplikasi diubah pada saat aplikasi berjalan. Hasil modifikasinya dapat terlihat langsung tanpa perlu me-restart atau menjeda jalannya aplikasi. Selain itu, hot reload juga didukung untuk file XAML. Seluruh data dan navigasi yang Anda lakukan dalam aplikasi akan tersimpan sehingga tidak akan hilang saat Anda mengubah aplikasi tersebut.
-
Mendukung pola MVU
Selain ReactiveUI dan pola Model-View-ViewModel di Xamarin, MAUI mendukung Blazor dan pola Model-View-Update yang memungkinkan developer untuk membangun front end untuk berbagai sistem operasi dari sebuah kode yang dibagikan dalam keseluruhan proyek.
Mengapa memilih .NET MAUI?
-
Mengutamakan aksesibilitas
Aplikasi yang memanfaatkan native UI bisa menggunakan fitur-fitur aksesibilitas untuk memudahkan akses aplikasi bagi pengguna kebutuhan khusus. Anda dapat menggunakan property seperti deskripsi pada gambar, hint untuk menunjukkan elemen tambahan, serta dukungan untuk screen reader.
-
Mendukung fitur-fitur terbaru pada C#
.NET MAUI menggunakan fitur-fitur C# 10 yang didukung di .NET versi 6, seperti statement ‘using’ yang dapat digunakan secara global dan file scoped namespaces.
-
Satu proyek untuk semua platform
Salah satu poin fitur MAUI yang kami singgung di atas adalah single project dimana Anda dapat menargetkan satu proyek aplikasi ke 4 sistem operasi sekaligus. Setiap platform tersebut memiliki subfoldernya sendiri pada folder Platforms yang terdapat di setiap proyek .NET Multi App Platform UI sehingga mempermudah pengelolaan resource untuk setiap sistem operasi. Selain itu, proyek MAUI juga memiliki folder Resource untuk mengelola beberapa aspek, termasuk ikon aplikasi, font, gambar, splash screen (layar pembukaan), style aplikasi, dan raw assets.
-
Dapat menggunakan Blazor untuk Desktop dan Mobile
Jika Anda telah menguasai pengembangan aplikasi web dengan Blazor, maka pengembangan di .NET Multi App Platform UI dapat dilakukan dengan mudah. Komponen Blazor akan dieksekusi langsung pada perangkat. Bahkan, Anda juga dapat memanfaatkan beragam fitur-fitur native seperti notifikasi, akses lokasi dan sensor di perangkat, filesystem, serta masih banyak lagi.
-
Kecepatan yang optimal
Performa yang didapat dari aplikasi .NET Multi App Platform UI mampu ditingkatkan hingga 50% terutama jika di-compile menggunakan mekanisme ahead-of-time (AOT). Jika khawatir mekanisme ini akan memperbesar ukuran aplikasi, AOT dapat diterapkan hanya untuk komponen aplikasi yang diperlukan saat memulainya, sehingga aspek kecepatan dan ukuran aplikasi dapat diseimbangkan.
Ingin mulai menggunakan .NET MAUI?
Untuk mulai membangun aplikasi dengan .NET Multi App Platform UI, Anda perlu menginstal Visual Studio 2022 versi 17.3 (17.4 untuk Mac) atau yang lebih baru. Pada proses instalasi, pastikan “.NET Multi-Platform App UI development” telah di ceklis pada layar Workload. Jika Anda ingin belajar .NET Multi-Platform App UI, telah ada beberapa sumber pembelajaran yang dibuat salah satunya dari Microsoft sendiri.
Untuk aplikasi yang sebelumnya menggunakan Xamarin.Forms, beberapa langkah yang perlu diikuti untuk migrasi ke .NET 6 dengan MAUI yaitu mengubah proyek dari .NET Framework ke .NET SDK Style, memperbarui namespace, memperbarui package NuGet yang tidak kompatibel, memperbaiki perubahan pada API yang mungkin bermasalah, lalu baru menguji coba aplikasi yang dikonversi.
Penutup
Demikian ulasan kami kali ini tentang .NET Multi-platform App UI, sebuah cara untuk membangun aplikasi di Android, iOS, Windows, dan macOS dengan satu sumber kode. Masih ingin tahu informasi lainnya tentang pengembangan aplikasi dan web? Terus ikuti situs kami di appkey.id agar tidak ketinggalan artikel terbaru dari kami. Sampai jumpa!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.