Apa itu Xamarin?

Screenshots of example Xamarin application in iOS and Android

Xamarin adalah platform sumber terbuka untuk membangun aplikasi modern dan berkinerja untuk iOS, Android, dan Windows dengan .NET. Xamarin adalah lapisan abstraksi yang mengelola komunikasi kode bersama dengan kode platform yang mendasar. Xamarin berjalan di lingkungan terkelola yang memberikan kemudahan seperti alokasi memori dan pengumpulan sampah.

Xamarin memungkinkan pengembang berbagi rata-rata 90% aplikasi mereka di seluruh platform. Pola ini memungkinkan pengembang untuk menulis semua logika bisnis mereka dalam satu bahasa (atau menggunakan kembali kode aplikasi yang ada) tetapi mencapai performa, tampilan, dan nuansa asli di setiap platform.

Aplikasi Xamarin dapat ditulis di PC atau Mac dan dikompilasi ke dalam paket aplikasi asli, seperti file .apk di Android, atau file .ipa di iOS.

Catatan

Mengkompilasi dan menyebarkan aplikasi untuk iOS saat ini memerlukan mesin MacOS. Untuk informasi selengkapnya tentang persyaratan pengembangan, lihat persyaratan sistem.

Siapa Xamarin adalah untuk

Xamarin adalah untuk pengembang dengan tujuan berikut:

  • Bagikan kode, pengujian, dan logika bisnis di seluruh platform.
  • Tulis aplikasi lintas platform di C# dengan Visual Studio.

Cara kerja Xamarin

Diagram of Xamarin architecture

Diagram menunjukkan arsitektur keseluruhan aplikasi Xamarin lintas platform. Xamarin memungkinkan Anda membuat UI asli di setiap platform dan menulis logika bisnis di C# yang dibagikan di seluruh platform. Dalam kebanyakan kasus, 80% kode aplikasi dapat dibagi menggunakan Xamarin.

Xamarin dibangun di atas .NET, yang secara otomatis menangani tugas seperti alokasi memori, pengumpulan sampah, dan interoperabilitas dengan platform yang mendasar.

Untuk informasi selengkapnya tentang arsitektur khusus platform, lihat Xamarin.Android dan Xamarin.iOS.

Fitur yang ditambahkan

Xamarin menggabungkan kemampuan platform asli, sambil menambahkan fitur yang meliputi:

  1. Pengikatan lengkap untuk SDK yang mendasar - Xamarin berisi pengikatan untuk hampir seluruh SDK platform yang mendasar di iOS dan Android. Selain itu, pengikatan ini dititik dengan kuat, yang berarti mudah dinavigasi dan digunakan, dan menyediakan pemeriksaan jenis waktu kompilasi yang kuat dan selama pengembangan. Pengikatan yang sangat ditik menyebabkan lebih sedikit kesalahan runtime dan aplikasi berkualitas lebih tinggi.
  2. Objective-C, Java, C, dan C++ Interop – Xamarin menyediakan fasilitas untuk langsung memanggil pustaka Objective-C, Java, C, dan C++, memberi Anda kekuatan untuk menggunakan berbagai macam kode pihak ketiga. Fungsionalitas ini memungkinkan Anda menggunakan pustaka iOS dan Android yang ada yang ditulis dalam Objective-C, Java, atau C/C++. Selain itu, Xamarin menawarkan proyek pengikatan yang memungkinkan Anda mengikat pustaka Objective-C dan Java asli menggunakan sintaks deklaratif.
  3. Konstruksi bahasa modern – Aplikasi Xamarin ditulis dalam C#, bahasa modern yang mencakup peningkatan signifikan atas Objective-C dan Java seperti fitur bahasa dinamis, konstruksi fungsional seperti lambda, LINQ, pemrograman paralel, generik, dan banyak lagi.
  4. Pustaka Kelas Dasar (BCL) yang kuat – Aplikasi Xamarin menggunakan .NET BCL, kumpulan kelas besar yang memiliki fitur komprehensif dan efisien seperti XML, Database, Serialisasi, IO, String, dan dukungan Jaringan yang kuat, dan banyak lagi. Kode C# yang ada dapat dikompilasi untuk digunakan dalam aplikasi, yang menyediakan akses ke ribuan pustaka yang menambahkan fungsionalitas di luar BCL.
  5. Modern Integrated Development Environment (IDE) – Xamarin menggunakan Visual Studio, IDE modern yang mencakup fitur seperti penyelesaian otomatis kode, sistem manajemen proyek dan solusi canggih, pustaka templat proyek yang komprehensif, kontrol sumber terintegrasi, dan banyak lagi.
  6. Dukungan lintas platform seluler - Xamarin menawarkan dukungan lintas platform yang canggih untuk tiga platform utama iOS, Android, dan Windows. Aplikasi dapat ditulis untuk berbagi hingga 90% kode mereka, dan Xamarin.Essentials menawarkan API terpadu untuk mengakses sumber daya umum di ketiga platform. Kode bersama dapat secara signifikan mengurangi biaya pengembangan dan waktu untuk memetakan pengembang seluler.

Xamarin.Android

Xamarin.Android architecture diagram

Aplikasi Xamarin.Android dikompilasi dari C# ke dalam Intermediate Language (IL) yang kemudian dikompilasi ke rakitan asli saat aplikasi diluncurkan. Aplikasi Xamarin.Android berjalan dalam lingkungan eksekusi Mono, berdampingan dengan komputer virtual Android Runtime (ART). Xamarin menyediakan pengikatan .NET ke namespace Android.* dan Java.*. Lingkungan eksekusi Mono memanggil ke namespace layanan ini melalui Managed Callable Wrappers (MCW) dan menyediakan Android Callable Wrappers (ACW) ke ART, memungkinkan kedua lingkungan untuk memanggil kode satu sama lain.

Untuk informasi selengkapnya, lihat Arsitektur Xamarin.Android.

Xamarin.iOS

Xamarin.iOS architecture diagram

Aplikasi Xamarin.iOS sepenuhnya merupakan Ahead-of-Time (AOT) yang dikompilasi dari C# ke dalam kode rakitan ARM asli. Xamarin menggunakan Pemilih untuk mengekspos Objective-C ke C# terkelola dan Registrars mengekspos kode C# terkelola ke Objective-C. Pemilih dan Registrars secara kolektif disebut "pengikatan" dan memungkinkan Objective-C dan C# untuk berkomunikasi.

Untuk informasi selengkapnya, lihat Arsitektur Xamarin.iOS.

Xamarin.Essentials

Xamarin.Essentials adalah pustaka yang menyediakan API lintas platform untuk fitur perangkat asli. Seperti Xamarin itu sendiri, Xamarin.Essentials adalah abstraksi yang menyederhanakan proses mengakses fungsionalitas asli. Beberapa contoh fungsionalitas yang disediakan dengan Xamarin.Essentials meliputi:

  • Info perangkat
  • Sistem file
  • Akselerometer
  • pemutar Telepon
  • Teks ke ucapan
  • Kunci layar

Untuk informasi selengkapnya, lihat Xamarin.Essentials .

Xamarin.Forms

Xamarin.Forms adalah kerangka kerja UI sumber terbuka. Xamarin.Forms memungkinkan pengembang untuk membangun aplikasi Xamarin.iOS, Xamarin.Android, dan Windows dari satu basis kode bersama. Xamarin.Forms memungkinkan pengembang untuk membuat antarmuka pengguna di XAML dengan code-behind di C#. Antarmuka pengguna ini dirender sebagai kontrol asli yang berkinerja pada setiap platform. Beberapa contoh fitur yang disediakan dengan Xamarin.Forms meliputi:

  • Bahasa antarmuka pengguna XAML
  • Pengikatan data
  • Gestur
  • Efek
  • Tata Gaya

Untuk informasi selengkapnya, lihat Xamarin.Forms .

Memulai

Panduan berikut akan membantu Anda membuat aplikasi pertama menggunakan Xamarin:

Temukan video Xamarin lainnya di Channel 9 dan YouTube.