İlkay İlknur

just a developer...

Her Silverlight Developer Aynı Zamanda Bir Windows Phone Developerdır

Merhaba Arkadaşlar,

Başlığa baktığınızda aslında oldukça iddialı bir cümle olduğunu düşünüyor olabilirsiniz. Ancak Microsoft’un Silverlight’ı Windows Phone 7 için geliştirme platformu olarak belirlemesiyle özellikle Silverlight developerlar için oldukça güzel bir kapı açılmakta. Web üzerinde Cross-browser ve Cross-Platform(Windows –Mac) olarak çalışan uygulamalarımız artık doğru programlama tekniklerini kullanırsak sadece arayüz değişikliği yapmak suretiyle Windows Phone 7 işletim sistemi yüklü telefonlarda da çalışıyor duruma gelebilmekte.

Windows Phone 7 Telefon Spesifikasyonları

Microsoft tarafında Windows Phone 7 ile beraber baktığımızda yeni bir yaklaşımın olduğunu görmekteyiz. Bu da artık tüm telefonlar üzerinde çalışacak bir işletim sistemi yerine belirli spesifikasyonlara sahip telefonlar üzerinde çalışacak bir işletim sistemi geliştirme yaklaşımı. Bu yaklaşım ile artık birtakım özellikler telefonlar üzerinde standart olarak bulunmakta. Böylece hem işletim sistemi bu özellikleri kullanarak daha performanslı ve etkin çalışmakta hem de biz yazılım geliştiriciler üzerinde yazılım geliştirdiğimiz telefonların standartlarını bilmekteyiz.

Şimdi isterseniz Windows Phone 7 işletim sistemine sahip olacak telefonların spesifikasyonlarına bir göz atalım.

Ekran : Windows Phone 7 işletim sistemlerine sahip telefonlarda 480x800 çözünürlüğünde ekranlar şu anda  standart olarak bulunmakta. Ancak gelecekte 320x480 çözünürlüğünde ekranlara sahip telefonlar da raflardaki yerini alıyor olacak. Ancak bu çözünürlükler dışındaki telefonlarda Windows Phone 7 işletim sistemi olması söz konusu değil.

Dokunmatik Ekran : Windows Phone 7 işletim sistemine sahip telefonlarda en az 4 adet dokunma noktası bulunmakta.

Sensörler : Windows Phone 7 işletim sistemine sahip telefonlarda Lokasyon tespiti için GPS ve  telefonun hareketlerini algılamak için de Accelerometer sensörleri bulunmakta.

Kamera : Windows Phone 7 işletim sistemine sahip telefonlarda 5 megapiksel veya üzerinde kamera bulunmakta.

Butonlar : Windows Phone 7 işletim sistemine sahip telefonlarda standart olarak telefonun üzerinde 3 adet buton bulunmakta. Bunlar geri tuşu, arama tuşu ve start tuşu.

Diğer standart özellikleri ise yukarıdaki resimden görebilirsiniz.

Windows Phone 7 Uygulama Geliştirme Ortamı

Evet aslında biz yazılım geliştiricilerin merak beklediği kısma geldik. Yazılım geliştirme ortamları. Windows Phone 7 işletim sistemi üzerinde uygulamalar geliştirmek için kullanabileceğimiz 2 platform bulunmakta. Bunlar XNA ve Silverlight. Özellikle oyun gerçekleştirmeyi düşünüyorsanız 2D ve 3D desteği dolayı XNA’I tercih edebilirsiniz. Bunun yanında daha veri odaklı uygulamalarda Silverlight tarafını tercih etmek daha doğru olacaktır. Bunun yanında tabi bazı ortak XNA kütüphanelerinin Silverlight uygulaması içerisinde de kullanılabilmesi mümkün. Ancak bu ortak kütüphaneler dışındaki kütüphaneleri kullanacaksak uygulamamızı XNA kullanarak geliştirmek durumundayız.

Geliştirme ortamı için gerekli kurulumu buradan indirebilirsiniz. Kurulumları yaptıktan sonra bilgisayarınıza aşağıdaki programların kurulduğunu göreceksiniz.

  • Visual Studio 2010 Express for Windows Phone
  • Expression Blend 4 Express for Windows Phone

Eğer bilgisayarınızda Visual Studio veya Expression Blend’in diğer ileri sürümleri var ise gerekli araçlar varolan uygulamalarınıza entegre olmakta. Ve tüm bunların yanında en önemli nokta ise bu araçların hepsinin ÜCRETSİZ olması.

İlk Windows Phone 7 Uygulaması – Hello World !

Windows Phone 7 ile ilgili genel bilgileri verdikten sonra gelelim konunun pratik tarafına. Yukarıda belirttiğim kurulumu yaptıktan sonra Visual Studio’yu açtıktan sonra File –> New Project yolunu izlediğimizde sol tarafta bulunan proje tiplerinde bir yenilik gözümüze çarpıyor.

“Silverlight for Windows Phone” seçeneği proje tipleri içerisine kurulum sonrasında eklenmekte. Bu proje tipi içerisinde farklı uygulama tipleri bulunmakta. Bunlar ,

Windows Phone Application : Klasik Page tabanlı Windows Phone uygulaması geliştirmek için kullanabileceğimiz proje tipi. Silverlight uygulaması geliştirirken seçtiğimiz Silverlight Application uygulama tipinin Windows Phone tarafındaki karşılığı diyebiliriz.

Windows Phone Databound Application : Windows Phone üzerinde özellikle veri listeleme tabanlı bir uygulama geliştireceksek bu proje tipi bizlere giriş yapmak amacıyla oldukça yardımcı olacaktır. Özellikle içerisinde barındırdığı şablon ile veri listeleme işlemlerinin nasıl yapılacağı konusunda bizlere yardımcı olacaktır. Bu proje tipinden bir uygulama yarattığınızda doğrudan uygulamayı çalıştırarak veri listeleyen örnek bir uygulama görebilirsiniz.

Windows Phone Class Library : Windows Phone uygulamaları için library geliştirmek amacıyla kullanacağımız proje tipi.

Windows Phone Panaroma Application : Windows Phone uygulamalardaki bana göre en önemli kontrollerden olan Pivot ve Panaroma kontrollerinden Panaroma kontrolünün örnek bir kullanımını içerisinde barındıran proje tipi.

Windows Phone Pivot Application : Yukarıda bahsettiğim Pivot kontrolünün örnek bir kullanımının bulunduğu proje tipi.

Ayrıca yazımızının başlarında Windows Phone üzerinde XNA kullanılarakta uygulama geliştirilebildiğinden bahsetmiştim. Doğrudan XNA platformunu kullanarak uygulama geliştirmek istersekte soldan XNA uygulama seçeneğini seçerek buradan uygun olan proje tipini seçebiliriz.

XNA tarafına baktığımızda ise Windows Phone Game ile Windows Phone Game Library proje tipleri çıkmakta. İsimlerden de anlayacağınız üzere çok fazla ayrıntıya girmeye gerek olmadığını düşünüyorum. :)

Windows Phone Uygulama Yapısı

Peki klasik bir Windows Phone uygulaması içerisinde ne gibi bileşenler bulunmakta derseniz hemen bir Windows Phone Application yaratıp proje içerisindeki bileşenleri inceleyelim.

App.xaml : Silverlight uygulamalarından da aşina olduğumuz App.xaml Windows Phone uygulamalarında da Silverlight uygulamalarında olduğu gibi benzer durumlarda kullanılmakta. Örneğin uygulama çapında bir resource tanımlamak istersek bunun için App.xaml ‘ı kullanabiliriz. Bunun yanında belki de en önemli kullanım amaçlarından biri  de uygulama çapında meydana gelen bazı eventlerin yakalanarak handle edilmesi yine bu sınıf üzerindenm sağlanmakta. Bu eventlerin neler olduğuna ilerleyen yazılarımızda değiniyor olacağız.

ApplicationIcon.png : Uygulama telefon üzerindeki menü üzerinde görüntülendiğinde yanında bulunacak olan uygulama iconu.

Background.png : Uygulama içerisinde arka plan olarak kullanılabilecek olan Image.

SplashScreenImage.jpg : Uygulamanın telefon kullanıcısı tarafından seçilip başlatılmasıyla uygulamanın telefon üzerinde çalışmasına kadar geçen sürede ekranda gösterilecek olan resim.

Windows Phone Emulator

Windows Phone uygulaması geliştirmek için illa ki bir Windows Phone 7 işletim sistemi yüklü bir telefona sahip olmak zorunda değiliz. Bunun yerine uygulamalarımızı Windows Phone işletim sistemine sahip bir emülatör üzerinde test edebiliriz. Bu emülatör aslında Windows Phone 7 işletim sistemini içerisinde çalıştıran bir sanal makina. Böylece uygulamalarımızı bu emülatör içerisine deploy edip uygulamamızı çalışmasını dorğudan emülatör üzerinde izleyebilir ve test edebiliriz. Bunun yanında tabi ki Visual Studio içerisindeki seçenek yardımıyla uygulamaları doğrudan emülatör yerine Windows Phone 7 işletim sistemine sahip telefonumuza da yükleyip, test edebiliriz.

Uygulamayı doğrudan emülatörü seçerek çalıştırdığımızda ise öncelikli olarak emülatör çalışmakta daha sonra uygulamamız yüklenerek çalışmaktadır.

Emülatöre baktığımızda ise aslında emülatörün pek çok önemli işlevsellikleri bulunmakta. Emülatörü istediğimiz yönlere çevirebilmekte ve istediğimiz durumlarda emülatörden bir takım verileri alabilmekteyiz. Ancak bunun yanında tabi bazı durumlarda emülatör bize yardımcı olamamakta. Bu gibi durumlarda ise bazı extensionlar bizim yardımımıza koşmakta. Bu konulara da ilerleyen yazılarda değiniyor olacağız.

Evet arkadaşlar bu yazımızda Windows Phone 7 Uygulama geliştirme dünyasına giriş yaptık. İlerleyen yazılarımızda Windows Phone 7 üzerinde uygulama geliştirme ile ilgili daha detaya giriyor olacağız.

Görüşmek üzere,



Yorum Gönder


Yorumlar

  • profile

    ilkayilknur

    • 2
    • 11
    • 2010

    Teşekkür ederim efendim :) Sizin gibi takipçilerim olduğu sürece ben yazarım :) hehehe

  • profile

    Merve Bayramusta

    • 1
    • 11
    • 2010

    Çok güzel ve bilgilendirici bir yazı olmuş İlkay, hevesle gerisinin gelmesini bekliyorum :)