Xamarin; Android, IOS ve C# Üzerine
.Net framework ilk ortaya çıktığında insanlar oldukça heyecanlanmışlardı. Java ile Linux ruhuna sahip insanların yakaladığı platform bağımsızlığı nihayet Microsoft dünyasına da geliyordu. Gerçekten de teknik olarak bakıldığında .net framework aynı java gibi sanal bir motor üzerinde çalışıyordu, dolayısıyla da platform bağımsızdı. Pratikte ise bu bağımsızlık uzun süre sadece Windows sistemler için geçerli oldu.
Bu durum 2004 yılı ortalarında Mono’nun sahaya çıkmasıyla değişti. Açık kaynak kodlu olan ve BSD, OS X, Windows, Solaris gibi sistemler üzerinde C# kodlarının çalışabilmesine olanak sağlayan Mono projesi Xamian firmasının başını çektiği bir grup tarafından açık kaynak kodlu olarak dağıtılmaktaydı. Zaman içerisinde Xamian firması Novell tarafından satın alındı ve çalışmalar Novell’e bağlı olarak devam etti. Nisan 2011 yılında Novell’in Attachmate tarafından satın alınması ardından Xamian dolayısıyla da Mono projesi askıya alındı. Bundan bir ay sonra, Mayıs 2011 yılında Xamian’ın kurusu, Miguel De Icaza, Xamarin adıyla yeni bir firma açarak Mono projesine burada destek vermeye başladı.
Xamarin’nin kurulması aynı zamanda Mono için yeni bir yol anlamına da geliyordu; çünkü firma IOS, Android ve Windows Phone üzerinde C# ile uygulama geliştirilmesine olanak sunan Xamarin.Android, Xamarin.iOS gibi ticari ürünlerle sahaya çıktı. İşin içerisine Xamarin.Mac’i de dahil ettiğimizde C#’ın Windows platformları ile başlayan macerası iOS, Android, Mac, BSD, OS X, Solaris ile devam ediyor. Bunun anlamı ise C#’ın da aynı java gibi platform bağımsızlığını gerçek anlamda kazanmasıdır.
Başlangıç sürümünü ücretsiz olarak Xamarin web mağazasından indirebilirsiniz. Bu sürümle ilgili unutmamanız gereken noktalar ise P/Invoke kullanamıyor, 3.parti kütüphanelere erişemiyor ve uygulama boyutunda bir sınır olmasıdır. Bunlar ve Visual Studio desteği gibi diğer önemli özellikler ise Indie, Business ve Enterprise sürümleriyle birlikte gelmekte.
Önümüzdeki bir kaç makalede sizlerle birlikte Android ve iOS üzerinde C# ile uygulama geliştirme konularına değinmeyi planlıyorum. Bu makale ile kısa bir giriş yaptığım bu konuları Xamarin tag’i altında takip edebilirsiniz.