Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi XE Mobilde Çalışma Mantığı Nedir?
#1
Selamün Aleyküm, herkese hayırlı bayramlar!

Delphi XE ve C++ Builder XE ile mobil uygulama geliştirebiliyoruz lakin benim merak ettiğim bir konu var: Delphi XE Android, iOS ve Windows Mobile'da nasıl çalışıyor? Daha fazla ayrıntıya inmem gerekirse; her mobil geliştiricinin bildiği gibi Android resmi olarak Java ile geliştiriliyor, iOS Objective-C / Swift ile geliştiriliyor, Windows Mobile ise C# (.NET) ile geliştiriliyor. Peki Delphi XE'de geliştirdiğimiz bir mobil uygulama Android'de, iOS'de ve Windows Mobile'da çalışmak için hangi evrelerden geçiyor?
Delphi kodları masaüstü yazılımlarda direk olarak makine koduna çevriliyor fakat mobilde de mi böyle oluyor?

Gerçekleşen evrenin nasıl olduğunu bilenler yardımcı olurlarsa çok sevinirim. Herkese şimdiden teşekkürler.
Cevapla
#2
(15-09-2016, Saat: 01:28)İbrahim Adlı Kullanıcıdan Alıntı: Selamün Aleyküm, herkese hayırlı bayramlar!

Delphi XE ve C++ Builder XE ile mobil uygulama geliştirebiliyoruz lakin benim merak ettiğim bir konu var: Delphi XE Android, iOS ve Windows Mobile'da nasıl çalışıyor? Daha fazla ayrıntıya inmem gerekirse; her mobil geliştiricinin bildiği gibi Android resmi olarak Java ile geliştiriliyor, iOS Objective-C / Swift ile geliştiriliyor, Windows Mobile ise C# (.NET) ile geliştiriliyor. Peki Delphi XE'de geliştirdiğimiz bir mobil uygulama Android'de, iOS'de ve Windows Mobile'da çalışmak için hangi evrelerden geçiyor?
Delphi kodları masaüstü yazılımlarda direk olarak makine koduna çevriliyor fakat mobilde de mi böyle oluyor?

Gerçekleşen evrenin nasıl olduğunu bilenler yardımcı olurlarsa çok sevinirim. Herkese şimdiden teşekkürler.

Aleyküm Selam İbrahim Bey,
Sizin de az çok değindiğiniz gibi IDE (Yazılım Geliştirme Ortamı ) kendi dilini kullanarak bir derleyici vasıtası ile kodu makina diline yakın IL (Intermediate Language )'e dönüştürerek, platforma özgü çalıştırılabilir uygulamanın üretilmesini sağlar.
Peki Delphi Tek Kod (Tek Proje ) ile Tüm Platformlar için Nasıl Uygulama Geliştirebiliyor?
Delphi Kodu/Object Pascal kodu ve Platforma özgü API kodları 7 Adet Derleyici (bunların 3 tanesi LLVM yapısında) vasıtası ile (Project Manager > Target Platforms > Platform Adı seçilerek compiler arka planda otomatik olarak belirlenmiş olur ) işlem görür.
Tüm Delphi derleyicileri, kodları hedef platformun anlayabileceği, çalışabilir uygulamaya (exe, apk, ipa vb.)  dönüştürür.
Özetle çalışma prensibi bu şekildedir.
Daha detaylı bilgi isterseniz, daha geniş bir zamanda anlatırız, İnşaallah.
Aşağıdaki resimde sormuş olduğunuz Tüm Platformlar için Uygulumu Gliştirmenin Temel Yapısı Gösterilmiştir.

15gpm61.jpg

İyi çalışmalar.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Cevabınız için çok teşekkür ederim. Resimden anladığım kadarıyla Delphi XE kodları Android'de NDK ile beraber derlenip ELF formatına dönüştürülüp gerekli asgari düzeyde Java koduyla apk oluşturuluyor. SMS, Service vs. Android'e özgü sınıflar da native Java kodu ile sanırım JAR formatında Delphi'de JNI ile kullanılmasını sağlıyor. iOS'de ise direk kod native olarak derleniyor. Windows kısmına ise hakim değilim, açıklama gerekebilir.

Yani resimden anladığım Delphi kendine özgü kütüphanelerini NDK ile birlikte derliyor lakin SDK içinden gerekli kütüphaneleri JNI ile çalıştırıyor. Delphi ELF formatı + JNI Java.
Cevapla
#4
(15-09-2016, Saat: 02:26)İbrahim Adlı Kullanıcıdan Alıntı: Cevabınız için çok teşekkür ederim. Resimden anladığım kadarıyla Delphi XE kodları Android'de NDK ile beraber derlenip ELF formatına dönüştürülüp gerekli asgari düzeyde Java koduyla apk oluşturuluyor. SMS, Service vs. Android'e özgü sınıflar da native Java kodu ile sanırım JAR formatında Delphi'de JNI ile kullanılmasını sağlıyor. iOS'de ise direk kod native olarak derleniyor. Windows kısmına ise hakim değilim, açıklama gerekebilir.

Yani resimden anladığım Delphi kendine özgü kütüphanelerini NDK ile birlikte derliyor lakin SDK içinden gerekli kütüphaneleri JNI ile çalıştırıyor. Delphi ELF formatı + JNI Java.

Rica ederim, platformumuzun amacına hizmet etmeye çalışıyoruz.
Tespitleriniz çok doğru. Daha önceki sürümlerde (Delphi 10.1 Berlin öncesi) Jar dosyası doğrudan kullanılamıyordu. Harici veya ek bir işlem ile java class'ları bir dosya (classes.dex ) içerisine gömülerek Delphi IDE'si tarafından kullanılabiliyordu. Yeni sürümle (Delphi 10.1 Berlin ) beraber bu durum daha da kolaylaştırıldı. Sizin de belirttiğiniz gibi  JAR formatındaki dosya doğrudan (Project Manager > Target Platforms > Android > Libraries ) kullanılabiliyor.
Delphi'nin her sürümü bir öncekine göre işleri biraz daha kolaylaştırıp, iş yükünü hafifleterek, tüm platformlarda daha hızlı ve kolay uygulama geliştirmenin yolunu açıyor.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  delphi 10.4 uzak mysql bağlantı wiseman 6 404 13-09-2020, Saat: 20:08
Son Yorum: mcuyan
  Mobilde video gösterimi kaplanalpay0 9 589 07-09-2020, Saat: 23:47
Son Yorum: Fesih ARSLAN
  [ ÇÖZÜLDÜ ] Play Console İmza Sorunu ? Delphi 10.3 Mr.Developer 12 4.720 07-09-2020, Saat: 12:52
Son Yorum: codder71
  Delphi 10.4 Play Protect Tarafından Engellendi. hayalyilmaz43 2 353 19-08-2020, Saat: 20:23
Son Yorum: hayalyilmaz43
  Delphi Multi-Platform (FMX) Nedir? Diğer Geliştirme Ortamlarına Göre farkları Neler? Fesih ARSLAN 13 3.932 14-08-2020, Saat: 09:48
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi