2000 yılında Microsoft “.NET Framework” teknolojisini duyurduktan sonra hızlı bir şekilde kullanılmaya ve yaygınlaşmaya başladı. .NET dilleride teknoloji dünyasında varlığını iyice hissettirmeye başladı. Özellikle C# yazılım dünyasında hızlı bir şekilde yaygınlaştı. Son yıllarda akıllı telefonlarında yaygınlaşmasıyla birlikte mobil işletim sistemleride önem kazandı. Microsoft mobil sektörüne adım atmakta geç kalmış olsada Windows 8 ile birlikte bu açığı kapatmak adına önemli bir adım attı.

Windows Phone ve Windows 8 uygulamalarını hem C# hem de HTML5-CSS-JQUERY ile birlikte arayüz geliştirmelerine izin veriyor. Tüm bunları göz önünde bulundurduğumuzda piyasada iOS ve Android gibi büyük bir paya sahip olmasada Microsoft ilerisi için yatırımlar yapıyor.

Bu yatırımların en başında XAMARIN firmasını desteklemeleri geliyor aslında, peki Xamarin nedir? Xamarin; .NET dillerini kullanarak “cross-platform” teknolojisiyle diğer mobil işletim sistemlerine (iOS, Android) uygulama geliştirme imkanı sunuyor. 2011 yılında ilk olarak piyasa çıkan ve yazılım geliştiricilerin yavaş yavaş kullanmaya başladığı bir yazılım. Geçtiğimiz üç sene içerisinde de ciddi oranda destek alan XAMARIN gelişmeye ve büyümeye devam ediyor.

Normal şartlarda her mobil işletim sisteminin kendine ait bir yazılım dili mevcuttur. Örneğin iOS işletim sistemi Objective-C ile, Android işletim Java ile ve Windows Phone ise C# ile geliştirilmiştir. XAMARIN geliştirilene kadar her mobil işletim sisteminin kendine ait yazılım diliyle uygulama geliştirmemiz gerekiyordu, burada bahsettiğimiz uygulama geliştirme yalnızca “Native” uygulamalar için geçerli web uygulamaları tabiki bu sürece dahil olmuyor. Xamarin  yazılım geliştiricilere tek bir yazılım dili kullanarak (Örneğin; C#) üç farklı platformda (iOS, Android, WP) “Native” uygulama geliştirme imkanı sunuyor. Xamarin ile birden fazla platform üzerinde uygulama geliştirmek yazılım geliştiriciler açısından zaman kazandırmak ile kalmıyor aynı zamanda geliştirilen uygulama üzerinde değişiklik yapılması da bir o kadar kolaylaşıyor.

XAMARIN ile uygulama geliştirirken iki önemli nokta var, bunlardan bir tanesi kodlamaların yapıldığı dosyalar ve görsellerin düzenlendiği dosyalar. Her mobil işletim sisteminin kendine özgü kullanıcı arayüzü araçları bulunmakta. Bu arayüz geliştirme araçları her platformda ayrı ayrı yapılmakta Xamarin son güncellemeleriyle birlikte Android ve iOS tasarım araçlarını Windows üzerinde geliştirme yaparken kullanılabilir hale getirdi. Sadece kod ile değil sürükle bırak yöntemleriyle de Windows üzerinde iOS ve Android işletim sistemlerine de geliştirme yapma imkanı sunuyor.

Xamarin kendine ait geliştirme programını ( “Xamarin Studio”) da geliştirdi. Ayrıca Visual Studio ile birlikte entegre bir şekilde çalışıyor, yani yalnızca Xamarin Studio ile değil Visual Studio’yu da kullanarak mobil uygulama geliştirme yapılabiliyor. Xamarin için bu gelişim başta .NET yazılımcıları için önemli bir durum olsada tüm yazılım dünyasını yakından ilgilendiriyor. Herhangi bir yazılımcı sadece C# dilini kullanarak Web, Mobil veya Windows uygulamalarının tüm platformlarda geliştirilmesine olanak sağlıyor. Bu geliştirmeler aynı zamanda tüm cihazlar (akıllı telefon, tablet vb.) içinde geçerlidir. Xamarin Studio hakkında detaylı bilgi için: http://xamarin.com/download

Xamarin için bugüne kadar en çok tartışılan konulardan bir tanesi geliştirilen uygulamaların performansları konusunda ki tereddütlerdi. Geçtiğimiz senelerde geliştirilen uygulamaların performans sorunlarından dolayı uygulamaların sağlıklı olmayacağı üzerine çok sayıda tartışma olmuştu ancak bugüne kadar Xamarin ile birlikte çok sayıda uygulama geliştirildi bu uygulamaların arasında mobil oyunlarda mevcut. Geliştirilen uygulamalarda herhangi bir performans sorunu yaşanmadı veya uygulamaların çalışma prensipleri olumsuz etkilenmedi. O yüzden Xamarin performans sorunu olacağını düşünen bir çok yazılım geliştiriciyide kazanmış durumda.

Xamarin ile geliştirilen birkaç uygulamayı inceleyebilirsiniz: http://xamarin.com/customers

Xamarin Microsoft ile partnerliğe sahip ve Microsoft’un yatırımlarıyla birlikte hızlı bir şekilde büyümeye de devam ediyor. SAP’de bu gelişimi ve potansiyeli boş geçmemiş gibi görünüyor ki onlarda Xamarin ile birlikte partnerlik anlaşması yaptılar. Önceki yazımızda belirtmiştik, SAP Netweaver Gateway (burada önceki yazıya link verilmeli) ile birlikte büyük adımlar atmaya başladı ve SAP Business Suite verilerini dış kaynak uygulamaların daha rahat ve kolay erişimi için piyasaya sunmuştu. Xamarin ile yapılan partnerlikden sonrada Xamarin tarafından “SAP Mobile SDK” da yayınlandı. SAP Netweaver Gateway ve Odata teknolojilerini içeren SAP Mobile SDK, Xamarin ile mobil uygulama geliştiricilerine büyük bir fırsat daha sundu. Tek bir proje ile üç farklı mobil platforma SAP mobil uygulama geliştirme imkanı, hem SAP’nin mobil dünyadaki payını genişletecekken hem de yazılımcılara geniş çaplı olanaklarda sağlayacaktır.

Xamarin Mobile SDK ile ilgili detaylı bilgi edinmek için: http://xamarin.com/sap

Tüm bahsettiğimiz bu süreçlerde Xamarin için yazılım geliştiricileri zorlayabilecek tek bir nokta mevcut oda Xamarin’in ücretli bir yazılım olması. Editör kullanımı ve geliştirmeler için herhangi bir ücret talep etmeyen Xamarin, lisans satın alınmadan uygulamanızı yayınlamanıza izin vermiyor. Xamarin için dört farklı lisans paketi bulunmaktadır linkten detaylı bir şekilde inceleyebilirsiniz: https://store.xamarin.com/

SAP Mobile SDK yalnızca “Xamarin Enterprise” lisansı satın alındığı takdirde kullanıma aktif hale geliyor.

Xamarin ile ilgili detaylı bilgi edinmek için: http://xamarin.com/platform

Ek olarak belirtmeliyim ki Xamarin çok detaylı bir dökümantasyona da sahiptir. Hızlıca öğrenebileceğiz kullanıcı dostu bir arayüze sahip olmasıyla birlikte geliştirme için hazırlanan dökümanlar örnek kodlarla birlikte örnek proje dosyalarına da erişim izin vermektedir.

Yazılım geliştiricilerin Xamarin dökümanlarına erişimi için: http://developer.xamarin.com/

Xamarin University: http://xamarin.com/university