1. meslek sırrı MOBİL PROGRAMLAMA
PCWORLD.COM.TR OCAK ’10120
Visual Studio 2008 içinde mobil geliştirme araçlarının bulunduğu toolbox önemli
bir penceredir. Bu ay araçları tanımaya başlıyoruz.
İlk nesil mobil cihazlarda
programlama yapmak için
pek fazla bir seçeneğimiz olmuyor-
du. Genel olarak cihaza özel prog-
ramlar yazabiliyor ve bunuda As-
sembly ile makina diline yakın yön-
temlerle yapmak zorundaydık. Ar-
dından platformlar arası bağımsız-
lık furyası, Java dili ile hayatımıza
geirdi. Virtual Machine ile platform
bağımsız hareket edebilirken tek
dille aynı uygulamayı çeşitli plat-
formlarda sunabiliyoruduk.
Microsoft, platform bağımsızlığı
için geç kalmadı. .NET Framework,
bizi bir adım öteye götürdü. Tek bir
dile değil farklı dillerle çalıştığı gibi
resmi dili olan C#, Java’nın gücü-
nü ve C/C++ türevi dillerin esnek-
liğini kendinde barındırmaktaydı.
Mobil dünya içinde gelişmeler aynı
şekildeydi. Mobil uygulamaları yö-
netmek için Microsoft, .NET Com-
pact Framework’ü sunarken .NET
Framework’ün kırpılmış bir versiyo-
nu izlemini vermekteydi. Windows
Mobile işletim sistemi yüklü cihaz-
larda bir framework vasıtasıyla çok
daha kolay program yazabiliyor.
C++ veya Assembly gibi dillerdeki
bellek yönetimi gibi unsurlarda bi-
raz daha rahat edebiliyorduk. .NET
Compact Framework ve C# ile ya-
pabileceklerimizin sınırı hayal gücü
Merhaba İlk Uygulama
ve makinanın olanaklarına kaldığı
bir gerçek.
.NET CF’nin yetmediği yerlerde
C#’ın bize sunduğu unmanaged
yani yönetilemeyen kod blokla-
rı imdadımıza yetişmekte. Zaman
ilerledikçe .NET CF’de evrim geçir-
mekte. Yeni Windows Mobile işle-
tim sistemlerinin çıkmasıyla birlik-
te .NET CF’nin yeni versiyonları ha-
yatımıza giriyor. Windows Mobile
5.0 ömrünü doldurduktan sonra
WM 6.0 ve 6.1 kullanımına devam
ediliyor. Önümüzdeki versiyon sıra-
sı ile Windows Mobile 6.5 ve 7...
.Net Compact Framework
ve kapsam çizelgesi
Uygulamalarımızı .NET Frame-
work’ün resmi dili olan C# ile kod-
layacağız. C#, C/C++ ve Java’nın
tüm güçlerini kendinde barındıran
yeni nesil bir dildir. C# ile nesne yö-
nelimli bir dil olduğu için daha kap-
samlı, kaliteli kodlar yazabilmekte-
yiz. (Resim1)
İlk projemize başlıyoruz!
Visual Studio 2008 içinde mo-
bil geliştirme araçlarının bulundu-
ğu toolbox önemli bir pencere-
dir. Visual Studio ile Windows uy-
gulamaları geliştirenler için Resim
2’deki pencere tanıdık gelecektir.
(Resim2)
İlk uygulamamızda bu araç kutu-
sundan seçeceğimiz bir bileşeni
kullanacağız. Bu bileşen “Button”
olacak. button bileşenini mobil for-
mumuza sürükleyip bırakıyoruz.
Formumuzun görüntüsü Resim
3’teki gibi olacak. (Resim3)
Ardından sağ tarafta “Properties”
sekmesinden butonumuzun özel-
liklerini ayarlıyoruz. Bu sayede iste-
diğimiz biçimi vermiş olacağız. Re-
1
Volkan Atasever
volkan@volkanatasever.com
2. 121PCWORLD.COM.TROCAK ’10
meslek sırrı MOBİL PROGRAMLAMA
sim 4’te bu ayarları görebilirsiniz.
(Resim4)
Properties penceresinden butonu-
muzun arka plan rengini yazı ren-
gini değiştirdik. Dock özelliğe ile
butonumuzun lokasyonunu en
alta sabitleyerek doldurduk. For-
mun yeni görüntüsü aşağıdaki gi-
bidir; (Resim5)
Bu sayede programlayacağımız
mobil uygulamanın kullanıcı ara-
yüzü bitmiş durumda. Bir buton
ile bu uygulamanın bir iş yapma-
sını sağlamamız lazım. Şu anda-
ki formun kod kısmını görmek
için formun herhangi bir yerinde
mouse’un sağ tuşuna tıklayarak
“view code” sekmesine basıyoruz.
Aşağıdaki kodlar programımızı
yazmadan önce, formu oluştur-
duktan sonra karşımıza gelecek
kod bloklarıdır.
using System;
using System.Linq;
using System.
Collections.Generic;
using System.
ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.
Forms;
namespace ilk
{
public partial class
Form1 : Form
{
public Form1()
{
Initialize
Component();
}
}
}
Biz butona bastığımızda ekranda
bir mesaj kutusu göstermesini is-
teyelim. Bunun için butona çift tık-
ladığımızda otomatikman bir kod
bloğu eklenecektir. Bu sayede bu
bloğun içine yazdığımız kod buto-
na tıklandığında
private void button1_
Click(object sender,
EventArgs e)
{
Message
Box.Show(“Merhaba Mobil
Programlama!!!”);
}
Projenin çalıştırılması!
“Debug > Start Without Debug-
ging” sekmesinden projemizi çalış-
tırıyoruz. (Bkz Resim 6)
Karşımıza Visual Studio ile enteg-
re çalışan bir deploy penceresi açı-
lacaktır. Bu pencereden emülatö-
rü seçerek “deploy” butonuna bas-
mamız gerekir. Seçeceğimiz emü-
latör ise Windows Mobile 6 pro-
fessional Emülatör olacaktır. Diğer
seçeneklerden ilerleyen yazılarda
2
3
4
3. meslek sırrı MOBİL PROGRAMLAMA
PCWORLD.COM.TR OCAK ’10122
bahsedeceğim. (Bkz. Resim 7)
Deploy seçeneğine bastıktan son-
ra emülatörün uygulamayı çalıştır-
ması için biraz beklememiz gere-
kiyor. Bu aşamada Visual Studio,
programımızın paketini cab dos-
yası olarak oluşturur. Visual Stu-
dio, cab dosyasını oluşturduktan
sonra emülatöre bu cab dosyasını
yollamaktadır. Çalışan uygulamayı
Resim 8’de görebilirsiniz.
Sonuç
Bu ay ilk çalışan uygulamamızı bi-
tirdik. Şu anda yaptığımız uygu-
lama kompleks olmamasına kar-
şın üzerinde yazılım geliştirdiği-
miz platform kompleks bir plat-
form olduğu gerçeği unutulma-
malı. Günümüzdeki mobil cihazla-
rın 400 MHz işlemci hızını aştığını,
128 MB ve üstü RAM’lerin stan-
dart hale geldiği mobil cihazlarda
işlemciye kompleks işlerde yaptıra-
cağımız gerçeği unutulmamalıdır.
Günümüzde bu cihazlar hakkında
güçsüz nitelemesi yapmak doğru
olmaz. 400 MHz ve üstü hızda bir
işlemci ile 128 MB RAM’in yapıla-
bileceklerinin en açık örneği bu ci-
hazlar üstüne geliştiren oyunlar-
dır. Bu eşiği atlamak içinse .NET
Compact Framework’ün her nok-
tasına hakim olmak gerekiyor. Ge-
lecek ayki yazımda ortamımıza bi-
raz daha aşina olup ardından sık
kullanılan kontroller üstünde du-
racağız.
5
6
8
7