XE2 Ile Gerceklesecek Evrime Hazir Misiniz?
// 24 Ağustos 2011 // Delphi
Delphi cross platforma destek verecegini soylediginde acikcasi bunu vcl ile yapacagini dusunmustum. mevcut vcl uygulamalarini az bir gayretle cross platforma uygun olacak hale getirip baska platformlar icin derlemek guzel olurdu ama biraz mantikli dusundugumde windowsla bu kadar icice olan bir kutuphanenin bu hale gelmesi pekte mumkun gozukmuyordu. Simdi cross platform icin firemonkey kutuphanesi olusturuldu vcl olmasada delphinin rtl gibi vcl harici kutuphaneleri de cross platformu destekler hale getirildi. Ilk basta pek icacici gibi gorunmesede uzun vadede delphi ile yazilim gelistiren programcilara gercek manada yazilim gelistirmeyi ogretecek bir zorunluluk meydana gelmesi benim acimdan cok sevindirici bir olay oldu.
Vcl nedeniyle yillardir delphiciler yazilimlarini bir yazilimin olmasi gerektigi sekilde gelistirmediler. business logic layer , data access layer ve user interface kavramlarindan bi haber bu uc katmani hep ic ice kullanarak yazilim gelistirdiler. Sql lerin kimi dfm dosyasinda kimi pas dosyasinin icerisinde bogulup kaldi. Veritabaninda yapilan bir degisiklikte etkilenen sql cumlelerini bulmak icin Advanced find replace tarzi araclar kullandim ve kullanan bircok delphici de kesinlikle olmustur. Bu da ortaya her defasinda ortaya arka planinda kodlarin corbaya donmus yazilimlarin cikmasina neden oldu. Delphiciler bundan dolayi nesneye yonelik programlamayi tam olarak ogrenmedi , poliformizmi tam olarak ogrenmedi , static metodlari , sanal metodlari tam olarak ogrenmedi. Kisaca yazilim gelistirmeyi tam olarak ogrenmedi.
Delphi XE2 ile birlikte cross platform yazilim gelistirmek isteyen delphiciler artik yazilimlarini gelistirirken User interfacelerin ayri kutuphanelerden olusacagini bildikleri icin (firemonkey ve vcl) yazilim dunyasinda business logic layer ve data access layer gibi kavramlarin oldugunu ogrenecekler ya da farkina varacaklar ya da farkindaysalar bile artik mecburen kullanmak zorunda kalacaklar. Kodlar daha duzenli ve oop kullanilarak yazilmaya baslanacak ya da baslanmak zorunda aksi takdirde delphinin bize sunmus olacagi cross platformun pek bir onemi kalmayacak. Bu sekilde ortaya cikacak ihtiyaclar neticesinde ucretli ya da acik kaynak kodlu bir cok arac ortaya cikacak. Delphi dunyasinda pek yaygin olmayan ORM araclari daha cok kullanilmaya baslanacak , User Interface ile Business logic arasinda iletisimi daha rahat kurmamizi saglayacak araclar piyasaya cikacak , katmanlarimiz ayri ayri oldugu icin XE3 te gelecek yeni platformlara yazilimimizi tasimak cocuk oyuncagi olacak.
Kisaca bana gore XE2 ile EMB cok onemli bir seyi gerceklestirmek uzere…
Delphiciler artik yaptiklari isin farkinda olacaklar.
Delphiciler artik gercek birer yazilimci olma yolunda dev bir adim atacaklar.
Sadettin Bey,
Bayram sonrası yeni bir makale varmı umudumu boşa çıkarmadığın için teşekkürler. İkinci teşekkür, delphi heyecanımızın devam etmesini sağladığın ve yeni bir umut verdiğin için gelsin.
Bu arada Başta Tuğrul Bey olmak üzere herkesin geçmiş bayramı mübarek olsun.
Delphicilerin durumunu harika anlatmışsın. Tebrik ederim. Çok güzel bir makale.
Delphi diliyle business, data access layer katmanlarını nasıl ilişkilendirdiğiniz tam anlayamadım. Delphi ile de bu katmanları oop mantığıyla ile bağımsız yapıda oluşturabileceğinizi düşünüyorum.
Komik olmayın. Delphiciler yaptıkları işin farkında olan ustalardır. Gerçek yazılımcı olmak ne demek siz biliyor musunuz?
RAD IDE kullanan programcıların %80′inin maalesef kullandıkları dile yeterince aşina olmadıklarını; yeterince derinlere inmediklerini düşünüyorum. Görsel programlamanın, çeşitli hazır kütüphanelerin işleri o kadar otomatize ettiğini ve kolaylaştırdığını, dolayısı ile pek çok kavrama aşina olmanın gereksiz göründüğünü düşünen programcıların mevcudiyetini sanırım özeleştiri yapan her arkadaşımız kabullenecektir. Sanırım Sadettin’de bu hususun altını çizmeye gayret etmiş.
Test Almak İsteyen Arkadaşlar için : FireMonkey HD uygulamaları geliştirmek için Snow Leopard 10.6 ve üstü sürüme ihtiyaç vardır. Aksi halde PAServer çalışmıyor ve
delphi Xe tarafında Connection Refused hatası alıyoruz.
@cemil , Object pascal ile sozu gecen katmanli yapilari olusturmak tabiki mumkun lakin VCL ‘ in getirmis oldugu kolayliklar nedeniyle bu tur yapilari kullanan delphici sayisi “bana gore” oldukca az. Simdi ise farkli platformlarda ortak kod kutuphanesi kullanmak isteyen delphiciler en azindan bu olayin farkina varacaklar ve bu yapilari kullanmak zorunda kalacaklar.
@SanalProgramci , Object Pascali hakkiyla kullanan , object pascal ile nesneye yonelik programlamanin en ince detaylarina inen , Design Patternlari kullanan , static metodlarin , dinamik metodlarin farkinda olan elbette bircok delphi programcisi mevcut ama bunun yaninda VCL ‘ in temelinde observer ve bunun gibi bir cok tasarim kalibinin uygulandigini , override ile overloadin farkinin ne oldugunu , protected , public , published , private kelimelerinin ne ise yaradigini bilmeyen de binlerce delphi programcisi mevcut. Benim dikkat cekmedigim husus budur.
dikkat cekmek istedigim husus budur olacakti
@Sedat YILDIRIM abi beni hatırladın mı Ankara’da XE2 seminerinde görüşmüştük.
Tabiki hatırlıyorum… Balıkesir’in mütevazi ve cana yakın programcısını unuturmuyum…Sevgi ve muhabbetle kal.Ayrıca beraber geldiğin ekip arkadaşlarına da selamlar…
Aleyküm Selam abi.İnşallah yine görüşürüz.
Herkeze Selamlar Abilerim En Az Sizler Kadar Heyecanlı Ve Sizin Kadar Meraklı Bir OKadar da candan gönülden yapıyorum . Umarım Delphi ve geleceğini kurtarabilirz.
Bir sonraki sürümünde, Delphi’yi bırakanların; yada Delphi yerine bir başka programlama dilini tercih edenlerin bu tercihlerinden ötürü bir nebze de olsa pişmanlık duyacaklarına inanıyor ve düşünüyorum. 32, 64 bit Windows, Linux, MacOS native derleme, Android vb. cihazlara destek azımsanacak şeyler değil kanımca.
Bir yazılımı, en azından sunucu ve veritabanı katmanını microsoft tekelinden kurtaracak her türlü yeniliğe balıklama atlarım. Terminal katmanı diğer katmanlara göre farklı işletim sistemleri için farklı kodlarla yazılabilir bence bir problem yok yeter ki sunucu katmanı veri dağıtabilirsin.
Bence bu zaman kadar nesne tabanlı programlamadan yada çok katmanlı mimariden kaçan çoğu programcıların nedeni, kullandıkları teknoloji ile ilgili yeterli türkçe kaynak bulamamalarıydı ama artık internetin her yere girmiş olması bu sorunu en azından forumlar düzeyinde çözdü. Yanlız hala kopyala yapıştır mantığı ile giden çoğu programcı – ki bunların bir bölümü zaman sıkıntısı nedeni ile bunu yapıyor – malesef ki “çok katmanlı mimarinin” yanına bile yaklaşamayacak. Onlar için yapacak bişey yok. Yanlız üzücü olan şu ki bu programcılardan bazıları (Bildiklerim) halen çok yüksek maaşa çalışıyor buda garip bir durum.
Biraz önce izlediğim XE2 videolarında resmen dudağım uçukladı Tuğrul abinin dediği gibi delphiyi terk edenler pişman olacak. Şuanki popüler ortamlara destek vermesi bir harika oldu. Yıllardır bırakmadık delphiyi ama bu versiyonda pek bir tatlandı
Konu ile ilgili Embarcadero’nun Türkiye Temsilcisi BTGrubu’ nun14.Mart 2012 tarihli bir eğitim duyurusunu sizlerle paylaşmak istiyorum:
“Delphi ile Tekrar Karşınızdayız! FireMonkey ve DataSnap Semineri (19 Mart İstanbul – 20 Mart Ankara) – Yılın en önemli bilişim etkinliği (eğitim bile diyebiliriz) olan ve sunumları Stephan Ball tarafından yapılacak FireMonkey ve DataSnap etkinliğimiz için yerinizi ayırtmayı unutmayın!
Kayıt linkini aşağıda veriyorum:
http://www.btgrubu.com/duyurular/MicroFocus2012/kayit.html
Eğitimde Görüşmek dileğiyle yolunuz ve
kodunuz açık olsun.
XE2′nin devrim niteliğinde bir ürün olduğuna inanmıyorum (her ne kadar inanmak istesem de).
Öncelikle FireMonkey, kesinlikle ticari bir uygulama geliştirilebilecek kadar stabil bir kütüphane değil, gelecekte de ne kadar stabil olacağı tartışılır.
FireMonkey ile yaptığımız, bir Image ve Caption içeren basit bir uygulama bile kan kusturmaya yetebiliyor.
Beklenildiği gibi Embarcadero, Microsoft’a karşı “cross-platform” kozunu kullanmak zorundaydı, kullandı da. Sonucun ise çok başarılı olduğunu düşünmemekle beraber, yine de “zaman herşeyi gösterir” diyorum.
öncelikle bu değerli makale için teşekkür ederim, az da olsa gözlerimin parıldadığını hissediyorum. Uzun yıllardır delphi kullanıyorum, ne kadar iyi veya kötü olduğum kişiden kişiye elbette değişir. ama sadettin bey’in bahsettiği gibi günümüzde gerçekten delphiyi verimli kullanan kişi sayısı çok az. OOP nedir, virtual, override, public, protect, publish, private, reintroduce, classlarla vb. ile çalışmak nedir halen en ufak fikri olmayan yazılımcılar mevcut. bu konuda sadettin bey’e sonuna kadar katılıyorum.
bir süre proje gereği C# kullanmak zorunda kaldım. C# ile proje geliştirirken bazı durumlarda delphiden daha pratik ve az yük verdiğini gördüm. aynı projeyi delphide yapmaya çalışsaydım enimim proje daha da uzayacaktı. ancak delphiden vazgeçmemi engelleyen tek şey delphi’de kod yazarken insanın kendini olaya daha hakim hissetmesi. örneğin C# kullanınca kendimi delphiye oranla detaya inemediğimi hissediyorum. bu dışarıdan bakılınca pek önemli görünmesede bu benim için çok önemli, en azından psikolojik olarak. bu yüzden delphi benim vazgeçilmezim. gerçi istesem de artık vazgeçemem,