Bu makalede Microsoft .Net Compact Framework 3.5 ‘ un mobil
cihaz uygulama geliştiricilere sunduğu yenilikleri ve gelişmeleri mercek altına
alıyoruz.
Uzun bir aradan sonra tekrar merhaba. En son makalemizin yayınlanmasından
bu yana mobil cihaz uygulama geliştiricilerin ötesinde tüm .Net uygulama
geliştiricilerin hayatlarını maddi manevi her noktada kolaylaştıracak birçok ürün,
teknoloji ve kütüphane geliştirilmiştir. Biz ise bu makalemizde Microsoft’ un
mobil cihaz uygulama geliştirme noktasında çözüm olarak geliştirdiği .net
Compact Framework ‘ ün 3.5 sürümünün yeniliklerini mercek altına alacak,
belirli noktalarda gerçek uygulama senaryoları ile ilişkilendirerek
örneklendireceğiz. İsterseniz hiç vakit kaybetmeden bu yenilikleri mercek
altına almaya başlayalım.
.Net Compact Framework ilk geliştirildiği dönemde çok büyük
soru işaretleri ve tereddütleri beraberinde taşıyordu . Mobil cihaz uygulama
geliştiricilerin tümü Microsoft’ un geliştirmiş olduğu bu çözümün standart .Net
platformu ile karşılaştırmakta ; yeterliliği noktasında derin soru işaretleri
taşımaktaydı. Neyseki Microsoft her noktada olduğu gibi bu çözüm noktasında da
bekleneni yaptı ve .Net compact Framework’ ü bugün .Net uygulama
geliştiricilerin her türlü ihtiyacına cevap verebilecek, güçlü ve bir o kadarda
performanslı bir platform haline getirdi. .Net Compact Framework 3.5 sürümü önceki
sürümleriyle karşılaştırıldığında, standart masaüst .Net Framework
kütüphanelerine % 90 oranında yaklaşmış, standart kütüphane içeriğinin yanısıra
kendine has bazı kütüphane içeriğinide bünyesinde barındırmaktadır. Şimdi hiç
vakit kaybetmeden maddeler halinde bunları ifade etmeye, gerekli noktalarda
örneklendirmeye çalışalım.
.Net Compact Framework 3.5 (bu noktadan itibaren netcf
olarak anılacaktır) birbirleriyle ilgili / ilgisiz birçok farklı yeniliği beraberinde
getirmektedir. Bu yenilikler daha çok standart masaüstü .Net Framework ile
gelen teknolojilere olan adaptasyonlar demek pekte yanlış sayılmayacaktır. Sırasıyla
bu yenilikleri kategorize etmemiz gerekirse ;
Windows Communication
Foundation
Evet yanlış okumuyorsunuz. Başlıktan anlaşılabileceği üzere artık
mobil cihaz uygulamalarını belirli
kısıtlamalara uymak koşuluyla halihazırda hazırlanmış ve aktif olarak
yayında olan WCF servisleri ile konuşturabilmekteyiz. .Net Compact Framework
3.5’ un belkide en heyecan verici yeniliği WCF servisleri ile konuşabilecek
altyapıya sahip olması diyebiliriz. Bunun yanında standart transport
seçeneklerinin yanısıra önce mobil cihaz uygulamaları, yakın zamanda ise
masaüstü uygulamaları için yeni bir transport seçeneği daha eklendi ; Microsoft
Exchange Server mail transport. Bu transport seçeneği ile ilgili daha ayrıntılı
bilgiyi MSDN üzerinden edinebilirsiniz.
LINQ
Evet, bir diğer
şaşırtıcı yenilik ise artık mobil cihaz uygulamalarında LINQ altyapılı
uygulamalar geliştirebilecek olduğumuzdur. Kısaca LINQ ile mobil cihaz
uygulamalarında native c# sytnax’ ını kullanarak ilişkisel veritabanlarını
sorgulayabilecek, memory üzerinde konumlandırılmış koleksiyonlarımız üzerinde
filtreleme yapabileceğiz. Daha ayrıntılı bilgiyi http://msdn.microsoft.com/en-us/library/bb397834.aspx
adresi üzerinden edinebilirsiniz.
Windows Forms
.Net Compact Framework ile gelen bazı form kontrollerine konu
ile ilgili ihtiyaçlar göz önünde bulundurularak bazı değişiklikler
gerçekleştirilmiştir. Bu değişiklikleri sıralamamız gerekirse ;
·
Artık TabPage, Panel, Splitter ve PictureBox
kontrollerine CustomDrawing gerçekleştirebilmekteyiz.
·
Masaüstü ortamından tanıdık olduğumuz ClearType
özelliği birçok font’ a dahil edilmiştir.
·
ComboBox üzerinde belirli noktalarda
(SelectionStart, SelectionLength gibi özellikler) düzenlemelere gidilmiştir.
SoundPlayer
Bir diğer önemli yenilik ise mobil cihaz uygulama
geliştiricilere kendi medya oynatıcılarını çok
daha kısa sürede ve çok daha kolay programlayabilecekleri altyapıyı hazır
olarak sunan SoundPlayer sınıfıdır.
Bu sınıf vasıtasıyla mobil cihazlarınız üzerinde eş zamanlı olarak birden fazla
sesi çalabilmekte, hatta donanımsal olarak destek verildiği noktalarda bu
sesleri karıştırarak farklı deneyimler elde edebilmekteyiz. Konu ile ilgili
daha ayrıntılı bilgiyi http://msdn.microsoft.com/en-us/library/bb629370.aspx
adresinden edinebilirsiniz.
Compression
Bir diğer heyecan verici yenilik ise masaüstü .Net
uygulamalarında sahip olduğumuz ve aslında gerçekten olması gereken ortam ;
mobil cihaz ortamında sahip olmadığımız bir ihtiyaç olan sıkıştırma işlemleri
sınıflarıdır. Artık mobil cihaz uygulamalarında sıkıştırma işlemleri noktasında
halihazırda kullanıyor olduğumuz DeflateStream ve GzipStream sınıflarıyla
sıkıştırma işlemleri gerçekleştirebilmekteyiz.
The .Net Compact
Framework CLR Profiler
Daha önce masaüstü .Net Framework üzerinde bulunan ve
aktif memory üzerindeki heap & garbage collector işlemlerini takip
edebileceğimiz CLR Profiler artık .Net Compact Framework’ ü de
desteklemektedir. CLR Profiler’ ı kullanabilmek için http://go.microsoft.com/fwlink/?LinkId=99105
adresinden Power Toys for .Net Compact
Framework’ ü indirmeniz gerekmektedir.
Debugging
.Net Compact Framework 3.5 Debugging noktasında artık çok
daha yetenekli hale getirilmiştir.
Bu geliştirmelerden sonra ;
İç içe çalıştırılan (Resursive dahil) fonksiyon çağrıları
daha ayrıntılı izlenebilmekte,
Uygulama noktasında bir hata fırlatıldığında fırlatılan
hata Run fonksiyonu yerine
fırlatıldığı yerden yakalanabilmektedir.
Strong Names
1024 byte’ tan daha büyük strong name değerleri artık
desteklenmektedir.
Global Assembly
Cache
Daha önce makalesini hazırladığım ve anlattığım üzere
mobil cihaz uygulamalarında GAC altyapısı kullanılabilmektedir. .Net Compact
Framework 3.5 ile bu destek dhada geliştirildi ve Windows Embedded CE 6.0 ‘ a
uyumlu hale getirilmiştir.
Bu makalemizde temel olarak .Net Compact Framework 3.5
sürümünde mobil cihaz uygulama geliştiricilerin hayatına giren yeniliklerden
bahsettik.
Bir başka makalede daha görüşmek dileğiyle.
Ekin Özçiçekçiler
Device Application Development - MVP