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 »

@omurolmez

- 1990'lara çok zevkli bir gidiş-geliş yaptık. Çok güzel bir zaman tüneli yolculuğu oldu. Keyifle okudum.

Teşekkürler. :bravo:
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 »

omurolmez yazdı: Oysa günümüzde, makineyle muhatap değiliz.
@omurolmez'in dediklerinin buyuk bir cogunluguna katilmakla beraber katilmadigim bir takim hususlar mevcuttur.

650 mb lik exeyi haric tutarak PC dunyasi icin bu soylenenlerin gecerli oldugunu soyleyebilirim. Guclenen donanimlar ve kod satir sayisi artan projelerden dolayi "daha hizli calisan kod nasil yazarim" dusuncesi yerini "bakimi ve anlasilmasi daha kolay olan kod nasil yazarim" dusuncesine birakti. Once kodu Data Access Layer , Business Layer , View Layer gibi katmanlara bolduler. Bu da yetmedi uygulamalari parcalayip servis haline getirerek onu da parcaladilar. Butun bunlar programin calisma hizini dusursede bakim ve anlasilabilirligi yukseltmeye yonelik cabalardi.

PC ortaminda boyutu cok onemsemiyorum. Delphi 1 ciktiginda da ayni konu gundemdeydi simdide gundemde olacak gelecektede olacaktir.
Delphi 1 ciktiginda "calc.exe 33 kb iken neden delphi ile yaptigimiz benzer uygulama 335 kb oluyor?" diye sikayet edenler vardi.

PC dunyasi icin olmasada mobil dunya icin 640K lik memorylere uygulama yazdigimiz donemlerdeyiz seklinde dusunebiliriz.
Mobil dunyada islemci ve ram miktari sinirli ve iyi uygulamalar icin bu imkanlari en iyi sekilde kullanmak gerekiyor.
Mutable stringler yerine immutable stringler kullanmak gerekiyor. Stringleri + isareti ile birlestirmek yerine StringBuilder kullanmak gerekiyor.
Ojective -c daha kolay okunabilirligi bir tarafa birakip daha performansli calisacagi sekilde pointerlari platformun bir parcasi yapmis adeta.
Bildigim kadariyla iOS 50 MB ' in uzerinde olan programlarin 3G uzerinden indirilmesine izin vermiyor. İlla indirecekseniz wi-fi baglanti istiyor. Cunku 50 MB dataya operatorun iyi ucret isteyecegini dusunuyor ve musterilerini bu durumdan korumak istiyor. Hal boyleyken mobil tarafinda Delphinin urettigi calisabilir dosya boyutu cok elestiriliyor. iOS ile yazilsa 1-2 mb olacak uygulama Delphi ile 13-14 mb oluyor. Icerisine biraz data biraz imaj koydugunuzda boyut 25-30 mb oluyor. Biraz daha kasarlarsa yaptigimiz uygulamalarin 3g uzerinden indirilmesine ios izin vermeyecek. Turbo pascal ilk ciktiginda 32kb lik hafizada hem compileri calistirmasi hem editoru calistirmasi ustune ustluk olusturdugu exenin hem kucuk hem de hizli olmasi nedeniyle un salmis olmasindan midir nedir simdiki mobil uygulamalari bu kadar sisirecek ne var merak etmiyor degilim. :)
"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 »

Merhaba.

Basit mantıkla bakalım. MS-Word ile bir sayfa tablo vs. yazdık. Bunu HTML export ettiğimizde (filtre etmediğimiz taktirde) her hücre her satır css'den geçiyor. Default değerlerde mi hiç sorgulamıyor bile. HTML dosya büyüklüğü inanılmaz boyutlara ulaşıyor. Sonra DreamWeaver MX'e sokup bunu temizle optimize et diyoruz, kuşa dönüyor ama ekran bozulmuyor.

(so) tipi linux binary dosyası tekrar decompile edilebiliyormuş. Bunu yaparak gerekli optimizasyonu yapan bir yazılım hazırlayan olursa Embarcadero sayesinde köşeyi dönecektir diye düşünüyorum.

Neden böyle dedim açıklayayım: dün akşam XE5 ile deneme yaptım.

Bir çıplak form üzerine bir button koydum, tıklayınca "Merhaba Dünya" (klasiktir ya :) ) mesajı ekrana çıkıyor.

Kod: Tümünü seç

APK dosyası boyu 5.890.716 byte(s) tuttu. 

Kod: Tümünü seç

Piyasadaki çok donanımlı bir yazılım olan iGO navigasyon programının 
APK'sının uzunluğu da 6.361.585 byte(s) 
Bunların paketlerini iki farklı klasöre açtım.

Kod: Tümünü seç

Benim projenin Klasör Boyu : 19.643.986 byte(s)

Kod: Tümünü seç

iGO'nunkinin Klasör Boyu : 14.412.059 byte(s)
içlerine baktım hangi dosyalar yer tutuyor. ( lib ) klasöründeki ( so ) uzantılı dosyalarmış.

Kod: Tümünü seç

Benim projenin lib klasörü
"libMerhabaDunya.so" = 18.023.384 byte(s)
++ ek olarak bir de "gdbserver" eklemiş = 268.812 byte(s) ama  release yaparsak gdbserver olmayacak sanırsam, çünkü uzaktan debug edebilmek için kullanılan bir altyapı dosyası imiş.

Kod: Tümünü seç

iGO lib klasörü
"libigo_jni.so" = 13.864.980 byte(s)
Sonuç : Kırık APK'lar nereden geliyor sorusunu sordum kendim, cevap olarak da Delphi ile yazılan APK'ları açan, içinde optimizasyonu yapıp geri paketleyen birileri çıkacaktır. diye değerlendiriyorum. O zaman biraz rahat ederiz.
:!: Ama Virüs koyarlar mı bilemeyiz. Güvenilir birisi olur dileklerimle. :alsana:
Resim
Resim ....Resim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

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

Mesaj gönderen mussimsek »

sadettinpolat yazdı:...
PC dunyasi icin olmasada mobil dunya icin 640K lik memorylere uygulama yazdigimiz donemlerdeyiz seklinde dusunebiliriz.
Mobil dunyada islemci ve ram miktari sinirli ve iyi uygulamalar icin bu imkanlari en iyi sekilde kullanmak gerekiyor.
...
Bu alanda da sektör çok hızlı ilerliyor. Geçen sene en baba modeller 512 MB ram taşırken, şu an 3 GB ramli modeller piyasada. Birkaç sene içinde bunun 8-16 GB olacağı açık.

Tabii ki boyutun 20 MB yerine 2 MB olması daha iyi ama delphi'de eskiden beri bu böyle. Yeni bir component eklediğiniz zaman .exe boyu 2 MB büyür ama daha sonrasında onlarca eklediğiniz zaman 10-15 KB büyür. Büyük ihtimal firemonkey'in kullandığı altyapıyı .exe'ye gömüp, üstüne formları vs. ekliyorlar.

Kolay gelsin.
Cevapla