Konu: VFP'dan sonra
( Mesaj uzun isterseniz dogrudan son paragraflara bakin)
MS un aciklamasindan sonra bir baska dile gecmek neredeyse kacinilmaz oldu. Ben kendi adima C# secmistim. C# veya VB.Net oncelikli gorunuyor, dabo, python ... alternatifler.
C# ogrenenler en azindan VB.Net'i okumayi da ogrenmis oluyor. VB.Net'in yadsinamaz avantajlari da var (C# daha cok mimari ve nereye isterse oraya mudahale edecekler icin, VB ise cok fazla detay bilmeden hizla uygulama gelistirmek icin daha uygun destegi aliyor MSdan).
Guzel haber henuz yayinlanmamis (beta ve CTP seviyesinde) LINQ bizim alisik oldugumuz select-sql'e benziyor ve onunla yapamadigimiz bircok seyi de yapiyor. Dilin parcasi olarak isi sadece datayi degil her turlu nesneyi sorgulamak (ve .Net de hersey nesne). Uzun lafin kisasi .Net basta korkutucu gelse de cok carpici yanlari var.
VFP'de bizim en cok sevdigimiz, dataenvironmentdan tut cek harketleriyle alanlari/gridi vs yaratmak. Ondan sonra form icinde bircok kodla uygulamanin ne yapmasi gerektigini belirliyoruz. Aslinda bu VFP'de bile yapmamamiz gereken birsey (dogrudan forma bagimli data ile ilgili kod). Gene de inkar etmenin anlami yok, kolay geldiginden hepimiz yaptik bunu.
Bu noktada, .Net'e gececek olanlar icin harika buldugum (ve daha once yuzeysel bahsettigim) bir framework var. www.ideablade.com'dan indirebileceginiz Devforce. Devforce neden harika. Tum detaylarini anlatmaya ne benim vaktim yeter ne de siz okumaya vakit ayirabilirsiniz simdilik. Cok kaba ve kisaca anlatmak gerekirse, bir kez yazdiginiz program tek kullanicilidan dunya uzerinde bircok makineye yayilmis cok kulanicili bir sisteme kadar cok genis bir yelpazeyi destekliyor.
VFP windows formlari olusturuyor ve zengin, hizla cevap veren bir ara yuzu var. Diger taraftan web uygulamalari yazmak istiyoruz cunku web'in tek bir noktadan tum web'te calisan, kullaniciya install edilmesi gerekmeyen uygulamalar icin harika destegi var. Guvenlik sourlarini hallediyor, web servislerini kullanabiliyoruz vs vs. Web thin client olarak biliniyor, windows uygulamalari ise fat client. Ikisinin guclu yanlarini birlestiren ve yeni sayilan "smart client" var. En basit sekliyle bakilinca 'smart client' web uzerinde calisan bir VFP formu gibi dusunulebilir. Ancak boyle birseyi yazmanin zorlugunu bir dusunun. Hesaba katilmasi gereken dataya nasil ulasilacagi, almak/saklamak, datanin guvenirligini denetlemek, datanin guvenligini saglamak, yetkisiz erisimleri engellemek, alan seviyesinde bile kullaniciya gore okuma/yazma/gorme yetkilerini duzenlemek vs vs. Diyelim ki bu kismini basardik, web de data girerken (mesela bir combodan ulkeyi sectiginizde) bir baska combonun (sehirler gibi) o ulkenin sehirleriyle dolmasi icin web serverin yeniden sayfayi duzenleyip geri gondermesini beklemek hepimizin tecrube ettigi seyler (submit tusunda beklemeler gibi). VFP formlarinda alisik degiliz boyle seylere ve data yakinimizda gercekte. Neyse web uygulamasi yazan arkadaslar bu 'round tripler'in derdini biliyor zaten (bu forumda bile yasiyoruz yeteri kadar). Smart client ise bir karmasim gibi. Windows/web guclu yanlari birlestiriliyor. Webdeki gibi dataya gereginden fazla 'tekrar gitme', ara yuzu yenileme gibi dertler kalkiyor (Ajax ve Atlas yardimci olsa da bu sorunu cozemedi daha webde).
Uzatmayalim, bu noktada Devforce devreye giriyor. Onun yaptigi ihtiyaciniz olan altyapiyi sunmak size (.Net sunmuyor mu diyebilirsiniz, sunuyor da hammadde halinde 7000 civarinda namespace dedigimiz yerlere dagilmis 30000den fazla class halinde). Siz ise VFPde yaptginiz isler gibi hatta daha da basit olarak, uygulamanizin dizayni, kurallari ile ilgileniyorsunuz.
Bu arada Devforce suslu puslu arayuz olusturma isine karismiyor. Normal .Net kontrollerini kullaniyor (veya elinizde varsa meshur 2 adet arayuz frameworku, Devexpress ve Infragistics).
Yaptginiz sey yalnizca smart client olmuyor tabii. Isterseniz web uygulamasi yapin, ister windows formu ister web servis yayincisi ya da kullanicisi.
Yaziyla herseyi anlatmak da cok zor ya. Zaten aslinda bu detaylari anlatmak icin baslamamistim bu mesaja:)
.Net ile calisacaklar ve Devforce kullanmayi da dusunenlere (express versiyonu ucretsiz indirebilirsiniz, .Net'in kendi express versiyonlari da ucretsiz. Yani .Net ve Devforce icin baslangicta ucret odemeniz gerekmiyor. Ancak bir noktadan sonra o is sizin icin profesyonel olarak gerekli ise tabii ki odeyip profesyonel/enterprise versiyonlara gecmeniz gerekli. O seviyede zaten onlara odediginizin cok cok uzerinde kazaniyor olursunuz):
Bu hafta sonu sadece data hazirken (ornek data hazir, Ideablade'den - ornek dolu data yapmanin zorlugu vakit kaybi malum ondan o hazir, zaten VFPcilerin de en asina oldugu sey), Devforce install edilmis bir sistemde, sifirdan Visual Studio ve Devforce kullanarak cok da ilginc bulunabilecek bir formun DEMOsunu yapmayi dusunuyorum. Birkac kisinin halihazirda o demolar hakkinda fikri oldugunu ve kullandigini da biliyorum. Katilip bana yardimci olurlarsa sevinirim:)
Demolar aslinda ideablade sitesinde buyuk olcude var. Ben VFP'den birinin VFP camiasina daha iyi anlatabilecegi ve onemli olan noktalari gosterebilecegini dusundugumden yapacagim. Bir resim bircok seyi anlatir hesabi:) Tum anlattiklarim ve gorecekleriniz aysbergin ucu, kisaca Devforce + .Net yeni hedefim oldu benim. En onemlisi, dunyanin en buyuk firmalarina bile uygulama yazabileceginiz bir ortamdan bahsediyoruz burada (ya da en basit uygulamadan). O meshur scalability/reliability ... laflari olan sistemlerden.
Katilanlar birsey kaybetmez, katilmayanlar ne kaybettiklerini asla bilmeyecek:)
KATILMAK ISTEYEN VARSA lutfen hafta sonundaki uygun zaman dilimini belirtsinler. Ona gore herkese uyan bir veya birkac toplanti seklinde ben de vaktimi ayiracagim.
NOT: Devforce sadece C# icin degil. C# ve VB.Net kodu uretiyor. .Netin yapisi geregi o kod tum .Net dilleri tarafindan da kullanilabiliyor.