Ana içeriğe atla

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.



Yorumlar

Unknown dedi ki…
Başarılı bir makale olmuş. Ellerine sağlık

Bu blogdaki popüler yayınlar

Yazılımı Oluşturan Bileşenler Nelerdir?

Yazılımı oluşturan bileşenlerden daha önce söz etmiştik. Şimdi bu bileşenlerin neler oldukları üzerinde biraz duralım. Yazılımı oluşturan bileşenler = Mantık + Veri + Belge + İnsan + Program. Bu bileşenlerin az çok neler olduğunu, neleri kapsadığını biliyoruz ama biz yine de kıyısından köşesinden açıklayalım. Zaten bu yazıdaki asıl amaç yazılım bileşenlerinden belgelemenin yerini ve önemi (dökümantasyon) vurgulamak. Mantık = Yazılım herşeyden önce bir işin bilgisayar aracılığı ile yapılması amacına yöneliktir. Bu nedenle bilgisayarlaştırılmak istenen işin mevcut mantığı bir şekilde yazılıma da yansılıtılmak zorundadır. Veri = Her tür yazılım mutlaka bir veri üzerinde çalışmak durumundadır. Veri işlemeyen yazılımın geliştirilmesi söz konusu değildir. Söz konusu olan veri dış ortamdan alınabileceği gibi yazılımın içerisinde de üretilebilir. Zaten yazılımın temel amacı veriyi bilgiye dönüştürmektir. İnsan = Doğal olarak yazılımın insan bileşeni iki boyutludur. Yazıl

Leyse li'l-insâni illâ mâ seâ

"Leyse li'l-insâni illâ mâ seâ" derken Hudâ; Anlamam hiç meskenetten sen ne beklersin daha? Mehmet Akif Ersoy / Durmayalim Leyse li'l-insâni illâ mâ seâ : Necm Süresi 39. Ayet. [İnsan için ancak çalıştığı vardır.] Meskenet: 1 . Miskinlik, beceriksizlik. 2 . Yoksulluk, fakirlik. (Türk Dil Kurumu) Olay zaten yeterince acik. Yan gelip yatma kardesim. Calis. Bu misralar yazildigi donemde bu anlami tasiyordu fakat zaman ilerledikce baska bir gercegi de gozler onune seriyor.Gerci bu gercek cok kapsamli bir kac satirla anlatilabilecek bir sey degil kaldiki benim bilgim de buna yeterli degil zaten. Ben giris cumlelerini verebilirim gerisini arastirmak yaziyi okuyanlara kalmis. (Matrix gibi bisey oldu bu yaw. Neo'nun kahinle bulusup yanindan ayrildiktan sonra Morpheus ile konusma sahnesi.) Yani kisaca sunu demek istiyorum. Ben bu misrayi ilk okudugumda hic birsey anlamadim. Bu misralari anlayabilmek icin kuran mealine ve turkce sozluklere bakmak zorunda k

Yunus sen bu dünyaya niye geldin?

Göçtü Kervan Ah nice bir uyursun uyanmaz mısın Göçtü kervan kaldık dağlar başında Çağrışı tellallar inanmaz mısın Göçtü kervan kaldık dağlar başında Emr-i hac göçeli hayli zamandır Muhammed cümleye dindir imandır Delilsiz gidilmez yollar yamandır Göçtü kervan kaldık dağlar başında Yunus sen bu dünyaya niye geldin Gece gündüz Hakkı zikretsin dilin Enbiyaya uğramaz ise yolun Göçtü kervan kaldık dağlar başında Yunus Emre