Makale Özeti

Gelecekte öneminin çok artacağına inanılan mobil platformlarda yazılım geliştirme üzerine fikir edinmek istiyorsanız. Bu makaleye bir göz atabilirsiniz.

Makale

Smart Device Extensions

        Smart Device Extensionsa giriş yapıyoruz.
      Firmaların ihtiyaçları düzeyinde, Pocket PCler üzerinde uygulamalar yazılamaya başlandı. Özellikle firma çalışanlarının her an veriye ulaşması gereken durumlar için. Önceden çalışanlara Notebooklar veriliyordu ve internet üzerinden veya local uygulamalar ile işler yürütülüyordu. Pocket PCler tercih sebebi oldu çünkü daha ucuz, daha küçük cihazlar. Taşıması ve kullanımı daha kolay. Bu cihazlar üzerinde uygulama geliştirmek için Microsoft çözümü olan eMbedded Visual Basic kullanılıyordu.
      Mobil uygulamalar üzerine çalışan biri olarak edindiğim tecrübeler sonucunda araçlara özel uygulama geliştirme aşamalarında yaşanan zorlukları bizzat gördüm. Özellikle her aracın algıladığı sistem, kod yapısının farklı olması yapmış olduğum uygulamaları her araca özel uygularken bu araçların sistemlerini öğrenmek zorunda kaldım. Çoğu zaman kullanmış olduğum fonksiyonları web için ayrı, cep telefonları için ayrı, pocket pcler için ayrı yazmak zorunda kaldım. Birde her geçen gün yenilenen teknoloji ile çıkan cihazların çoğalmasını düşünün... Hem de hepsinin geliştirme ortamı da farklıydı. En önemlisi de bu aşamalarda yaşanan zaman kayıpları bence. Çünkü yapmış olduğunuz uygulamaları her yerden ulaşılabilir hale getirmek istiyorsunuz ve zaman kaybı aslında direk iş kaybına da yol açıyor. Birde tüm cihazlardaki uygulamaların senkronize bir şekilde çalışmasını istiyorsanız aradaki konuşmalar için birçok ek fonksiyonlar yazmak zorunda kalıyorsunuz.
      Smart Device Extensions ile Pocket PCler üzerinde Visual Studio.NET ortamında uygulama geliştirebiliyoruz. Smart Device Extensions yüklendiği anda Visual Studio.NET ortamında uygulama geliştirebilir bir hale geliyorsunuz. Buda şu anlama geliyor aslında, Visual Studio.NET ortamının tüm nimetlerinden yararlanabiliyorsunuz. Ayrıca ister Visual Basic.NET, ister C# ile kodlama yapabilirsiniz.
      .NET platformu ile XML Web Servisleri ve web üzerinde çalışan uygulamaların aynısını .NET Compact Framework ile Microsoft Pocket PCler üzerine de taşıyor. Smart Device Extensions ile de bu ortam üzerinde kolaylıkla uygulama geliştirilebiliyor.
      .NET Compact Framework
      Visual Studio.NET ile cihazlar üzerinde geliştiren uygulamalar .NET Compact Framework altında çalışır. .NET Compact Framework, .NET Frameworkün birçok özelliğine sahip, cihazlar için geliştirilmiş bir ortamdır. .NET Frameworke sahip özelliklerinin yanında bu ortamın PCler daha az özelliklere sahip cihazlar için olduğu ve bu yüzden bazı özelliklerinin olamayacağı, aynı zamanda bu cihazlar için kullanılabilecek ortamlar içinde ekstra özelliklerinin olduğunu da bilmemiz gerekli.
      .NET Compact Frameworkün içerdiklerine bakacak olursak;(Tablo1)
Özellik Açıklama
Common Language Runtime(CLR) .NET Compact Framework üzerinde yazılan uygulamalar hangi dilde yazarsanız yazın Common Language Runtime(CLR) üzerinde çalışır. .NET Framework yapısı ile aynıdır.
Çoklu Dil Desteği .NET Compact Framework üzerinde şu anda Visual Basic.NET, C# ve J# dilleri ile uygulama geliştirilebiliyor. Ancak ilerde diğer dillerin desteği de gelecek.
Threading Modelleme Multi thread programlamayı destekler.
Network .NET Compact Framework TCP/IP protokolü üzerinde tüm HTTP ve web fonksiyonlarına ulaşabilir.
Güvenlik(Security) .NET Frameworkdeki güvenlik modellerini desteklemektedir.

(Tablo1)

      Visual Basic Desteği
      Visual Basic programcıları da Smart Device Extensions ile uygulama geliştirebilecek. Böylelikle eMbedded Visual Basic üzerinde uygulama geliştirenler bu yeni ortama rahatlıkla adapte olabilecekler.
      Grafik Cihaz Önyüz Desteği

      Smart Device Extensions, grafik elementlerini de destekliyor. Bitmaps, brushes, icons, pens leri içermektedir. Bu açıdan da eMbedded Visual Basicden daha iyidir.
      Toolboxı Tanıyalım.

      Yapacağımız uygulamalar için kullanmak istediğimiz kontrolü toolboxdan sürükle - bırak(drag-drop) yöntemi ile form dizayn ekranına bıraktığınız zaman istediğiniz dizaynı elde etmiş oluyorsunuz. Ardından da bu kontroller üzerinde kodlarınız yazabilirsiniz.

      Smart Device Extensions ile kullanabileceğiniz kontrollerin listesi Tablo2de belirtilmiştir.
Button CheckBox ColorDialog ComboBox
ContextMenu DateTimePicker DomainUpDown ErrorProvider
GroupBox HScrollBar ImageList Label
LinkLabel ListBox ListView MainMenu
MonthCalendar NumericUpDown OpenFileDialog Panel
PictureBox ProgressBar RadioButton SaveFileDialog
StatusBar TabControl TextBox Timer
ToolBar ToolTip TrackBar TreeView
VScrollBar      

(Tablo2)
      eMbedded Visual Basic İle Arasındaki Farklar
     Visual Basic.NET ile Visual Basic programcıları bazı alışkanlıklarından vazgeçmek ve yeni şeyler öğrenmeye mecbur kaldılar. Bu yüzden eMbedded Visual Basic ile uygulama geliştirenler Smart Device Extensions ile .NET platformunda uygulama geliştirirken bazı farkları bilmeleri gerekli.
      * Variant Veri Tipi: eMbedded Visual Basic ortamında kullanılabiliyordu ancak Visual Basic.NET ortamında böyle bir veri tipi mevcut değil. Her değişkenin tipi mutlaka belirtilmeli.
      * Integer Veri Tipi: 3 tip sayısal veri tipi mevcut;
     
         * 16-bit : Short
         * 32-bit : Integer
         style="mso-fareast-font-family: "MS Mincho"">* 64-bit : Long
      * Değişkenlerin Boyutları Verilebilir: Değişkeni tanımladığınızda, tanım yaptığınız anda ilk değerini de verebilirsiniz. Örneğin;
            Dim iSayac As Integer = 5
      * Dizi Elemanları 0(Sıfır) dan başlar: style="mso-fareast-font-family: "MS Mincho""> Tanımlamış olduğunuz dizinin ilk elemanının index numarası her zaman 0(Sıfır)dır.
      * Sub ve Fonksiyonları Kullanırken Parantez Kullanmak Zorundasınız: Visual Basic.NET ortamında Sub ve Fonksiyonları çağırırken mutlaka parantez kullanmalısınız. eMbedded Visual Basic ile böyle bir zorunluluğunuz yok.
      eMbedded Visual Basic kodu;
      MsgBox "Merhaba"
    
      Visual Basic.NET kodu;
      MsgBox ("Merhaba")
      * Operatörlerin Yeni Kullanımı: Visual Basic.NET ortamında operatörleri C dilindeki gibi yazım kurallarında kullanabilmenize imkan sağlamaktadır. Kullanımları(Tablo3);
Operator Tipi eMbedded Visual Basic İle Yazılımı Visual Basic .NET İle Yazılımı
Ekleme iDeger = iDeger + 1 iDeger += 1
Çıkarma iDeger = iDeger – 1 iDeger -= 1
Çarpma iDeger = iDeger * 5 iDeger *= 5
Bölme iDeger = iDeger / 5 iDeger /= 5
String birleştirme sDeger = sDeger & "demo" sDeger &= "demo"

(Tablo3)
      Yeni Hata Takibi
      eMbedded Visual Basic ortamında hata durumları ve yapılacaklar için kullandığımız sistemde değişti. eMbedded Visual Basic ortamında On Error Resume Next ifadesi hataları gösterme deyip hata oluşabilecek durumlarda kendi müdahele edebiliyor durumdaydık. Ancak Visual Basic.NET ile hata kontrolleri bu şekilde çalışmıyor. Try-Catch-Finally yapısı altında hata durumlarını kontrol edebiliyoruz. Kullanımı;
      Try
            Hata olmayan durumlarda uygulanacak kodlar...
      Catch
            Eğer hata varsa yapılacaklar
      Finally
            Tüm bu durumların sonunda yapılacaklar.
      End Try

     Yeliz Korkmaz
       yelizkorkmaz@turk.net