Buku dengan judul Pengembangan Cross Platform Mobile App dengan Xamarin 5 & Visual Studio 2022 ini akan membahas bagaimana mengembangkan aplikasi Cross Platform (Android, IOS, Windows) menggunakan teknologi .NET dan bahasa C#. Xamarin Forms 5.0 sendiri adalah versi terakhir dari Xamarin Forms sebelum berevolusi menjadi .NET MAUI (.NET MAUI akan rilis di pertengahan tahun 2022). Buku ini cocok digunakan oleh pengembang aplikasi pemula yang akan mempelajari bagaimana cara mengembangkan aplikasi mobile dari awal.
Di permulaan bab akan dijelaskan apa itu Xamarin, dan apa saja yang dibutuhkan untuk memulai mengembangkan aplikasi mobile. Kemudian diteruskan dengan pembahasan tentang View, Layout, Navigasi antar halaman, dasar data binding, MVVM Pattern, dan bagaimana cara menampilkan data pada ListView. Setelah pembaca mengerti dasar pembuatan aplikasi, maka di bab selanjutnya akan dibahas bagaimana cara bekerja dengan data pada Local Storage, dan bagaimana cara mengakses data pada backend API. Buku ini juga menjelaskan beberapa fitur yang baru seperti bagaimana cara menggunakan Flyout, Xamarin Essentials, dan Xamarin Community Toolkit.
Akhir kata, selamat membaca dan mencoba membuat aplikasi mobile dengan Xamarin Forms. Semoga buku ini dapat bermanfaat untuk memberi fondasi dasar, dan praktek langsung untuk rekan-rekan yang memulai belajar untuk mengembangkan aplikasi mobile.
Jika anda tertarik untuk belajar Xamarin Forms development lebih lanjut dengan topik yang lebih advance, anda juga dapat mengikuti pelatihan intensive dengan studi kasus yang dibutuhkan di https://actual-training.com. Untuk mendapatkan penawaran anda dapat menghubungi email info@actual-training.com atau no wa 087876133054.
Ketika bekerja dengan beberapa proyek Xamarin Forms, pengembang biasanya akan mencoba untuk menggunakan kembali elemen yang digunakan pada proyek sebelumnya. Elemen yang biasa digunakan kembali seperti value converter, custom view, dan behaviour. Untuk menyederhanakan kebutuhan tersebut Microsoft menawarkan library bernama Xamarin Community Toolkit.
Menggunakan Xamarin Community Toolkit
Anda dapat memperoleh Xamarin Community Toolkit melalui NuGet Package Manager. Berikut adalah cara untuk menambahkan Xamarin Conmmunity Toolkit menggunakan Visual Studio 2022.
Anda dapat mengecek file .csproj untuk memastikan bahwa Xamarin Community Toolkit sudah ditambahkan.
Anda juga dapat melihat dokumentasi dan contoh implementasi dari Xamarin Commonity Toolkit pada tautan berikut ini.
Pada bab ini akan dibahas beberapa contoh elemen dari Xamarin Community Toolkit yang sering digunakan dalam membuat aplikasi.
Bekerja dengan View
Xamarin Community Toolkit menyediakan beberapa view yang dapat melengkapi view bawaan dari Xamarin Forms. Berikut ini adalah beberapa view yang ada pada Xamarin Community Toolkit
AvatarView
BadgeView
CameraView
DockLayout
Expander
LazyView
MediaElement
Popup
RangeSlider
Shield
StateLayout
TabView
UniformGrid
Uniform Grid
Pada contoh dibawah ini dijelaskan beberapa layout baru yang didukung di Xamarin Community Toolkit. Untuk lebih lengkapnya anda dapat melihat dokumentasinya.
Menggunakan DockingLayout
Pada contoh berikut akan ditunjukan cara untuk menggunakan docking layout.
CameraView kontrol memungkinkan pengguna untuk menampilkan preview keluaran kamera. Selain itu CameraView juga dapat mengambil foto atau merekam video. CameraView juga menawarkan opsi yang anda harapkan untuk mendukung pengambilan foto dan perekaman video seperti menyalakan atau mematikan flash, menyimpan media yang diambil ke file. Berikut adalah kontrol yang dapat digunakan.
Pada contoh dibawah ini kita dapat mengcapture gambar, dan merekam video melalui kamera.
Hasil dari program diatas dapat dilihat pada gambar dibawah ini.
Komponen Reusable Converter
Pada Xamarin.Forms terutama pada platform UI berbasis XAML, terjadi pengikatan data antara properti sumber dan properti target. Jika keduanya bertipe sama, data-binding dapat dilakukan. Jika properti memiliki tipe yang berbeda, misalnya saat perlu mengikat/binding Image.Source properti ke gambar yang diwakili oleh string Base64, mekanisme pengikatan data memerlukan konverter nilai yang sesuai yang mengubah string Base64 menjadi tipe ImageSource. Solusinya adalah menggunakan konverter nilai, yang merupakan objek yang mengimplementasikan IvalueConverter.
Adapun Reusable Converter yang dapat digunakan pada Xamarin Community Toolkit adalah sebagai berikut:
BoolToObjectConverter
ByteArrayToImageSourceConverter
CompareConverter
DateTimeOffsetConverter
DoubleToIntConverter
EnumToBoolConverter
EnumToIntConverter
EqualConverter
IndexToArrayItemConverter
IntToBoolConverter
InvertedBoolConverter
IsInRangeConverter
IsNotNullOrEmptyConverter
IsNullOrEmptyConverter
ItemSelectedEventArgsConverter
ItemTappedEventArgsConverter
ListIsNotNullOrEmptyConverter
ListIsNullOrEmptyConverter
ListToStringConverter
MathExpressionConverter
MultiConverter
NotEqualConverter
StringToListConverter
TextCaseConverter
VariableMultiValueConverter
Validasi Data dengan Reusable Behaviour
Pada Xamarin Forms, kita dapat menambahkan behaviour yang bertujuan untuk menambahkan fungsionalitas ke tampilan antarmuka pengguna tanpa harus membuat subclass-nya (turunan dari class). Beberapa behaviour yang ada pada Xamarin Community Toolkit adalah sebagai berikut:
AnimationBehavior
CharactersValidationBehavior
EmailValidationBehavior
EventToCommandBehavior
ImpliedOrderGridBehavior
MaskedBehavior
MaxLengthReachedBehavior
MultiValidationBehavior
NumericValidationBehavior
RequiredStringValidationBehavior
SetFocusOnEntryCompletedBehavior
TextValidationBehavior
UriValidationBehavior
UserStoppedTypingBehavior
ValidationBehavior
EventToCommand Behaviour Pada ListView
Contoh berikut menunjukan bagaimana cara penggunaan EventToCommand behaviour yang biasa dilakukan untuk membinding event ItemTapped dari ListView ke command.
Pada contoh di artikel sebelumnya yang membahas tentang MVVM kita sudah melihat bagaimana cara untuk membinding ViewModel kedalam ListView. Namun ada satu hal yang belum kita lakukan yaitu memambahkan event hadler ItemTapped yang dibinding kedalam command yang ada di ViewModel. Untuk tujuan tersebut kita perlu menggunakan EventToCommand behaviour.
Hal yang pertama kita perlu menambahkan resources converter yang akan digunakan untuk mengkonversi event ke command.
Versi yang paling stabil dari Xamarin Forms sudah rilis yaitu Xamarin Forms 5.
Rilis utama ini memberikan ratusan peningkatan kualitas dan menghadirkan fitur-fitur baru yang stabil termasuk App Theme, Brushes, CarouselView, RadioButton, Shapes and Paths, dan SwipeView.
Bagaimana cara upgrade ke Xamarin Forms 5.0?
Pastikan andamenggunakan Visual Studio 2019. Ini adalah versi minimum yang diperlukan.
UIWebView telah dihapus untuk penyesuaian dengan guidelines dari Apple yang diperbarui.
Ekstensi markup MediaElement, Expander, dan C # UI telah dipindahkan ke pustaka Xamarin Community Toolkit. Anda dapat menginstal Xamarin Community Toolkit melalui NuGET package manager.
Package DataPages dan Theme harus dihapus dari solusi anda. Paket eksperimental ini tidak lagi dirilis.
(Opsional) MasterDetailPage dan tipe terkait telah diubah namanya menjadi FlyoutPage. Tipe lama sudah deprecated, biarpun anda masih dapat menggunakannya pada project namun disarankan menggunakan FlyoutPage untuk memudahkan migrasi ke MAUI nantinya.
Perbarui project Xamarin Forms anda ke versi 5.0 melalui NuGet Package Manager, clean, restart Visual Studio, dan terakhir rebuild projectnya.
Berikut langkah upgrade ke Xamarin Forms 5.0
1. Buat project Mobile App (Xamarin Forms) baru dengan nama SampleForm5
2. Kemudian pilih Flyout sebagai template dari aplikasi yang dibuat.
3. Klik kanan pada solution explorer, kemudian pilih manage Nuget Package Manager
4. Pada tab update akan muncul package Xamarin Forms. Pilih versi yang paling baru saat ini yaitu versi 5 dan tekan tombol install.
5. Kemudian update juga library Xamarin Essentials
6. Clean solution, restart visual studio, buka kembali project-nya, kemudian langkah terakhir lakukan rebuild.
7. Untuk android pastikan anda menggunakan target platform Android sdk 10 (Q).
8. Setelah solution berhasil di rebuild tanpa pesan error, jalankan aplikasi untuk memastikan tidak ada masalah pada proses upgrade.
Pada blog selanjutnya akan dibahas juga beberapa fitur yang baru pada Xamarin Forms 5, termasuk penggunaan Xamarin Community Toolkit.