24 Ağustos 2013

Delphi ile Android ve iOS Programlama

Delphi XE4 ile birlikte ios icin uygulama gelistirme destegi Delphi'ye eklendi. Bu destek Delphi' de ki Firemonkey frameworku ile mumkun.Firemonkey platforma ait native bilesenleri kullanmak yerine bu bilesenlerin benzerlerini kendisi simule ederek platform bagimsizligin yolunu bizlere aciyor. Eylul ayinda cikacak olan XE5 ile birlikte Android destegi (NDK) de gelecek ve Firemonkey uygulamanizi tek satir degisiklik yapmadan (platforma ozel kodlar kullanilmadiysa) hem Andorid hem de iOS icin derleyebileceksiniz.

Firemonkeyin dezavantajları

-Olusan uygulama her ne kadar native olsada uygulamada ki gorsel bilesenler platformun kendi native bilesenleri olmadigi icin uygulamanin GUI kismi biraz yavas kaliyor.

-Uygulamanin boyutu buyuk oluyor. Basit bir Firemonkey iOS uygulamasi 12 mb civarinda.

-Native bilesenler kullanilmadigi icin uygulamanin gorselligi iOS surumune gore farklilik gostermiyor.

-iOS ' un tum frameworkleri henuz Firemonkeye implemente edilmedigi icin platformun tum imkanlarindan kolayca yararlanmak mumkun degil.

-Belirli bir SDK dan sonrasi icin gelistirme yapabiliyorsunuz.


Firemonkeyin avantajları

- Tek bir uygulama gelistirip bu uygulamayi hem iOS icin hem de Android icin derleyebiliyorsunuz.

- Her iki platform icinde native uygulama gelistiriyorsunuz. Android icin sanal makine degil direkt NDK kullandiginiz icin kodlariniz daha guvende oluyor.

-Android icin java , iOS icin objectiv-c ogrenmek zorunda kalmiyorsunuz. Tek bir dil ile her iki platformada uygulama gelistirebiliyorsunuz.

-Gelistirme zamani ve maliyeti onemli olcude azaliyor.


Firemonkey ile Android ve iOS gelistirmek mantikli midir ?

Bu ihtiyaçlarınıza göre hem evet hem de hayir olarak cevaplanabilir.


Java ogrenmesi kolay bir dil ama Android icin ekran tasarimi yapmak basli basina bir is. Layoutlar insani bazen cileden cikartabiliyor. Yine listenerler ile ugrasmakta insani yoran bir faktor.

Objective-C tarafinda ise tasarim daha kolay olmasina ragmen Objective-C dilini ogrenmek ve delegateler arasinda yolunuzu bulabilmek gelistiriciye zaman kaybettiren seyler. Basit bir Sqlite islemleri ya da Web servis yazmak bile cok uzun sureleri buluyor.


Delphi tarafinda ise ogrenmesi kolay bir pascal mevcut ve gerek arabirim tasarimi gerek database islemleri gerek web servis islemleri cok kolay bir sekilde yapilabiliyor. Delegateleri ogrenmek zorunda da degilsiniz. Ilgili bilesenin Event bolumunde hangi eventlarin oldugunu hangi eventin hangi parametreler gonderdigini kolay bir sekilde gorup neyi kullanmaniz gerektigini kolay bir sekilde anlayabiliyorsunuz.

Birkac yil icinde Firemonkey daha da iyi hale gelecektir suphesiz. Hem hiz olarak hem stabilite olarak hem de destekledigi frameworkler bakimindan Java ve Objective-C ile yarisir hale gelecektir.

Bu surede zarfinda ise Delphi nin yapabildikleri eger sizin icin yeterliyse cekinmeden delphi ile mobil uygulamalar gelistirebilirsiniz , ben kullandigim cihazin suyunu cikartmam lazim , her detayini kullanabilmeliyim diyorsaniz Delphi simdilik size gore bir cozum olmayacaktir.