Bagikan melalui


Ringkasan Bab 1. Bagaimana cocoknya Xamarin.Forms ?

Catatan

Buku ini diterbitkan pada musim semi 2016, dan belum diperbarui sejak saat itu. Ada banyak dalam buku yang tetap berharga, tetapi beberapa materi sudah kedaluarsa, dan beberapa topik tidak lagi sepenuhnya benar atau lengkap.

Salah satu pekerjaan yang paling tidak menyenangkan dalam pemrograman adalah porting basis kode dari satu platform ke platform lain, terutama jika platform tersebut melibatkan bahasa pemrograman yang berbeda. Ada godaan ketika porting kode untuk merefaktornya juga, tetapi jika kedua platform harus dipertahankan secara paralel, maka perbedaan antara kedua basis kode akan membuat pemeliharaan di masa depan lebih sulit.

Pengembangan seluler lintas platform

Masalah ini umum terjadi saat menargetkan platform seluler. Saat ini, ada dua platform seluler utama, keluarga Apple i Telepon s dan iPad yang menjalankan sistem operasi iOS, dan sistem operasi Android yang berjalan pada berbagai ponsel dan tablet. Platform penting lainnya adalah Platform Windows Universal Microsoft (UWP), yang memungkinkan satu program untuk menargetkan Kedua Windows 10.

Vendor perangkat lunak yang ingin menargetkan platform ini harus berurusan dengan paradigma antarmuka pengguna yang berbeda, tiga lingkungan pengembangan yang berbeda, tiga antarmuka pemrograman yang berbeda, dan—mungkin paling canggung—tiga bahasa pemrograman yang berbeda: Objective-C untuk i Telepon dan iPad, Java untuk Android, dan C# untuk Windows.

Solusi C# dan .NET

Meskipun Objective-C, Java, dan C# semuanya berasal dari bahasa pemrograman C, mereka telah berevolusi oleh jalur yang sangat berbeda. C# adalah yang terbaru dari bahasa-bahasa ini dan telah matang dengan cara yang sangat berguna. Selain itu, C# dikaitkan erat dengan seluruh infrastruktur pemrograman yang disebut .NET, yang menyediakan dukungan untuk matematika, penelusuran kesalahan, refleksi, koleksi, globalisasi, I/O file, jaringan, keamanan, utas, layanan web, penanganan data, serta pembacaan dan penulisan XML dan JSON.

Xamarin saat ini menyediakan alat untuk menargetkan API Mac, iOS, dan Android asli menggunakan C# dan .NET. Alat-alat ini disebut Xamarin.Mac, Xamarin.iOS, dan Xamarin.Android, secara kolektif dikenal sebagai platform Xamarin. Ini adalah pustaka dan pengikatan yang mengekspresikan API asli platform ini dengan idiom .NET.

Pengembang dapat menggunakan platform Xamarin untuk menulis aplikasi di C# yang menargetkan Mac, iOS, atau Android. Tetapi ketika menargetkan lebih dari satu platform, masuk akal untuk berbagi beberapa kode di antara platform target. Ini melibatkan pemisahan program menjadi kode yang bergantung pada platform (umumnya melibatkan antarmuka pengguna), dan kode independen platform, yang umumnya hanya memerlukan kerangka kerja .NET dasar. Kode independen platform ini dapat berada di Pustaka Kelas Portabel (PCL), atau proyek bersama, sering disebut Proyek Aset Bersama atau SAP.

Catatan

Pustaka Kelas Portabel telah digantikan oleh pustaka .NET Standard. Semua kode sampel dari buku telah dikonversi untuk menggunakan pustaka standar .NET.

Memperkenalkan Xamarin.Forms

Saat menargetkan beberapa platform seluler, Xamarin.Forms memungkinkan lebih banyak berbagi kode. Satu program yang ditulis untuk Xamarin.Forms dapat menargetkan platform ini:

  • iOS untuk program yang berjalan di i Telepon, iPad, dan iPod touch
  • Android untuk program yang berjalan di ponsel dan tablet Android
  • Platform Windows Universal untuk menargetkan Windows 10

Catatan

Xamarin.Formstidak lagi mendukung Windows 8.1, Windows Telepon 8.1, atau Windows 10 Mobile, tetapi Xamarin.Forms aplikasi berjalan di desktop Windows 10. Ada juga dukungan pratinjau untuk platform Mac, WPF, GTK#, dan Tizen .

Sebagian besar Xamarin.Forms program ada di pustaka atau SAP. Masing-masing platform terdiri dari stub aplikasi kecil yang memanggil kode bersama ini.

Xamarin.Forms API memetakan ke kontrol asli di setiap platform, sehingga setiap platform mempertahankan tampilan dan nuansa karakteristiknya:

Cuplikan layar tiga kali berbagi visual platform

Cuplikan layar dari kiri ke kanan menunjukkan i Telepon dan ponsel Android:

Pada setiap layar, halaman berisi Xamarin.FormsLabel untuk menampilkan teks, Button untuk memulai tindakan, Switch untuk memilih nilai aktif/nonaktif, dan Slider untuk menentukan nilai dalam rentang berkelanjutan. Keempat pandangan tersebut adalah anak-anak dari StackLayout sebuah ContentPage.

Juga dilampirkan ke halaman adalah toolbar yang Xamarin.Forms terdiri dari beberapa ToolbarItem objek. Ini terlihat sebagai ikon di bagian atas layar iOS dan Android, dan di bagian bawah layar Windows 10 Mobile.

Xamarin.Forms juga mendukung XAML, Extensible Application Markup Language yang dikembangkan di Microsoft untuk beberapa platform aplikasi. Semua visual program yang ditunjukkan di atas didefinisikan dalam XAML seperti yang ditunjukkan dalam sampel PlatformVisuals.

Program Xamarin.Forms dapat menentukan platform apa yang dijalankannya dan menjalankan kode yang berbeda yang sesuai. Lebih kuat lagi, pengembang dapat menulis kode kustom untuk berbagai platform dan menjalankan kode tersebut dari Xamarin.Forms program dengan cara yang independen platform. Pengembang juga dapat membuat kontrol tambahan dengan menulis perender untuk setiap platform.

Meskipun Xamarin.Forms merupakan solusi yang baik untuk aplikasi lini bisnis, atau untuk membuat prototipe, atau membuat demonstrasi bukti konsep yang cepat, kurang ideal untuk aplikasi yang memerlukan grafik vektor atau interaksi sentuhan yang kompleks.

Lingkungan pengembangan Anda

Lingkungan pengembangan Anda tergantung pada platform apa yang ingin Anda targetkan dan komputer apa yang ingin Anda gunakan.

Jika Anda ingin menargetkan iOS, Anda akan memerlukan Mac dengan Xcode dan platform Xamarin yang diinstal. Mendukung Android juga memerlukan penginstalan Java dan SDK yang diperlukan. Anda kemudian dapat menargetkan iOS dan Android menggunakan Visual Studio untuk Mac.

Menginstal Visual Studio memungkinkan Anda menargetkan iOS, Android, dan semua platform Windows di PC. Namun, menargetkan iOS dari Visual Studio masih memerlukan Mac dengan Xcode dan platform Xamarin yang diinstal.

Anda dapat menguji program pada perangkat aktual yang terhubung oleh USB ke komputer, atau pada simulator.

Penginstalan

Sebelum membuat dan membangun Xamarin.Forms aplikasi, Anda harus mencoba membuat dan membangun secara terpisah aplikasi iOS, aplikasi Android, dan aplikasi UWP, tergantung pada platform yang ingin Anda targetkan dan lingkungan pengembangan Anda.

Situs web Xamarin dan Microsoft berisi informasi tentang cara melakukan ini:

Setelah Anda dapat membuat dan menjalankan proyek untuk platform individual ini, Anda seharusnya tidak memiliki masalah dalam Xamarin.Forms membuat dan menjalankan aplikasi.