Makale Özeti

Symbian ve Palm OS gibi çok popüler olan mobil işletim sistemleri için .NET teknolojilerini kullanıyorduk. Ama artık bu sınırlamalarımız kalktı. Nasıl mı?

Makale

    .NET teknolojilerinden bahsederken, karşımızdaki kişinin gözlerinin nasıl parladığına bir çoğumuz şahit olmuşuzdur. Özellikle de her platform için aynı IDE yi, aynı dili, hatta aynı kodları kullanılabildiğinden bahsettiğimizde. Genelde de sorulan soru benzerdir: Cep telefonuma .NET ortaminda uygulama gelistirebilir miyim?  Bu sorunun cevabı artık EVET.! Symbian işletim sistemli cep telefonlarınıza, Palm OS işletim sistemli palmlarınıza ve de .NET compact frameworkü kullanmadan, WinCE işletim sistemli Pocket PC lere artık .NET ortamında uygulama geliştirebiliyoruz.

    Inceleyeceğimiz tool : AppForge Crossfire. Crossfire temel olarak mobil platformlara yönelik bir .NET add-on Tool olarak adlandırılabilir. Ama aslinda bir add-on tooldan beklenenden çok daha fazlasını yapar. Kısaca inceleyelim.

    Microsoft VS.NET Pocket PClere ya da daha geniş kapsamda, Windows işletim sistemli tüm cihazlara uygulama geliştirmemize imkan tanır. Ama windows işletim sistemi olmayan diger mobil cihazlar? Crossfire, kendi frameworkü (“Booster” olarak adlandırılmıştır.) sayesinde Symbian, Palm OS ve WinCE ortamlarına tam destek verir. Bu sayede, Pocket PC için geliştirdiginiz bir uygulamayı, cok kısa bir süre içinde, hatta belki yalnızca ekran designını değiştirerek Nokia 60 serisi bir telefonda, ya da SonyErcison P800 P900 gibi bir smartphone da hatta bir Palm de calıştırabiliriz.

    Üstelik, son versiyonunda eklenen C# desteği ile, mobil uygulamalarımızı VB.NETte, C# ta ve ya, ikisini birden kullanarak yazabiliriz.

    Crossfireı www.appforge.com adresinden indirip sisteminize kurduğunuzda, "CrossFire Application" adı altında yeni bir proje şablonu oluşturulacaktır. Bu da bildigimiz gibi, tamamiyle yeni bir uygulama türüdür. Dolayısıyla nasıl ki, windows controllerini web uygulamalarında kullanamıyorsak, standart olarak .NET te gelen controlleri de, Crosfire uygulamalarımızda kullanamıyoruz. Fakat, Crossfire ile birlikte gelen 36 adet kontrol, .NET Compact Frameworkten oldukça güçlü, tüm isteklerinizi karşılayabilecek düzeyde. Örnegin, .NET CF de olmayan, SignatureCapture, Camera, slider, alarm, date picker ve benzeri bir çok eklentiyi CrossFire içerisinde bulmak mümkün.

    Bence burada aklımıza yeni bir sorunun takılması gerekiyor. Database? CrossFire kullanarak uygulama gelistiricez, Crossfire controllerini kullanıcaz hersey güzel, ama SQL Server CE yalnızca Windows işletim sistemli cihazlarda calışabiliyor. Peki Crossfire kullanarak Symbian icin bir uygulama gelistirirsem ve de bu uygulama bir database gereksinimi duyuyorsa?

    Crossfireı yüklediğinizde SqlAnywhere Ultralite adında yeni bir uygulamayı da beraberinde getiriyor. Kodumuz ne kadar platform bağımsızsa, SqlAnywhere ile, database de o kadar platform bağımsız bir hal alıyor.

    Diğer güzel bir özellik ise, uygulamalarımızı test aşamasında, normal birer windows uygulaması gibi calıştırabilmemiz, yani, herhangi bir emulatore ve ya gercek bir cihaza ihtiyaç olmadan uygulamalarımızı test ve debug edebiliriz.

    Peki, Crossfire nasıl çalışır? Basitce, VB.NET yada C# ta yazdığımız uygulamanın compact bir forma dönüştürülür. Bu form mobil cihaz üzerinde kurulu olan bir virtual-machine yada framework üzerinde  çalıştırılır. Dolayısıyla, Crossfire uygulamalarının mobil cihazımızda çalışması için Crossfire Frameworkun ya da tam adıyla "Booster" ın kurulu olması gerekir.

    .NET uygulamarımız iki aşamalı bir compile sürecinden geçerek çalışır. Uygulamamız öncelikle yazdığımız dilden, (vb.net ya da c# tan) Intermediate Language (IL) ye çevrilir. Daha sonra, programımızı çalıştırdığımızda "Just In Time" compile ile, bilgisayarın, daha dogrusu platformun kullandigi instruction setlere cevrilir. Bu tüm .NET uygulamalarında böyledir. Ama CrossFireda durum biraz farklı, IL çevrimi tamamlanarak ilk compile aşaması geçildiginde, ikinci aşama başlar ve IL AppForge .NET Translator tarafından okunarak yeni bir koda cevrilir. Bu kod da, crossfire virtual-machine tarafından okunarak, mobil cihaz üzerinde çalıştırılır.

      Sonuc olarak, .NET Compact Framework windows tabanlı mobil platformları desteklemekte ve de bu platformlarda çok başarılı sonuçlar sağlamakta. Fakat Windows işletim sistemli olmayan cihazlar için, bugune kadar, sadece ASP.NET uygulamarı ile .NET intregrasyonu sağlanmaktaydı. Crossfire, bu açığı fazlasıyla kapatmakta.

    Peki Crossfire uygulamasını nasıl yapıcaz? Yazının ikinci bölümünde...

Kivanc Ozuolmez

ozuolmez@msn.com