Arşiv Anasayfa IntraWeb ile Web Uygulamaları
Sayfalar: 1
Intraweb FrameWork (Giriş) Gönderen: kocaturk Tarih: 19 May 2007 03:08:59


GİRİŞ

Aslında intraweb bana göre çok harika bir delphi uygulama geliştirme çatısı kullanımı bir iki ayrıntı dışında çok kolay ve tamamen standart delphi görsel bileşenlerine benzeyen yeterince sayıya sahip kendine has bileşenleri kullanarak WYSIWYG (What You See Is What You Get) web uygulamaları geliştirmek mümkün.
En güzel tarafı tamamen native delphi dili ile web arayüzlü uygulama geliştirmeyi sağlaması bileşenleri  forma(IWForm) yerleştiriyorsunuz ilgili kodları native delphi dili ile yazıyorsunuz ve sonuç mükemmel, Internet Explorer dan web uygulamasının arayüzüne ulaşıp yazdığınız kodların gücü ile doğru orantılı sonuçları elde ediyorsunuz.
Intraweb framework ün bir güzel tarafıda uygulamalarınızda HTML template ler kullanabilmeniz, bunu biraz açarsak eğer durumu şöyle özetleyebiliriz; normal de IWForm üzerine template kullanmadan yerleştirdiğiniz bileşenler  uygulama çalıştırılınca DesignTime form üzerinde ki konumlarına göre Tarayıcı sayfasında gözükeceklerdir. Ama HTML template ler kullanırsanız bileşenleri istediğiniz düzende gösterme şansınız var ayıca Intraweb  Framework ile stylesheets ler Javascript kodları kullanmanızda mümkün oluyor. Bu konuların ayrıntılarına dilimizin döndüğünce ilerleyen bölümlerde değinmeye çalışacağız.
Inraweb uygulamaları iki farklı mod da çalışırlar.
•   Uygulama modu(Application mode)
•   Sayfa modu(Page Mode)
Uygulama modunda normal  bir delphi uygulaması nasıl tasarlanırsa IW uygulaması da aynı şekilde tasarlanır sonuç olarak proje derlendiğinde ortaya çalıştırılabilir bir dosya çıkar bu dosya bizim web uygulamamızın sunucusu olacaktır. Temel sunucu uygulamanın D2006 da derlenmiş hali aşağıdaki gibidir.

Sunucu uygulama arayüzünde ve menülerinde anlaşılmayacak pek bir şey olmadığından ayrıntıya girmeye gerek duymuyorum kullanınca zaten neyin ne işe yarayacağını hemen anlayacaksınız.
Intraweb sayfa modu (page mode) geniş kapasiteli web sitelerinde interaktif sayfalar oluşturmak için idealdir, fakat sayfa modu tüm site görevleri için uygun değildir. Bazı durumlarda sayfa modu ASP,PHP gibi dillerle tümleştirilerek te kullanılabilir.
Sayfa modu ile interaktif raporlar,giriş formları grafikler vs oluşturulabilir. Sayfa modu aslında çok esnek bir kullanıma sahip olmasına rağmen uygulama modunun tersine programcının çok daha fazla uğraşmasına neden olur yani programcının işini zorlaştırır.
Sayfa modu webbroker ve websnap ile tam entegrasyon sağlar, eğer webbroker veya websnap uygulamaları geliştiriyorsanız sayfa modu tam size göre yeterki kullanmasını bilin ileride bununla ilgili de örnek vermeye çalışacağız ama örneklerimiz genelde uygulama modu ile ilgili olacak.
Intraweb bileşenlerinin (TIWButton,TIWLabel, vs) anlatımına gerek yok diye düşünüyorum bir iki fark dışında tümü normal VCL ler gibi kullanılmaktadır.
Yukaridaki şekil-1 de F9 a basarsak veya Explorer simgesine tıklarsak sunucu uygulama hemen Explorer penceresini açacak ve tasarım zamanı web uygulamamızın ana formu olarak atatığımız formu bize tarayıcı penceresinde gösterecektir.
Aşağıda adım adım basit bir IW uygulaması hazırlıyacağız ve bu işin zor olmadığını hep beraber göreceğiz
Önce delphi IDE sinde menüden New i seçiyoruz ve karşımıza New Items penceresi geliyor

Bu pencerede soldaki TreeView den IntraWeb ve sağ listeden de IntraWeb Appplication Wizard ı seçip OK buton ına tıklıyoruz. Bu işlemin ardından delphi bize IntraWeb Application Wizard penceresini açıyor.



Bu pencerede hiçbir değişiklik yapmadan (isterseniz proje dizinini değiştirin) OK buton ına tıklıyoruz ve Delphi sağolsun bize projenin temelini oluşturuyor. Proje de proje kodu hariç 3 dosya daha otomatik olarak oluşuyor bunlar
1.   ServerController.pas
2.   Unit1.pas
3.   UserSessionUnit.pas
IW uygulamasında bir seferde yalnız bir formu gösterebilirsiniz ve Modal formlar gösteremezsiniz bunu unutmamakta fayda var bence.
Şimdi unit1 i tasarım moduna alıyoruz ve IWForm un TForm dan görünüm olarak bir farkı olmadığını görüyoruz.



Şimdi IW Form üzerine Component Paletten bir IWButton ve birde IWLAbel ekliyoruz  Label ın FontSize ını 20 yapalım ve Style ini de Bold yapıp aşağıdaki gibi bir form oluşturalım



Daha sonra buton ı çift tıklayarak OnClick olay işleyicisinde aşağıdaki kodu yazalım


procedure TIWForm2.IWButton1Click(Sender: TObject);
begin
IWLabel1.Caption := 'Delphi Dünyası Paylaşımın Adresi';
end;


ve  programımızı F9 ile çalıştıralım, program çalışınca Şekil-1 deki gibi bir sunucu uygulaması başlayacaktır. Sunucu uygulama üzerinde de F9 a basarsak veya Browser simgesine(dünya) tıklarsak sunucu uygulama anaforumuzu browser ekranın da açacaktır.




Burada dikkat ederseniz formumuzun tasarım anındaki görüntünün aynısı  tarayıcı penceresinde gösterildi ve biz herhangi bir HTML kodu falan da yazmadık. Bu pencerede dikkatimizi hemen çeken şey tarayıcının başlığında ve adres bölümündeki adres
 
http://127.0.0.1:8888/EXEC/0/0w2fyhd016yyji1avzhru08vg46c

bu adresi biraz incelersek eğer slash larla ayrılmış her bir kısmın bir anlamı var

127.0.0.1”        bizim yerel makinemizin IP si (LocalHost)
8888”               sunucuya ulaşacağımız Port (ServerController unitinden değiştirilebilir)
EXEC “              IW uygulamasının çalıştırma komutu (ServerController unitinden değiştirilebilir)
0”                     Çalıştırma sayısı (daha çalıştırmadığımız için sıfır IWButton a tıkladıkça artacaktır)
0w2fyhd016yyji1avzhru08vg46c”  Web uygulama kimlik bilgisi( bu bilgiyi bir değişkene alabiliriz)

Şimdi  IWButton1 ‘e tarayıcı penceresinde tıkladığımızda bu buton ın OnClick olayında tanımladığımız kod sunucu uygulamada çalışacak ve dönen HTML sayfa tarayıcı penceresinde gösterilecek tir.




Bu işlemden sonra  Adres Satırındaki bilgi

http://127.0.0.1:8888/EXEC/1/0w2fyhd016yyji1avzhru08vg46c

olarak değişecektir dikkat ederseniz çalışma sayısı bir artırıldı.
Buraya kadar temel olarak basit bir  Intraweb uygulaması nasıl oluşturulur anlatmaya çalıştık gelecek bölümlerde ServerControl ,sayfalar arası veri aktarımı temel bazı özellikler ve olaylar, JavaScript kullanımı, HML Template ler,Veri bağlantıları ve daha bir çok konuda  daha fazla ayrıntıya girmeye çalışacağız.


Ynt: Intraweb FrameWork (Giriş) Gönderen: olsunartik Tarih: 19 May 2007 13:28:02
Ellerine saglik. birde database baglanti islemleri konusuna deginebilirsen sevinirim.
Ynt: Intraweb FrameWork (Giriş) Gönderen: babahayati Tarih: 26 June 2007 11:02:03
Oktay Abi yine harikasın, gerçi geç kalmışız makale eski ama bu konu yeni aklımıza düştü, bizde yeni gördük.
Bu IW örneklerin; IDE si açılana kadar bakkala gidip ekmek alıp geldiğim Delphi 2005 içinde geçerli midir acaba ?
Ynt: Intraweb FrameWork (Giriş) Gönderen: kocaturk Tarih: 26 June 2007 16:45:10
SmileSmile tabiki kullanabilrisin verdiğim örnekleri ben Delphi 2006 ile yapıyorum ama delphi 7 den bu yana olan IDE lerde kullanabilrisin D2006 da IntraWeb in 8 sürümü var 2005 te 7.2 galiba kısaca şunu söyleyeyim Intraweb 5.1 sürümünden yukarı olan tüm sürümlerde hiç bir kod değişikliği yapmadan uygulayabilirsin
Ynt: Intraweb FrameWork (Giriş) Gönderen: ahmetkılıç Tarih: 06 July 2007 14:36:55
sevgili kardeşim öncelikle eline sağlık, tebrik ediyorum. makalelerini okudum verdiğin bilgiler doğrultusunda kendi çapımda bişeyler yapmayı düşünüyorum. yaptığım projeyi yayınlamak için ne gibi işlemler yapmalıyım teşekkürler
Ynt: Intraweb FrameWork (Giriş) Gönderen: kocaturk Tarih: 06 July 2007 18:06:45
sevgili kardeşim öncelikle eline sağlık, tebrik ediyorum. makalelerini okudum verdiğin bilgiler doğrultusunda kendi çapımda bişeyler yapmayı düşünüyorum. yaptığım projeyi yayınlamak için ne gibi işlemler yapmalıyım teşekkürler

Rica ederim, aslında kişsel sebeplerden ötürü birazcık gecikme oldu yoksa siz bu soruyu sormadan önce cevabını vermiş olacaktım, Müsaade ederseniz bu gün ve yarın makalelerin devamını ekleyip, sizinde sorduğunuz sorunun ayrıntılı cevabını vereceğim. Bu arada yaptığınız şeyleri de burada paylaşırsanız ayrıca memnun oluruz.
Ynt: Intraweb FrameWork (Giriş) Gönderen: ahmetkılıç Tarih: 06 July 2007 18:50:02
Öncelikle ilginizden dolayı teşekkür ederim. aslında delphi hakkında belli bir birikimim ama epeydir uzak duruyordum inşallah geri dönmeye allah fırsat verirse dönmeye çalışırım.yaptığım projeleri tabiki paşlaymak isterim. bilgi paylaşıldıkça çoğalır. saygılarımla