Xe sürüm farklılıkları

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen mrmarman »

Merhaba.
- Bence kurulu düzenini bozma, XE2 lisansın konusunda sıkıntı yaşayabilirsin.
- Başka bir bilgisayarda dene. Hatta sanal pc'ler var VMware ve ücretsiz olan Oracle VirtualBOX var onlardan birini kur, onun altında denemelerini yap.

- VirtualPC'ler bir çok farklı konuda test için ideal çözümler PC'nde bulunsun derim.. :idea: Tek bilgisayarın varsa ağ altından iletişim kuran yazılımlarının testlerini da kendi içinde yapabilirsin. :idea:
Resim
Resim ....Resim
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: Xe sürüm farklılıkları

Mesaj gönderen mehmetantalya »

Öncelikle Teşekkür ederim Muammer bey,
Oracle virtualbox hali hazirda kullaniyorum. Gercekten cok yararli oluyor.
Şuan sehir disindayim. Hazır zamanım varken özellikle mobil kismini test edeyim demiştim. ve de sanaldaki windows um çöktü :)
onun içinde kurulum yapamadim.
Aynı anda çalışma konusunda sıkıntı çıkarmasa aynı pc de deneyiverecektim. ama dediğiniz gibi düzeni bozmamak lazim mevcut delphi ile yapacaklarım var çünkü.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen mrmarman »

Arkadaşlar. Dayanamadım XE5'i Embarcadero'dan indirip kurdum. Boş bir form açıp boyutunu inceledim. Sıkıştırdım, debug eksilttim vs. size Makale ve İpucu sayfasında rapor hazırladım.

bkz. Makale ve İpucu / Delphi XE5 - EXE Boyutu küçültmek için ...
Resim
Resim ....Resim
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: Xe sürüm farklılıkları

Mesaj gönderen mehmetantalya »

Muammer Hocam,
Hazır elin değmişken xe5 'e makale kisminda birde android uygulama geliştirme konusunda bir makale hazirlayiversen ne güzel olacak :D
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen mrmarman »

- Yahu sorsana Android uygulama hiç geliştirdin mi :lol:

- Hakikaten Delphi XE5 hızır gibi yetişti. Uygun zamanda notlarımı alarak Android uygulamasına giriş yapıcam.

- Eclipse de kurulu benim bilgisayarda. Bir butona basınca ekrana "Merhaba Dünya" dedirtip, mesajdaki butona basınca programı sonlandıran bir yazılımı inanmazsınız 3 saat didindim. O kadar da kaynak var. Yok manifeste not düş, yok şu bu, ... yahu bir mesaj penceresi oluşturmak bu kadar mı (bana göre) zor olur.

- İşte Java ile Delphi mantığındaki disiplinler arası fark bu. Bu farkı öngörüp Android yazılım geliştirmeye yönelik giriş yapmamızı sağlayacak Embarcadero yönetimini kutluyorum.
Resim
Resim ....Resim
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: Xe sürüm farklılıkları

Mesaj gönderen mehmetantalya »

Eclipse ile basit bir kasa programi yazmistim. Ama canımı cikardi. Özellikle yerleşimlerle alakali ayarlar insani cileden cikartiyor. Tasarim ekranindan kod bolumune gecisler tam bir iskence.
Delphi xe5 ciktigini gorunce ilk isim bundan kurtulmak oldu.
Delphi ile devam etmeyi düşünüyorum.
Hiç uygulama geliştirmemiş olsanizda sizin geçiş aşamanız eminim çok hızlı olacaktır.
Artik xe5 ile android'e giris yaptiğinizda adimlari en azindan baslangic seviyesinde makale olarak yazma imkaniniz olursa çok hora geçer.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen sadettinpolat »

Evet gelistirme mantigi bakimindan Delphi javaya gore cok daha konforlu sayilir ama XE5 icerdigi buglar sayesinde size sinir krizleri gecirtebilir ve gozleriniz bir anda Eclipsi arayabilir :)
Firemonkey stabil hale geldiginde ve destekledigi frameworklerin sayisi arttiginda gercekten Eclipse/javaya rakip olacak duzeye gelecektir. Android gelistirme ortami olarak su an icin Eclipse/Java ikilisine rakip olabilecek duzeyde degil malesef.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen mrmarman »

Sadettin bey yeri gelmişken bir soru :?:

İşlerden daha oturup fırsatım olmadı da ondan soruyorum. :roll: (Şu anda da Edirne'de çekim var otelden yazıyorum, dünkü @KuriYJ 'nin etkinliğine de buradan katıldım )

Delphi XE5 ile başlayıp Exclips ile devam edemiyor muyuz. Deploy edince bize Java Kodlarını veriyor mu yoksa direkt APK yapıp işi bitiriyor mu ?

Şu anki bana sorun teşkil edecek unsur arabayı yürütme aşaması. Araba yürüdükten sonra eklemeler benim için göreceli olarak sıfırdan başlamaktan daha kolay olacaktır. (ilk önce gözümü korkuttu ya o bakımdan)

Gerçi Delphi'ye başlamam da böyle olmuştu. Basic / Cobol / Fortran / Pascal / ( C++ sevmemiş pascal'a dönmüştüm) derken Delphi ( 1996 yılıydı ) çıktı dediler yaygınlaşacak dediler, bak 2.0'ı çıkacak treni kaçırma dediler. Delphi 1.0 ile girdim... anında kaçtım ve delphiden 3 ay uzak durmuştum. Şimdi her türlü sorunu çözmek için rahatlıkla Delphi'ye başvuruyorum. :o
Resim
Resim ....Resim
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen sadettinpolat »

mrmarman yazdı: Delphi XE5 ile başlayıp Exclips ile devam edemiyor muyuz. Deploy edince bize Java Kodlarını veriyor mu yoksa direkt APK yapıp işi bitiriyor mu ?
Delphi ile baslayip Eclipse ile devam edemiyorsunuz malesef. Android uygulamalari genelde JDK ile gelistiriliyor. Delphi ise NDK kullanarak Android uygulamasi gelistiriyor.
Mimari olarak birbirinden cok farklilar. Eclipste gorsel tasarimlar Xml ve Layoutlar ile yapiliyor Delphi de ise bildiginiz formlar ile yapiliyor. Bu yuzden Delphi ile baslayip Eclipse ile devam etmek ya da Eclipse ile baslatilan bir projeyi Delphiye import etmek gibi seyler simdilik cok mumkun gorunmuyor. Bazi java kodlarini JNI ile belki kismen delphi ortamina tasiyabilirsiniz.

Bu arada derlediginiz uygulamayi android cihazda calistirabilmek icin delphi kendisi ufak bir java classi olusturup bunu uygulamanin basina ekliyor. Bu ufak java classi calistirildiginda asil uygulamanin giris noktasini cagirarak asil uygulamanizin calismasini sagliyor.

Delphi Windows ortaminda bize saglamis oldugu esnekligi Android ortaminda saglayamiyor. Firemonkey kullandigimiz icin yapabileceklerimiz firemonkeyin yetenekleri ile sinirli.
Mesela Listview.

Java ile her bir itemin gorselligini kendinize gore ozellestirebileceginiz listview olusturabilirsiniz. Solda bir resim , ustte bir baslik , sagda yine bir resim , ortada bir label vs vs.
Delphide ise boyle bir sey yapamiyorsunuz. Firemonkeyin Listviewi sinirli sayida ozellestirme imkani sunuyor.

Modal pencere destegi yok
Animasyon imkanlari cok kisitli
Ios ve Android frameworklerinin % 15 ini ancak kullanabiliyorsunuz. Geri kalan kisimlari kullanmak icin bir engeliniz olmasada Header dosyalarini kendiniz cevirmeniz gerekecek.
Delphinin hazir olarak sunmadigi windows apilerine kendiniz kod yazarak erismek gibi.

Bunlar ilk basta kabul edilebilir sikintilar. Ilerde daha cok esneklik saglayacaklardir suphesiz.
Asil sikintili olan kisim buglarin cok olmasi. XE4/XE5 su an gercekten Alfa denebilecek bir seviyede. XE6 ile beta seviyesine gelip XE7 ile de taslarin yerine oturacagini dusunuyorum.

Su an uzerinde calistigim bir ios uygulamasi Release modda calismazken Debug modda problemsiz calisiyor. Nedeni belli degil.
Firemonkey animasyon bilesenlerinden birisi form uzerinde ise ve enabled ozelligi true ise
1- Threadin onterminte olayi tetiklenmiyor
2- Showmessage kullanirsniz Tamam dugmesine tiklayamiyorsunuz uygulamaniz oyle atil durumda kaliyor :)
3- Konum servisi internet yokken uygulamayi kilitliyor

Kisaca Delphinin ios ve android destegi olmasi hatta tek bir kaynak kodu her iki platform icinde derleyebilmesi gercekten bizim icin cok cok guzel bir ozellik fakat mobil bir uygulama yapmaya karar verdiginizde simdilik akillarda su soru isareti olusuyor.

"Delphi ile bu uygulamayi yapabilir miyim yapamaz miyim ?"

Yapmadan bilemiyorsunuz :)
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen mrmarman »

Hocam bu saatte ne performans :bravo: Bu kadar güzel özetlenir.

Tam da dediğin gibi, ve ötesi: Eclipse ile butona koyduğum finish(); ile bitirdiğim ekranı, DelphiXE'de close ediyorum, dispose ediyorum, hide ediyorum ne yaptıysam yok. En azından telefondaki Geri tuşunu simule edebilsem o da yeter :roll: Android mantığında yazılım sonlandırma önemli olmayabilir ama insan bir çıkış yolu arıyor. Alışıcaz zamanla...

Bu akşamlık bu kadar. Yarın 11:00'da çekim yapılacak yerde hazırlıkları bitirmiş olmam lazım...

Tekrar teşekkürler.
Resim
Resim ....Resim
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen SimaWB »

sadettinpolat yazdı: Modal pencere destegi yok
Tam da foruma girmeden önce M.Cantu'nun bloğunda Andorid'de modal formlarla ilgili yazısını okumuştum:
http://blog.marcocantu.com/blog/xe5_ano ... droid.html
There's no place like 127.0.0.1
nguzeller
Üye
Mesajlar: 109
Kayıt: 19 Oca 2004 03:29

Re: Xe sürüm farklılıkları

Mesaj gönderen nguzeller »

veritabanı tercihi olarak sqlite mi kullansan IBLite kullanayım karar veremedim. IBLite veritabanı sınırsız dağıtma hakkını var diye biliyorum RAD Studio sürümlerinde "IBLite XE3 Deployment License for Mobile Platforms" şeklinde lisansı geliyor. bu lisans ile dağıtım yapabilirim diye düşüyorum.
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: Xe sürüm farklılıkları

Mesaj gönderen mehmetantalya »

Saadettin hocam için karardi ya :)
Ama söylediğin gibi insaAllah yeni sürümlerle hersey daha iyi olacaktir.

Sizce delphi ile mobil uygulama geliştirmeye girilmelimidir?(Tüm bu eksiklikleri göze alarak)
Yoksa bir süre daha bekleyip eclipsle mi devam edilmeli?
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Xe sürüm farklılıkları

Mesaj gönderen sadettinpolat »

mehmetantalya yazdı: Sizce delphi ile mobil uygulama geliştirmeye girilmelimidir?(Tüm bu eksiklikleri göze alarak)
Yoksa bir süre daha bekleyip eclipsle mi devam edilmeli?

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.
http://sadettinpolat.blogspot.com/2013/ ... mlama.html
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
omurolmez
Üye
Mesajlar: 187
Kayıt: 31 Eki 2012 11:41

Re: Xe sürüm farklılıkları

Mesaj gönderen omurolmez »

XE4 kendi sitesinden sorunsuzca satın alınabiliyor indirilebiliyor (Bir iki ay önce satın aldık).
BT Grubu nun konuyla alakadar olamaması yüzünden bu yöntemi seçtik (telefona çıkan yoktu, sitesi güncel değildi vb). Zaten bir süre sonra da Delphi Bt Grubu ile bağını kopardı ve başka bir firmayı Avrupa dağıtıcısı yaptı. Yine de kendi sitesinden sorunsuzca satış yapıyor.

Delphi nin ve C# üzerinde durduğu noktalar hızlı, çok platformlu / taşınabilir ve birden çok kişinin aynı anda aynı uygulamayı geliştirebildiği platformlar hazırlamak. Böyle olunca exe boyutuna varıncaya kadar, daha bir çok noktada "gereksiz" işler yapılıyor. Eğer bu gözle bakarsak, sınıf/class, xml, vb. teknolojileri kullanmak bile başlı başına gereksizlik/fazlalık gibi görünür. Aynı işi yapan programlar, bu teknolojileri kullanmadan yazılsalar çok daha fazla kaynak kod satırına rağmen çok daha az yer kaplardı. Oysa devir değişti. Bilgisayarların 640 K hafızaya sahip olduğu dönemlerde yazılan teknikler bugün hatalı programlama olarak nitelendiriliyor. Örneğin K&R nin ilk C++ kütüphanesinde int getchar(void); tanımlı bir işlev ile klavyeden basılan bir tuşa karşılık gelen karakterin ascii kodunun (byte) olarak dönmesi sağlanıyor. Peki niye int ? Çünki hata olursa belirtmek için -1 döndürecek (2 byte). Oysa bir çok programcı buna dikkat etmeyerek char ch = getchar(); biçiminde kod yazdı. Gördüğümüz gibi işlev tanımı ve dil bizi, int ch =getchar(); if(ch==-1) { hata_isle() } else { ... biçiminde kod yazmaya zorlamıyor. Kendiliğinden olmuyor. O zamanlar bellek ve hız kıymetliydi. Fonksiyon az bir hafıza tüketmeliydi ve zaten karakteri döndürmek için kullanılan değişken aynı zamanda hata kodunu da döndürüyordu. Oysa günümüz anlayışı ile bu hatalı kabul ediliyor ve programcıyı doğru kodu yazmaya mecbur bırakacak şekilde olmalıydı deniyor. İşlev tanımı örneğin şöyle olabilirdi: BOOL getchar(char*); Böylece kendiliğinden if( getchar(ch) ) { gibi bir kod yazma ihtimalimiz artardı. En azından hata durumunda ch FF değeri almazdı. Ama bu sefer hafıza tüketimi artıyordu. O günler, programın exe sinin 640 K dan daha küçük boyutta olması gerektiği günlerdi. Sırf bunu sağlamak için Turbo C de derleyici seçeneklerinde memory model seçimi vardı. pointer larda far keyword ü vardı ki eğer long jmp gerekmiyorsa derleyici sadece jmp kullanabilsin. Sonradan extended memory ile bilgisayarların hafızası 1 MB a çıktı ama o 640 K sonrasını kullanabilmek için kırk takla atmak gerekiyordu (A20 gate).

Oysa günümüzde, makineyle muhatap değiliz. Çalıştığımız platformdan bir haberiz. İşletim sisteminin bir işlevini çağırıyoruz ve bize gigabytle lar mertebesinde bellek ayırıyor. Değişen teknolojiyle önceliklerimiz de değişti. Geliştirme ortamlarının yenilikleri çok farklı konularda. Mesela bugün c# da değer atanmamış yerel değişkeni kullanmak derleyici uyarısı yerine derleyici hatasına neden oluyor (XE ye de eklenmeliydi). Ve biliyorsunuz ki C# .net ile birlikte garbage-collection ı çıkardı. İşte günümüzde bu tür bir bakışa konsantre olunmuş durumda. Şimdi hem bunları yapabilmek için hem de inanılmaz hızlı sürelerde kod derleyebilmek için, exe boyutuna takılmamak lazım. Kaldı ki exe boyutu ne olursa olsun programın çalışma hızına(yüklenme değil) olumsuz etkisi yok (Derleyiciler döngüleri başarıyla optomize ediyor ve sık kullanılan kütüphane işlevleri assembler kodu olarak yazılıyor).

640 MB lık tek exe erp örneği gibi durumlarda programı küçültmeye çalışmaktansa dll bpl vb biçimde parçalara ayırmak mantıklı bir yol.
Ömür Ölmez
Cevapla