# Xamarin
Xamarin, Mayıs 2011'de Mono, Xamarin.Android (eski adıyla Android için Mono) ve Xamarin.iOS'u (eski adıyla MonoTouch) yaratan mühendisler tarafından kurulan ve Microsoft'un sahip olduğu San Francisco merkezli bir yazılım şirketidir. Ortak Dil Altyapısı (CLI) ve Ortak Dil Özellikleri'nin (genellikle Microsoft .NET olarak adlandırılır) platform uygulamalarıdır.
Geliştiriciler, C Sharp paylaşımlı bir kod temeli ile, yerel Android, iOS ve Windows uygulamalarını yerel kullanıcı arabirimleriyle yazmak ve Windows ve macOS dahil olmak üzere birden fazla platformda kodu paylaşmak için Xamarin araçlarını kullanabilir. Xamarin’e göre, 1.4 milyondan fazla geliştirici, Nisan 2017’den itibaren dünya genelinde 120 ülkede Xamarin'in ürünlerini kullanıyordu.
24 Şubat 2016'da Microsoft, Xamarin'i satın almak için kesin bir anlaşma imzaladığını duyurdu.


## Tarihi.
1999'da Miguel de Icaza ve Nat Friedman, sonunda Icaza'nın yeni ortaya çıkan GNOME projesine destek vermek ve yazılım geliştirmek için Ximian olarak bilinenleri başlattılar. Microsoft, .NET Framework’ü Haziran 2000’de ilk kez duyurduktan sonra, de Icaza, Linux versiyonunun uygulanabilir olup olmadığını araştırmaya başladı. Mono açık kaynaklı proje 19 Temmuz 2001’de başlatıldı. Ximian, 4 Ağustos 2003’te Novell tarafından ve Nisan 2011’de Attachmate tarafından satın alındı.
Devralımdan sonra, Attachmate, Mono'nun geliştiricileri de dahil olmak üzere Novell işgücüne yönelik yüzlerce işten çıkarılma olduğunu açıkladı, Mono'nun geleceğini söz konusu hale getirdi.
16 Mayıs 2011 tarihinde, Miguel de Icaza, blogunda Mono'nun yeni bir mobil ürün paketi salıvermeyi planlayan yeni kurulan bir şirket olan Xamarin tarafından geliştirileceğini ve destekleneceğini açıkladı. De Iaza'ya göre, Mono ekibinin en azından bir kısmı yeni şirkete taşınmıştı.
Xamarin ismi, Tamarin maymunun isminden gelir ve önde gelen T'yi bir X ile değiştirir. Bu, Ximian'ın başlamasından bu yana kullanılan adlandırma temasıyla aynıdır.
Xamarin açıklandıktan sonra, projenin geleceği sorgulandı, çünkü Android için MonoTouch ve Mono şimdi Attachmate'e ait mevcut ticari tekliflerle doğrudan rekabet halinde olacaktı. O zamanlar Xamarin'in, Novell tarafından aynı iş için kullanıldığında daha önce geliştirilen teknolojileri yasadışı olarak kullanmadıklarını ispatlayacağı bilinmiyordu.
Ancak Temmuz 2011'de, şimdi bir Attachmate iştiraki olan Novell ve Xamarin, Novell'in, Android için Mono, MonoTouch ve Android için Mono için Xamarin'e kalıcı bir lisans verdiğini açıkladı.
Aralık 2012'de, Xamarin, geliştiricilerin Apple'ın macOS işletim sistemi için C # tabanlı uygulamalar inşa etmelerini ve bunları App Store üzerinden yayınlamak için paketlemelerini sağlayan, mevcut MonoDevelop Integrated geliştirme ortamı (IDE) için bir eklenti olan Xamarin.Mac'i piyasaya sürdü.
Şubat 2013'te, Xamarin, Xamarin 2.0'ın piyasaya sürüldüğünü açıkladı. Bu sürüm iki ana bileşeni içeriyordu: açık kaynaklı IDE Monodevelop'un yeniden markalaşmasını yapan Xamarin Studio ve Microsoft'un .NET Framework için IDE olan Visual Studio ile entegrasyonu, Microsoft Visual Studio'nun Android için uygulamalar oluşturmak için kullanılmasına izin verdi.
17 Temmuz 2013 tarihinde, Xamarin, Lead Edge Capital liderliğindeki B Serisi fonda 16 milyon $ 'ı kapattıklarını açıkladı. Charles River Ventures, Floodgate ve Ignition Partners dahil olmak üzere A Serisi fonlarından birkaç yatırımcı da katıldı. 21 Ağustos 2014'te Xamarin, mobil uygulama geliştirme platformu tarafından şimdiye kadar toplanan en büyük fonlama turlarından biri olan C Serisi finansmanında 54 milyon dolar daha başarıyla kapattı. Şirketin bugüne kadarki toplam fonu 82 milyon dolardır.
24 Şubat 2016'da Xamarin ve Microsoft, Microsoft'un Xamarin'i satın almak için kesin bir anlaşma imzaladığını duyurdu. Wall Street Journal'ın fiyatı 400 milyon ile 500 milyon dolar arasında olduğunu bildirmesine rağmen, anlaşma şartları açıklanmadı.
Build 2016'da Microsoft, Xamarin SDK’yı açacaklarını ve Microsoft Visual Studio’nun tümleşik geliştirme ortamında ve Visual Studio Enterprise’ın kullanıcıları için ücretsiz bir araç olarak toplayacaklarını açıkladı. Bu devralımın bir parçası olarak, Mono’yu MIT Lisansı’nın tamamen altında kaldıracaklar ve diğer tüm Xamarin SDK yazılımlarını MİT Lisansı’nın altında da .NET Foundation üzerinden yayınlayacaklar.


## Ürünler.
### Xamarin platformu.
Xamarin 2.0, Şubat 2013'te piyasaya sürüldü ve Xamarin.Android, Xamarin.iOS, Visual Studio ya da Xamarin Studio ile yerel Android, iOS ve C # Windows geliştirmelerini mümkün kıldı. Geliştiriciler mevcut C # kodlarını yeniden kullanır ve önemli kodları cihaz platformlarında paylaşır. Ürün, 3M, AT&T ve HP dahil birçok tanınmış firmaya başvuru yapmak için kullanıldı. Xamarin, Android ve iOS geliştirme için Visual Studio'yu genişleten, .NET Framework için Microsoft'un IDE'si olan Visual Studio ile bütünleşmektedir. Xamarin ayrıca arka uç sistemlerini, 3. parti kütüphaneleri, bulut servislerini ve UI kontrollerini doğrudan mobil uygulamalara entegre etmek için bir bileşen mağazası yayınladı.


### Xamarin.Forms.
28 Mayıs 2014 tarihinde Xamarin 3'te tanıtılmıştır ve birinin Android, iOS ve Windows Phone'un yerel kontrolleriyle eşlenen taşınabilir kontrol altkümelerini kullanmasına izin verir. Xamarin.Forms'un farklı platformlar arasındaki kod paylaşımı Xamarin.Native'e göre daha yüksektir. Bu yeni yaklaşım arayüz kodunun daha kolay yazılmasını ve her platformda aynı arayüzün kullanılmasını sağlar, ancak daha karmaşık arayüzlerin yapılmasını desteklemez. Ayrıca cihaz özelliklerine erişim konusunda Xamarin.Native'den daha kullanışsızdır.


### Xamarin Test Cloud.
Xamarin Test Cloud, herhangi bir dilde yazılmış mobil uygulamaların buluttaki gerçek, hapsedilmemiş cihazlarda test edilmesini sağlar. Xamarin Test Cloud, gerçek kullanıcı etkileşimlerini simüle etmek için nesne tabanlı UI testini kullanır.


### Visual Studio için Xamarin.
Xamarin, Microsoft Visual Studio'da yerel Android, iOS ve Windows uygulamalarının geliştirilmesine izin veren tek IDE olduğunu iddia ediyor. Xamarin, kod tamamlama ve IntelliSense'i kullanarak geliştiricilerin IDE içinde Android, iOS ve Windows uygulamaları oluşturmalarına olanak sağlayan Microsoft Visual Studio'ya eklentiler sağlar. Xamarin for Visual Studio ayrıca, Microsoft Visual Studio'da, bir simülatör veya cihazdaki uygulamaların oluşturulması, dağıtılması ve hata ayıklanması için destek sağlayan uzantılara sahiptir. 2013 yılının sonlarında, Xamarin ve Microsoft, ortak geliştirici tabanlarının tüm mobil platformlar için geliştirmelerini mümkün kılmak için daha fazla teknik entegrasyon ve müşteri programları içeren bir ortaklık ilan ettiler. Ek olarak, Xamarin şimdi Microsoft Taşınabilir Sınıf Kütüphaneleri ve async / await gibi çoğu C # 5.0 özelliğini de destekliyor. CEO ve Xamarin kurucu ortağı Nat Friedman, New York'ta Visual Studio 2013'ün açılışında ittifak ilan etti.
31 Mart 2016'da Microsoft, tüm Xamarin'in yazılımlarını Visual Studio Community dahil olmak üzere her Microsoft Visual Studio sürümüyle birleştirdiklerini açıkladı ve bu, iOS öykünücüsü gibi Visual Studio'da önceden yüklenmek üzere çeşitli Xamarin özellikleri ekledi.


### Xamarin Studio.
Şubat 2013'te piyasaya sürüldüğü sırada, Xamarin Studio, açık kaynaklı proje MonoDevelop'a dayanan Xamarin 2.0'ın bir parçası olarak, Windows ve macOS'ta mobil uygulama geliştirme için bağımsız bir IDE idi. Bir hata ayıklayıcısına ek olarak, Xamarin Studio, XML kullanmadan kullanıcı arayüzleri oluşturmak için bir Android UI oluşturucusu olan C # 'da kod tamamlama ve iOS uygulama tasarımı için Xcode Arayüz Oluşturucu ile entegrasyon içerir.
Windows'ta Xamarin Studio artık kullanımdan kaldırıldı ve yerine Visual Studio için Xamarin kullanıldı. MacOS'ta Xamarin Studio hala geliştirilme aşamasındadır, ancak 2016'yı Mac için Visual Studio olarak yeniden markalandırdı.


### Xamarin.Mac.
Xamarin.Mac, C # programlama dili kullanılarak Apple teknolojisi uygulama geliştirmesi için bir araç olarak oluşturuldu. Xamarin.Mac, Xamarin.iOS ve Xamarin.Android ile olduğu gibi, geliştiricilere Android, iOS ve Windows'ta kod kullanımının% 90'ına kadar verir. Xamarin.Mac, C # geliştiricilerine, macOS için tamamen yerel Cocoa uygulamaları oluşturma yeteneği verir ve Mac App Store'a yerleştirilebilecek yerel uygulamalara izin verir.


### .NET Mobility Scanner.
Xamarin .NET Mobility Scanner, geliştiricilerin .NET kodlarının ne kadarının diğer işletim sistemlerinde, özellikle Android, iOS, Windows Phone ve Windows Mağazası'nda çalışabileceğini görmelerini sağlar. Microsoft Silverlight kullanan ücretsiz bir web tabanlı hizmettir.


### RoboVM.
Ekim 2015'te Xamarin, tekliflerine benzer bir şekilde İsveçli RoboVM for Java geliştirici platformunu satın aldıklarını açıkladı, Xamarin tarafından devralınması için belirtilen neden, başlangıçta Java tabanlı bir platform geliştirmeleri durumunda RoboVM'e benzer şekilde şirket yerine devraldılar, sonuçta RoboVM Xamarin ekibinden bağımsız olarak çalışıyor. RoboVM, geliştiricilerin, tamamen yerel kullanıcı arayüzleri, yerel performanslar ve tüm Java uygulamalarıyla iOS ve Android için Java uygulamaları oluşturmasına olanak tanır ve tüm Java uygulamaları, her geliştirici platformunun API'lerine tam erişime sahiptir.
Nisan 2016'da Microsoft, RoboVM'yi bırakacaklarını ve 30 Nisan 2017'den sonra tüm aboneliklerini durduracaklarını açıkladı.
BugVM, serbest açık kaynak durumunu korumak için bir RoboVM çatalı yaratıldı.