Xamarin nedir?

iOS ve Android'de örnek Xamarin uygulamasının ekran görüntüleri

Xamarin, .NET ile iOS, Android ve Windows için modern ve yüksek performansa sahip uygulamalar Windows açık kaynaklı bir platformdur. Xamarin, paylaşılan kodun temel platform koduyla 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 yazmalarına (veya mevcut uygulama kodunu yeniden kullanmalarına) olanak sağlar ancak her platformda yerel performans, görünüm ve his elde etmek için kullanılır.

Xamarin uygulamaları PC veya Mac'te yazabilir ve Android'deki .apk dosyası veya iOS'ta bir .ipa dosyası gibi yerel uygulama paketlerine derlenmiş olabilir.

Not

iOS için uygulama derlemek ve dağıtmak için şu anda bir MacOS makinesi gerekir. Geliştirme gereksinimleri hakkında daha fazla bilgi için bkz. sistem gereksinimleri.

Who Xamarin

Xamarin, aşağıdaki hedeflere sahip geliştiricilere göre tasarlanmıştır:

  • Platformlar arasında kod, test ve iş mantığı paylaşma.
  • C# ile platformlar arası uygulamalar yazma Visual Studio.

Xamarin nasıl çalışır?

Xamarin mimarisi diyagramı

Diyagramda platformlar arası Xamarin uygulamasının genel mimarisini gösteren diyagram. Xamarin, her platformda yerel kullanıcı arabirimi oluşturmanıza ve platformlar arasında paylaşılan C# ile iş mantığı yazmanızı sağlar. Ç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 üstlenir.

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

Eklenen özellikler

Xamarin, yerel platformların özelliklerini birleştirirken şunları içeren özellikler ekler:

  1. Temel ALıNAN SDK'lar için tam bağlama – Xamarin, hem iOS hem de Android'deki temel platform SDK'larının neredeyse tamamı için bağlamalar içerir. Ayrıca, bu bağlamaların türü kesin olarak yazarak kolayca gezinilen ve kullanılan bağlamalar olur ve geliştirme sırasında sağlam derleme zamanı türü denetimi sağlar. Kesin türe sahip bağlamalar daha az çalışma zamanı hatasına ve daha yüksek kaliteli uygulamalara neden olur.
  2. Objective-C, Java, C ve C++ Birlikte Çalışma – Xamarin, Objective-C, Java, C ve C++ kitaplıklarını doğrudan faturalamak için olanak sağlar ve size çok çeşitli üçüncü taraf kodlar kullanma gücü sağlar. Bu işlevsellik Objective-C, Java veya C/C++ ile yazılmış mevcut iOS ve Android kitaplıklarını kullanmana olanak sağlar. Ayrıca Xamarin, bildirime bağlı bir söz dizimi kullanarak yerel Objective-C ve Java kitaplıklarını bağlamaya olanak sağlayan bağlama projeleri sunar.
  3. Modern dil yapıları : Xamarin uygulamaları dinamik dil özellikleri, lambdalar, LINQ, paralel programlama, genel türler ve daha fazlası gibi Objective-C ve Java üzerinde ö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, IO, 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 eklediği binlerce kitaplıka erişim sağlayan bir uygulamada kullanım için derlenmiş olabilir.
  5. Modern Tümleşik Geliştirme Ortamı (IDE) – Xamarin, kod otomatik tamamlama, karmaşık bir proje ve çözüm yönetim sistemi, kapsamlı bir proje şablonu kitaplığı, tümleşik kaynak denetimi ve daha fazlasını içeren modern bir IDE olan Visual Studio'ı kullanır.
  6. Mobil platformlar arası destek – Xamarin, iOS, Android ve android platformlarının üç ana platformu için gelişmiş platformlar arası destek Windows. Uygulamalar, kodlarının %90'ını paylaşmak için yazılabilir ve üç platformda da ortak kaynaklara erişmek için Xamarin.Essentials birleşik bir API sunar. Paylaşılan kod, mobil geliştiriciler için hem geliştirme maliyetlerini hem de pazara satış süresini önemli ölçüde düşürebilirsiniz.

Xamarin.Android

Xamarin.Android mimari diyagramı

Xamarin.Android uygulamaları C# dilinden Ara Dil 'e (IL) derlenmiş ve bu da uygulama başlat olduğunda yerel bir derlemeye tam zamanında (JIT) derlenmiş 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ılır ve ART'a Android Çağrılabilir Sarmalayıcılar (ACW) sağlar ve her iki ortamın da birbirine kod çağırabilir.

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

Xamarin.iOS

Xamarin.iOS mimari diyagramı

Xamarin.iOS uygulamaları, C# ile yerel ARM derleme koduna tam olarak Zamanından Önce (AOT) derlenmiş. Xamarin, Objective-C'yi yönetilen C# koduna ve yönetilen C# kodunu Objective-C'ye göstermek için Seçicileri kullanır. Seçiciler ve Registrars topluca "bağlamalar" olarak adlandırılan bu seçim, Objective-C ve C# dillerinin iletişim kurmasına olanak sağlar.

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 Xamarin.Essentials kendisi gibi, yerel işlevlere erişme işlemini basitleştiren bir soyutlamadır. tarafından sağlanan işlevlere bazı örnekler Xamarin.Essentials ş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 bir açık kaynak kullanıcı arabirimi çerçevesidir. Xamarin.Formsgeliştiricilerin tek bir paylaşılan kod tabanından Xamarin.iOS, Xamarin.Android ve Windows uygulamaları oluşturmalarına olanak sağlar. Xamarin.Forms geliştiricilerin XAML'de C# içinde arkalarında kodla kullanıcı arabirimleri oluşturmalarını sağlar. Bu kullanıcı arabirimleri her platformda iyi performansa sahip yerel denetimler olarak işlenir. tarafından sağlanan bazı özellikler Xamarin.Forms şunlardır:

  • XAML kullanıcı arabirimi dili
  • Veri Bağlama
  • Hareketler
  • Etkiler
  • Stil oluşturma

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

başlarken

Aşağıdaki kılavuzlar Xamarin kullanarak ilk uygulamanızı derlemenize yardımcı olur:

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