Xamarin nedir?

Screenshots of example Xamarin application in iOS and Android

Xamarin, .NET ile iOS, Android ve Windows için modern ve performanslı uygulamalar oluşturmaya yönelik açık kaynak bir platformdur. Xamarin, temel alınan platform koduyla paylaşılan kodun iletişimini yöneten bir soyutlama katmanıdır. Xamarin, bellek ayırma ve çöp toplama gibi kolaylıklar sağlayan yönetilen bir ortamda çalışır.

Xamarin, geliştiricilerin platformlar arasında uygulamalarının ortalama %90'ını paylaşmasını sağlar. Bu düzen, geliştiricilerin tüm iş mantığını tek bir dilde yazmasına (veya mevcut uygulama kodunu yeniden kullanmasına) ancak her platformda yerel performans, görünüm ve his elde etmesine olanak tanır.

Xamarin uygulamaları PC veya Mac'te yazılabilir ve Android'de .apk dosyası veya iOS'ta .ipa dosyası gibi yerel uygulama paketlerine derlenebilir.

Not

iOS için uygulamaların derlenmesi ve dağıtılması için şu anda bir MacOS makinesi gerekir. Geliştirme gereksinimleri hakkında daha fazla bilgi için bkz . sistem gereksinimleri.

Xamarin kimin için

Xamarin, aşağıdaki hedeflere sahip geliştiricilere yöneliktir:

  • Kod, test ve iş mantığını platformlar arasında paylaşın.
  • Visual Studio ile C# dilinde platformlar arası uygulamalar yazın.

Xamarin nasıl çalışır?

Diagram of Xamarin architecture

Diyagramda platformlar arası Xamarin uygulamasının genel mimarisi gösterilmektedir. Xamarin, her platformda yerel kullanıcı arabirimi oluşturmanıza ve platformlar arasında paylaşılan C# dilinde iş mantığı yazmanıza olanak tanır. Çoğu durumda, uygulama kodunun %80'i Xamarin kullanılarak paylaşılabilir.

Xamarin, bellek ayırma, çöp toplama ve temel platformlarla birlikte çalışabilirlik gibi görevleri otomatik olarak işleyen .NET'in üzerine kurulmuştur.

Platforma özgü mimari hakkında daha fazla bilgi için bkz . Xamarin.Android ve Xamarin.iOS.

Eklenen özellikler

Xamarin, aşağıdaki özellikleri eklerken yerel platformların yeteneklerini birleştirir:

  1. Temel alınan SDK'lar için tam bağlama – Xamarin, hem iOS hem de Android'de temel alınan platform SDK'larının neredeyse tamamı için bağlamalar içerir. Buna ek olarak, bu bağlamalar kesin olarak türlenir, bu da gezinmenin ve kullanımın kolay olduğu ve sağlam derleme zamanı türü denetimi ve geliştirme sırasında sağladığı anlamına gelir. Kesin olarak türlenmiş bağlamalar daha az çalışma zamanı hatasına ve daha yüksek kaliteli uygulamalara yol açar.
  2. Objective-C, Java, C ve C++ Birlikte Çalışma – Xamarin Objective-C, Java, C ve C++ kitaplıklarını doğrudan çağırmak için olanaklar sunarak size geniş bir üçüncü taraf kodu dizisi kullanma gücü verir. Bu işlev Objective-C, Java veya C/C++ ile yazılmış mevcut iOS ve Android kitaplıklarını kullanmanıza olanak tanır. Ayrıca Xamarin, bildirim temelli bir söz dizimi kullanarak yerel Objective-C ve Java kitaplıklarını bağlamanıza olanak sağlayan bağlama projeleri sunar.
  3. Modern dil yapıları – Xamarin uygulamaları Objective-C ve Java üzerinde dinamik dil özellikleri, lambdas, LINQ, paralel programlama, genel öğeler gibi işlevsel yapılar gibi önemli geliştirmeler içeren modern bir dil olan C# dilinde yazılır.
  4. Sağlam Temel Sınıf Kitaplığı (BCL) – Xamarin uygulamaları güçlü XML, Veritabanı, Serileştirme, GÇ, Dize ve Ağ desteği gibi kapsamlı ve kolaylaştırılmış özelliklere sahip büyük bir sınıf koleksiyonu olan .NET BCL'yi kullanır. Mevcut C# kodu, BCL'nin ötesinde işlevsellik ekleyen binlerce kitaplık için erişim sağlayan bir uygulamada kullanılmak üzere derlenebilir.
  5. Modern Tümleşik Geliştirme Ortamı (IDE) – Xamarin, kod otomatik tamamlama, gelişmiş bir proje ve çözüm yönetim sistemi, kapsamlı bir proje şablonu kitaplığı, tümleşik kaynak denetimi ve daha fazlası gibi özellikleri içeren modern bir IDE olan Visual Studio'yu kullanır.
  6. Mobil platformlar arası destek – Xamarin, iOS, Android ve Windows'un üç ana platformu için gelişmiş platformlar arası destek sunar. Uygulamalar, kodlarının %90'ına kadar paylaşılacak şekilde yazılabilir ve Xamarin.Essentials üç platformda da ortak kaynaklara erişmek için birleşik bir API sunar. Paylaşılan kod, hem geliştirme maliyetlerini hem de mobil geliştiricilerin pazara çıkış süresini önemli ölçüde azaltabilir.

Xamarin.Android

Xamarin.Android architecture diagram

Xamarin.Android uygulamaları C# dilinden Ara Dile (IL) derlenir ve uygulama başlatıldığında yerel bir derlemeye derlenen Tam Zamanında (JIT) olur. Xamarin.Android uygulamaları, Mono yürütme ortamında, Android Çalışma Zamanı (ART) sanal makinesiyle yan yana çalışır. Xamarin, Android.* ve Java.* ad alanlarına .NET bağlamaları sağlar. Mono yürütme ortamı, Yönetilen Çağrılabilir Sarmalayıcılar (MCW) aracılığıyla bu ad alanlarına çağrır ve ART'a Android Çağrılabilir Sarmalayıcılar (ACW) sağlayarak her iki ortamın da birbirleri içinde kod çağırmasına olanak tanır.

Daha fazla bilgi için bkz . Xamarin.Android mimarisi.

Xamarin.iOS

Xamarin.iOS architecture diagram

Xamarin.iOS uygulamaları, C# dilinden yerel ARM derleme koduna derlenmiş tam zamanından önce (AOT) uygulamalardır. Xamarin, Objective-C'yi yönetilen C# ile ve yönetilen C# Registrars kodunu Objective-C'de kullanıma açmak için Seçiciler'i kullanır. Seçiciler ve Registrars toplu olarak "bağlamalar" olarak adlandırılır ve Objective-C ve C# iletişim kurmasına izin verir.

Daha fazla bilgi için bkz . Xamarin.iOS mimarisi.

Xamarin.Essentials

Xamarin.Essentials , yerel cihaz özellikleri için platformlar arası API'ler sağlayan bir kitaplıktır. Xamarin'in kendisi gibi, Xamarin.Essentials yerel işlevlere erişme sürecini basitleştiren bir soyutlamadır. tarafından Xamarin.Essentials sağlanan işlevlere bazı örnekler şunlardır:

  • Cihaz bilgileri
  • Dosya sistemi
  • İvme Ölçer
  • Telefon çevirici
  • Metin okuma
  • Ekran kilidi

Daha fazla bilgi için bkz. Xamarin.Essentials.

Xamarin.Forms

Xamarin.Forms açık kaynak kullanıcı arabirimi çerçevesidir. Xamarin.Forms geliştiricilerin tek bir paylaşılan kod tabanından Xamarin.iOS, Xamarin.Android ve Windows uygulamaları oluşturmasına olanak tanır. Xamarin.Forms geliştiricilerin C# dilinde arka planda kod kullanarak XAML'de kullanıcı arabirimleri oluşturmasına olanak tanır. Bu kullanıcı arabirimleri her platformda performanslı yerel denetimler olarak işlenir. tarafından Xamarin.Forms sağlanan özelliklere bazı örnekler şunlardır:

  • XAML kullanıcı arabirimi dili
  • Veri Bağlama
  • Hareketler
  • Etkiler
  • Stil Oluşturuluyor

Daha fazla bilgi için bkz. Xamarin.Forms.

Kullanmaya başlayın

Aşağıdaki kılavuzlar, Xamarin kullanarak ilk uygulamanızı oluşturmanıza yardımcı olur:

Channel 9 ve YouTube'da daha fazla Xamarin videosu bulun.