Kapan menggunakan Xamarin. Bentuk vs Xamarin Asli? [Tutup]

160

Saya perlu membuat keputusan antara menggunakan Xamarin.Form vs Xamarin asli untuk mengembangkan aplikasi.

Saya ingin menggunakan Xamarin.Forms karena kode UI juga akan dibagikan.

Jadi apa saja positif dan negatif teknis dari menggunakan Xamarin. Bentuk lebih dari Xamarin Asli?

Ajay Kumar
sumber
1
Lihatlah The Good and The Bad dari Xamarin Mobile Development untuk diskusi yang sangat baik mulai Januari 2017.
Oliver
1
Intinya ... Pergi saja untuk Asli! Saya mengatakan ini berdasarkan pengalaman saya sendiri. Saya menulis ulang formulir aplikasi ke Native.
Tejasvi Hegde
2
Komentar dari 2015 tidak lagi mencerminkan realitas Formulir Xamarin. Itu telah datang jauh dan sepertinya meledak setelah .NET Core \ Standard matang.
Sean Anderson
Pertanyaan ini perlu dibuka kembali. Sekarang sudah 4 tahun dan telah ada perkembangan besar dalam kerangka Xamarin.Forms untuk memungkinkan pengembangan aplikasi perusahaan.
James Mallon

Jawaban:

144

Selain poin - poin yang ditampilkan di Situs Xamarin, Anda juga harus mempertimbangkan:

Latar belakang tim Anda

Apakah ada orang di tim Anda yang memiliki pengalaman pengkodean asli untuk Android atau iOS (menggunakan Java atau Obj-C / Swift)? Pengalaman ini digunakan kembali dalam Xamarin asli, tetapi mereka harus mempelajari platform lain untuk kode dalam Formulir.

Hal yang sama berlaku jika mereka tidak tahu apa-apa tentang iOS / Android tetapi tahu beberapa XAML. Tentu Xamarin. Bentuknya berbeda dari WPF / Silverlight, tetapi mengetahui XAML pasti membantu saya menggunakan Formulir.

Performa

Formulir Xamarin masih memiliki beberapa masalah, seperti waktu inisialisasi. Anda harus mempertimbangkan apakah ini akan menjadi masalah bagi pengguna akhir Anda. Saya tidak akan repot menunggu beberapa saat untuk aplikasi dasbor yang saya gunakan sesekali untuk membuka, tetapi saya akan marah jika hal yang sama terjadi pada aplikasi pesan.

Waktu sampai pengiriman

Karena berbagi kode lebih besar saat menggunakan Formulir, Anda mungkin mengharapkan waktu pengiriman yang lebih cepat.

Kompleksitas aplikasi Anda

Mempertimbangkan poin sebelumnya, menggunakan Forms Anda mungkin menemukan bug showperper (bagaimanapun juga ini adalah teknologi yang sangat baru) yang akan membatalkan waktu yang didapat. Pertimbangkan kompleksitas aplikasi Anda sebelum memilih.

William Barbosa
sumber
2
Saya akan menambahkan ini jika Anda mengharapkan untuk memiliki aplikasi yang terlihat baik Anda akan berakhir memiliki banyak antarmuka khusus dengan kode asli Xamarin untuk setiap platform
Roman Nazarevych
2
jawaban dan komentar di atas sudah terlalu tua. Kinerja bukan masalah besar hari ini jika Anda mengaktifkan AOT. mengenai aplikasi yang terlihat bagus dalam komentar juga tidak benar. formulir xamarin ditingkatkan dan Anda dapat mencapai aplikasi yang tampan dengan mudah.
batmaci
Formulir Xamarin belum banyak membaik dalam hal mendapatkan UI yang tampan dengan mudah. Xamarin. Shell akan membuat perbaikan besar dalam hal itu, tetapi sampai sekarang, Xamarin masih sulit untuk mendapatkan sesuatu yang menarik dari jarak jauh tanpa menulis komponen khusus untuk setiap platform.
Alexander
176

Xamarin. Bentuk

Pro

  • Buat satu UI untuk semua platform
  • Gunakan komponen dasar yang tersedia di semua platform (seperti Tombol, Ladang Teks, Pemintal, dll.)
  • Tidak perlu mempelajari semua kerangka UI asli
  • Proses pengembangan lintas platform yang cepat
  • Penyaji asli khusus memberi Anda kemampuan untuk menyesuaikan tampilan dan perasaan kontrol

Cons

  • Ini masih kerangka kerja baru dan masih mengandung bug
  • Terutama Windows RT yang belum stabil
  • Terkadang lebih lambat daripada mengakses kontrol asli secara langsung
  • Penyaji asli adat memiliki batas dan kurang didokumentasikan

Xamarin. Android, Xamarin.iOS, Windows Phone, Windows RT

Pro

  • Buat satu UI per platform
  • Kemampuan yang mudah untuk menyesuaikan fitur dan komponen UI platform spesifik
  • Dapatkan hasil maksimal dari UI Anda

Cons

  • Proses pengembangan lintas platform jauh lebih lambat
  • Anda perlu mempelajari semua kerangka UI asli
  • Anda dapat menghasilkan kode duplikat (saat Anda menggambarkan UI yang hampir sama dalam tiga cara spesifik platform yang berbeda)

Selain itu, Xamarin mengatakan di https://xamarin.com/forms :

Pendekatan Xamarin mana yang terbaik untuk aplikasi Anda?

Xamarin. Bentuk terbaik untuk:

  • Aplikasi entri data
  • Prototipe dan bukti konsep
  • Aplikasi yang membutuhkan sedikit fungsionalitas khusus platform
  • Aplikasi tempat berbagi kode lebih penting daripada UI khusus

Xamarin.iOS & Xamarin.Android terbaik untuk:

  • Aplikasi yang memerlukan interaksi khusus
  • Aplikasi dengan desain yang sangat halus
  • Aplikasi yang menggunakan banyak API khusus platform
  • Aplikasi tempat UI khusus lebih penting daripada berbagi kode
Wosi
sumber
Mengenai "aplikasi yang memerlukan sedikit fungsionalitas khusus platform", apakah ada contoh untuk memahami fungsionalitas seperti apa yang sedang kita bicarakan?
NS.X.
Fungsionalitas platform kecil berarti Anda melakukan pengikatan data dan aturan bisnis lainnya terutama sebagai aplikasi. Tidak banyak gambar khusus, atau mencoba membuat semuanya pixel sempurna. Jika Anda baik-baik saja dengan tata letak umum yang responsif, maka Xamarin. Bentuknya cocok.
Jason Short
Jawaban terbaik menurut saya. Ini menjelaskan bagi saya: "Xamarin. Bentuk: Buat satu UI untuk semua platform" dan "Xamarin.iOS, Xamarin. Android: Buat satu UI per platform". Terima kasih!
Tadej
1
@Dibzmania Saya tidak pernah mengatakan ini cocok untuk prototipe dan aplikasi dasar saja. Jika Anda ingin memiliki aplikasi lintas platform dengan UI yang hampir identik pada setiap platform, maka Xamarin. Jika Anda ingin memiliki UI khusus per platform maka Anda mungkin tidak akan mendapat manfaat dari Xamarin. Bentuk dan sebaiknya menggunakan perpustakaan UI asli sebagai gantinya.
Wosi
1
Saya pikir artikel ini oleh Nathan Williams berguna: arctouch.com/blog/xamarin-forms-xamarin-native
Alt-WN
44

Dari Situs Xamarin

Xamarin. Bentuk terbaik untuk:

  • Aplikasi entri data
  • Prototipe dan bukti konsep
  • Aplikasi yang membutuhkan sedikit fungsionalitas khusus platform
  • Aplikasi tempat berbagi kode lebih penting daripada UI khusus

Xamarin.iOS & Xamarin.Android terbaik untuk:

  • Aplikasi yang memerlukan interaksi khusus

  • Aplikasi dengan desain yang sangat halus

  • Aplikasi yang menggunakan banyak API khusus platform

  • Aplikasi tempat UI khusus lebih penting daripada berbagi kode

Guilherme Torres Castro
sumber
1
Jawaban ini basi / lama. Gunakan Formulir dengan Prisma. Pengalaman yang menyenangkan. Saya seorang pengembang tunggal membangun aplikasi besar dan saya sangat produktif dan aplikasi saya hanya bekerja pada semuanya. Jika Anda ingin aplikasi yang tampak memesona ada berbagai tampilan pihak ketiga seperti Grial UI Kit (lihat previewer langsung XAML mereka). Ingat, Formulir Xamarin masih menggunakan kontrol asli secara default.
Sean Anderson