Makale Özeti

Mobil .NET platformunda, Mobil uygulamaların çalışmasını sağlayan .NET Compact Framework’ün çalışma biçimini, kazanımlarını, sürümlerini ve Mobil .NET yazılım geliştirme ortamını yazımız içerisinde inceleyeceğiz.

Makale

Microsoft .NET Vizyonu ve Gerekli Altyapı

Son 10 yıl içerisinde teknolojinin gelişimiyle artık yeni bir yaşam tarzımız var. İlk olarak “Her eve bir PC” vizyonu ile yola çıkan Microsoft, yeni vizyonu olan .NET’i, “Her Zaman, Her Yerden ve Her Cihazdan Bilgiye Ulaşmak!” olarak belirledi. Ancak bu vizyonun gerçekleşmesi için bir altyapıya ihtiyaç vardır ve bu teknik altyapı platform bağımsızlığını da sağlamalıdır.

İşte .NET Framework, gerekli olan teknolojik altyapıyı oluşturmaktadır. Bu altyapı ASP.NET Web Uygulamalarını, Web Servislerini, Windows Uygulamalarını, .NET Plaftformunda veri erişimine için kullanılan teknolojiyi (diğer bir ismiyle ADO.NET’i ), .NET Programlama Dillerini, Ortak Tip Sistemini (CLS),Ortak Dil Çalışma Zamanını (CLR) kapsamaktadır.

.NET Compact Framework ise, Mobil .NET uygulamalarının mobil cihazlar üzerinde çalışmasını sağlayan ve .NET Framework’ün Mobil cihazların özellikleri ve performans kriterleri göz önünde bulundurularak özel olarak geliştirilen hafif sürümüdür.

Bu nedenle, Mobil .NET Platformu için geliştirilen uygulamaların akıllı cihazlar üzerinde çalışabilmesi için, .NET Compact Framework’ün, .NET Platformu için geliştirilen uygulamaların çalışması için de .NET Framework’ün bulunması gerekir.

.NET Öncesi Uygulamalar

Uygulamaların çalışma biçimlerini inceleyecek olursak, örneğin hepimizin bildiği ve severek oynadığı Süper Mario oyununu düşünelim. Bendeki sürümü sadece smario.exe’den ibaret, ve DOS tabanlı işletim sistemi üzerinde smario.exe’yi çalıştırdığımda, oyunu büyük bir keyifle oynamaktayım. Ancak smario.exe’yi UNIX platformunda, ya da MAC platformunda çalıştıramam. Bunun sebebi ise, smario.exe’nin platform bağımlı olarak çalışan teknolojiye sahip olmasıdır. “smario.exe” nin içerisinde, işletim sisteminin CPU tarafından doğrudan çalıştıracağı “assembly” kodları bulunmaktadır. Oyunu çalıştırdığımda sadece DOS tabanlı olan işletim sistemi, bu kodları CPU üzerinde çalıştırabilir. Peki böyle bir durumda platform bağımsızlığını nasıl sağlayacağım?


.NET Framework’ün Yeri

.NET Framework, .NET Platformunda geliştirilen uygulamalar ile işletim sistemi arasında yer alır. .NET Framework içerisinde yer alan Ortak Dil Çalışma Zamanı (Common Language Runtime), .NET uygulamasını üzerinde bulunduğu işletim sistemi ve CPU’nun mimarisine göre yerli koda çevirerek çalıştırır. Bu sayede farklı platformlarda .NET Framework’ün yüklü olması sayesinde, .NET için geliştirilen uygulama çalışabilmektedir. Mobil .NET Uygulamalarında da durum farklı değildir. CLR, JIT-Derleme işleminden sonra cihaz üzerinde MSIL kodunu çalıştırır.


 

Mobil Cihazlarda Uygulamaların Çalışması

Mobil .NET uygulamalarının çalışmasını sağlayan .NET Compact Framework’ün çalışma biçimi de .NET Framework’ün çalışma biçimi ile aynıdır. .NET Compact Framework Mobil .NET uygulamaları ile cihaz işletim sistemi arasında yer alan katmandır. Mobil uygulamanın çalışması için cihaz üzerinde .NET Compact Framework yüklü olmalıdır. Yeni piyasaya sürülen Pocket PC ya da SmartPhone’ların birçoğunda, artık .NET Compact Framework yüklü gelmektedir.
 

.NET Compact Framework’ün Sağladığı 2 Önemli Kazanım

Visual Studio .NET kullanımından ve .NET’ten önce Embedded Tools dediğimiz araçlarla Windows CE tabanlı cihazlar üzerinde de uygulamalar geliştirilmekteydik ve bu araçlarla cihazlara özel yerli kodlar üretilirdi.Özellikle sürücü yazmak isteyen yazılım geliştiriciler bu araçları kullanmaktalar. Ancak .NET Compact Framework, Mobil .NET Platformuna yönetilen çalışma ve Web Servisleri kullanma yeteneğini kazandırmıştır.Yönetilen çalışma ile kast edilen, .NET Compact Framework’ün içinde yer alan CLR’nin Mobil .NET uygulamasını cihaz üzerinde çalıştırmasıdır. Web Servisleri yeteneğinin kazandırılmasıyla da, cihaz üzerindeki uygulama farklı platformlarla kolaylıkla standart olarak kabul edilen XML biçiminde bilgi alışverişinde bulunması sağlanmıştır.
 

.NET Compact Framework Sürümleri

.NET Compact Framework 1.0 sürümü Visual Studio .NET 2003 ile birlikte gelmektedir. .NET Compact Framework’ün 1.1 sürümü ise bulunmamaktadır. Bir sonraki sürümü ise doğrudan .NET Compact Framework 2.0 olacaktır ve Visual Studio 2005 ile birlikte yazılım geliştirilebilecektir. Ancak .NET Compact Framework 1.0 içinde performans artışı sağlamak ve bir takım bug’ları gidermek adına .NET Compact Framework için service pack’ler yayınlanmıştır. .NET Compact Framework için yayınlanan service pack’leri Microsoft Downloads’dan indirebilirsiniz.Mayıs 2005 ayında sp3 yayınlanmıştır. sp3 paketini indirdiğinizde ise, birçok “.cab” dosyasının yer aldığını göreceksiniz. Bu “.cab” dosyaları .NET Compact Framework’ü içeren “.cab” formatında sıkıştırılmış dosyalardır. Mobil Cihaz üzerinde çalıştırdığınız zaman .NET Compact Framework’ü kendileri kurma yeteneğine sahiptirler. Yapmanız gereken , “Program Files” altında “Visual Studio.NET 2003” ün kurulu olduğu dizinde bulunan “Compact Framework” dizininin altındaki farkli işlemciler icin ayrılmış dizinlere eşleşen “.cab” dosyaların koymaktır. Bu sayede Visual Studio .NET ‘e .NET Compact Framework’ün sp3 paketini kurmuş olursunuz. Bu paketler ücretsizdir.
 

Mobil .NET Yazılım Geliştirme Ortamı ve Dilleri

Visual Studio .NET 2003 içerisinde C#.NET ve VB.NET kullanarak Mobil uygulamalar geliştirebilirsiniz.Visual Studio 2005 ile C++.NET kullanmanız da mümkün. Buradaki en büyük yenilik, artık Visual Studio .NET içerisinde Mobil Cihazlar için yerli kod geliştirebilme yeteneğinizdir. Bildiginiz üzere bunun için embedded tools dediğimiz araçlar kullanılmaktaydı. Ancak .NET Compact Framework 2.0 platformu için ya da Mayıs 2005’de lansmanı yapılan Windows Mobile 5.0 için yine de embedded tools araçlarını kullanmak istiyorsanız, bu araçlar için var olan sp4’ü yüklemelisiniz. Araçları "Microsoft Downloads" sitesinden ya da "MobilNedir.com Download" bölümünden ücretsiz olarak indirebilirsiniz.

iyi çalışmalar!