Konuyu Oyla:
  • Derecelendirme: 5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
UniGUI'ye Genel Bakış
#31
(06-12-2016, Saat: 14:04)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Şimdi onu denedim,

project buildde hata veriyor.
Mesajlarda başarılı diyor ama,

pX9D3a.png

Hata yok. (Error=0) Kurulum başarılı. 5 Dikkat etmeniz gereken husus ve 2 adet uyarınız var.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#32
(06-12-2016, Saat: 13:17)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(06-12-2016, Saat: 12:57)kimimben Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.?

?

WgEPXq.png

bu hatayı alıyorum install ederken
UniGUI'nin kurulamamasına verilmiş bir paylaşım, cevap değildi.
Konuyla alakalı olabilecek nitelikte gördüğüm için paylaştım.
One of the major software engineering challanges is managing change.
Cevapla
#33
Son durumda hata alıyor musunuz?
Cevapla
#34
(06-12-2016, Saat: 23:36)pro_imaj Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Son durumda hata alıyor musunuz?

Evdeki bilgisayarımda sorunsuz kurabildim.

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#35
(01-09-2016, Saat: 10:35)vkamadan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba değerli üyeler,
Bu yazıda UniGUI hakkında fikir oluşturacak bir nebze tanıtacak temel bilgiler vermeye çalışacağım.

UniGUI, Delphi kullanıcılarının alıştığı hızlı uygulama geliştirme yapılarını temel olarak geliştiricilerin masaüstü programlama beceri ve deneyimleri haricinde neredeyse hiç ek bilgiye ihtiyaçları olmadan çok çok hızlı bir şekilde zengin web uygulamaları geliştirilmesine olanacak tanıyan (bence) oldukça başarılı bir üründür.
UniGUI ,  tamamen sıfırdan üretilen bir ürün olmayıp aşağıdaki diğer ürünlerinden istifade edilerek üretilmiştir.

ExtJS ve Sencha Touch
UniGUI, tarafından üretilen tüm tarayıcı çıktıları EXt JS JavaScript kitaplığını kullanır , Mobil  / Tablet için geliştirilecek uygulamalarda ise Sencha Touct JavaScript kitaplığını kullanır, her iki kitaplıkta tüm web uygulama geliştirme ortamlarınca kullanılabilen  genelde iş uygulamaları için daha uygun olan tüm görsel kontrolleri bünyesinde barındırır.

Indy 
UniGUI , mevcut Indy i temel alıp adına uIndy dedikleri bir çok modifikasyonu içeren yeni bir Indy sürümünü kullanır, nihayetinde TuidHTTPServer (TidCustomHTTPServer) başta olmak üzere bir çok network operasyonu için özelleştirilmiş Indy bileşenlerini kullanır.

SynEdit
UniGUI , veri bilinçli olan olmayan tüm editörlerini ve diğer görsel bileşenleri SynEdit bileşenlerini miras olarak üretmiştir.


PNGImage
UniGUI ile üreteceğiniz uygulamalarda sistemin tarayıcıya basacağı görselleri geliştiricinin belirtebileceği 2 formattan biriyle yapar (JPEG ya da PNG)   PNG seçildiğinde tüm imajlar sunucudan PNG  olarak çıkartılır bu noktada UniGUI PNGImage isimli bileşen setini kullanarak bunu yapar.

CSSParser
Kullanıcılar her bir UniGUI görsel bileşenine isterlerse özelleştirilmiş CSS ler yazabilir bu bileşen bu noktada devreye girer.


UniGUI de geliştirilen uygulamalar birer HTTP Web Server uygulamasıdır, ISAPI dışında tercih edilen türler kendi içlerinde otomatikman birer HTTP Server uygulaması da barındırır.

UniGUI ücretli bir üründür (Mobil bileşenleri dahil paketi 890 USD) , deneme sürümünü Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.  buradan indirerek işe başlayabilirsiniz.
Deneme sürümünün öğrenmeyi engelleyecek bir kısıtlaması olmamakla birlikte en önemli kısıtlamaları şöyledir ;
Aktif oturum sayısı 3 ile sınırlıdır ve Form etiketlerinin değiştirilememesidir.

Kurulum tam otomatiktir , bileşenleri ,  yeni proje menüsüne UniGUI proje seçeneklerini ve ExtJS  kitaplığını yükler.
Dağıtıcağınız uygulamalarla beraber uygun ExtJS kitaplığı sürümünü de mutlaka dağıtmanız gerekir.

Kurulum sorunsuzca tamamlandığında (Eğer önceden SynEdit , CSSParser ve PNGImage bileşenlerinden birini ya da tümünü bir şekilde kendiniz yüklediyseniz kaldırmanız gerekir ) ,
İlk UniGUI uygulamamızı oluşturmak için hazırız.

Bu örneği Delphi XE2 ile oluşturacağım diğer IDE sürümlerinde de hemen hemen aynı olduğunu düşünüyorum

File-->New-->Other menülerini izleyerek aşağıdaki ekrana ulaşalım, "uniGUI for Delphi" bölümünden "Application Wizard" ı seçelim, hızlı bir başlangıç için Application Wizard ı kullanmak yerinde olacaktır. Bu makalede değinmeyeceğim ancak zaten anlatacaklarımla tamamen uyumlu olduğu için bahsetmek istiyorum UniGUI ile Mobile cihazlarda daha uygun görünen web uygulamaları da geliştirebilirsiniz bunun için Sencha Touch kitaplığını kullanan projeler üretir, "Mobile Application Wizard" ile aynı şekilde yola çıkabilirsiniz. 

nEMDpg.png

mE6DyR.png
Hocam merhaba unigui mobil uygulama yapıyorum fakat yapamadığım bişey var tab menülerin renkleri mavi rengi değiştirip kırmızı yapmak istiyorum

Projemize bir isim verelim ve "Standalone server" ı seçerek yola devam edelim.

Proje tüleri ;
Standalone Server : Kendi HTTP Server ını içinde barındıran bir sistem tepsisi masaüstü uygulamasıdır, bu seçildiğinde projeniz EXE olarak derlenir ve çalıştırıldığında hiç ekranda görünmeden direk sistem tepsisinde bir simge olarak çalışır, genelde uygulamayı DEBUG etmek için tercih edilir.
Standalone Server / ISAPI Module : uygulama varsayılanda Standalone Server olarak olarak oluşturulur ancak proje dosyasında (DPR) tanımlı bir derleyici direktifini kaldırarak uygulamamızı ISAPI Module olarak derlememize olanak tanır bu benim tercih ettiğim proje türüdür uygulamayı olgunlaştırana kadar standalone server olarak derlerim kolayca DEBUG edebilirim iş bitince kolayca ISAPI DLL olarak derler yayınlarım.
ISAPI Module : Uygulama IIS üzerinde çalıştırılabilir bir ISAPI DLL olarak derlenir büyük ölçekli ve oturum adedi yüksek olacak uygulamalarınızı IIS de ISAPI olarak çalıştırmanız alternatifsiz en doğrusudur.
Windows Service Application : Uygulama içinde HTTP Server barındıran bir Windows servis i olarak derlenir, küçük ölçekli projeler için uygundur hizmetlerde sessiz sakin çalışarak yayın yapar.

Standalone Server ı seçip devam ettiğimizde projeimizin temelleri bizim için otomatikman oluşturulur. Bir UniGUI uygulamasının çalışabilmesi için temelde en az şu 3 ü oluşur ,

1 - ServerModule : Uygulamamızın temel sunucu davranışlarını ve tanımlarını yönetebileceğimiz / özelleştirebileceğimiz modüldür TUniGUIServerModule sınıfından türer bir projede bir tane yer alabilir. Kullanılan ExtJS sürümü , ExtJS kitaplığını bulunduğu konumu , eğer Standalone Server ya da Windows servis uygulaması oluşturuyor isek HTTP Server ımızın hangi TCP portundan yayın yapacağı gibi yapıları kontrol eder. neredeyse her uygulamamız da mutlaka değişiklik yaptığımız ServerModule özellikleri aşağıda ki gibidir ;

 - Favicon : uygulamamızın tarayıcı da görünen simgesi belirlenir (sadece *.ico ya müsade edilir)
 - LoadingMessage : uygulamanız ilk açılırken çalışabilmek için istemciye yüklüce miktarda  JS dosyası indirir bu esnada gösterilen mesajın içeriğini buradan değiştirirsiniz (Uygulama Hazırlanır lütfen Bekleyin.. gibi)
 - MainFormDisplayMode : Uygulamanın ana formunun çerçevesiz klasik bir web sayfası gibi mi yoksa bir pencere gibi mi gösterileceğini belirtir (mfWindow , mfPage)
 - Port : Eğer StandAloneServer = True ise anlam ifade eder HTTP Server ın yayın yapacağı TCP Port numarası buradan belirtilir varsayılanda 8077 dir.
 - Title : Uygulamamızın adını belirten tarayıcı penceresinin caption ı dır.

Tabi ki bir çok önemli özelliği buradan değiştirebilirsiniz özellikle aşağıda vurguladıklarımı incelemenizi öneririm.

dX3rvn.png

2 - MainModule : Uygulamamızın teması , ana ekran arka plan resmi ve bazı tarayıcı davranış ayarlarını bu modülden yaparız ayrıca en önemli diğer görevi bir nevi datamodul gibi uygulama genelinde erişmek istediğimiz görsel olmayan bileşenlerini bunun üzerine koyarız (veri tabanı bağlantı nesneleri vb..) her hangi bir formda "UniMainModule"  fonksiyonuyla bu modüle ulaşabiliriz.

3- Main : Uygulamamızın ana sayfasıdır esasen sonradan ekleyeceğimiz formlardan hiç bir farkı yoktur buda TUniForm sınıfından türer, ancak uygulamamızın mutlaka bir ana sayfası olması zorunluluğundan dolayı projeye otomatikman dahil edilir.

Projemizde görsel öğeler olarak sadece UniGUI bileşenlerini kullanabiliriz, delphinin standart VCL kontrollerinin hemen hemen tamamının benzerlerini burada bulabilirsiniz.
rE9BoV.png

Ayrıca projenizde görsel olmayan diğer tüm bileşenleri kullanabilirsiniz (örneğin Fast Report ile tasarladığınız raporu sunucu tarafında Ekrana göstermeden Prepare eder, PDF Export bilşeni ile PDF e çevirir ve UniGUI uygulamanıza Dosya olarak geri basabilirsiniz böylece raporlama da görsel sınırlarınız ortadan kalkar)

Uygulamamız UniGUI  projesi ise UniGUI bileşenlerini, UniGUI Mobile projesi ise UniGUI Mobile bileşenlerini kullanmalısınız.

Evet projemize devam edelim, uygulama ana sayfası formu üzerine (MainForm) UniGUI Standart bileşen sekmesinde yer alan TUniButton , TUniEdit bielşenlerini ekliyorum.
nErPY0.png

UniButton1 in OnClick olayına UniEdit1 in Text ini değiştirecek kodu yazıyorum

OEM2dD.png

Projemi derliyorum , sistem tepsisinde çalışmaya başlıyor..
zn4R2j.png

ServerModule den bahsederken HTTP Server ın yayın yapacağı varsayılan portun 8077 olduğunu belirtmiştik şimdi tarayıcımızdan http://localhost:8077 diyerek projemize ulaşıyoruz.

J32LXJ.png

Evet..! tıpkı masaüstü uygulaması tasarlar gibi tasarladık kodlarımızı yazdık ve aynı görüntüye tarayıcıdan ulaştık ne kadar kolay değil mi? 
mevzu bahis bir web uygulaması olduğu için şöyle genel bir bilgi vereyim PAS dosyamız içine yazdığınız her türlü kod sunucu tarafında çalışacaktır yani UniButton1 nesnemizin OnClick olayı için tarayıcı sunucu tarafına bir AJAX çağrısı gönderecek uygulamamız bunu sunucuda çalıştıracak ve sonucu ilgili AJAX çağrısının dönüşüne eklenerek tarayıcıdaki ilgili değişiklik yansıtılacaktır. bir diğer durumda tüm UniGUI görsel bileşenlerinin "ClintEvents" özelliği mevcuttur sunucuya gelinmesine gerek olmayan işlemlerimizi performans arttırımı için istemci tarafında JavaScript kodları ile yapmamıza olacak tanır biraz önce sunucu tarafında yaptığımız işi ClientEvents yardımıyla istemci tarafında basitçe yapabilirdik.

MkJYL9.png

ClientEvents.ExtEvents ı kullanıyoruz buraya yazılacak JavaScript kodları saf JS içerebileceği gibi esasen ExtJS framework ünün kullanım standartlarını barındırır, uniGuı uygulamamız projeye eklediğimiz tüm bileşenleri onlara verdiğimiz isimlerle birer ExtJS Objesi halinde javascript içinden erişilebilir hale getirir, Client Event yazarken obje referanslarında "FormAdı.ObjeAdı." şeklinde yol izlenmelidir. kullanabileceğiniz JS fonksiyon ve nesne metodları için ExtJS in Online Yardımına bakabilirsiniz. evet bu sayede kullanıcı butona tıkladığında hiç sunucuya gidilmeden doğrudan tarayıcıda UniEdit1 in içeriği değişmiş olacaktır.

Şimdi bir veritabanı bağlantısı sağlayıp kayıtları bir gridde gösterelim.

MainModule e tüm uygulama genelinde erişebileceğimiz veritabanı bağlantı nesnemizi ekliyorum (ben MyDAC ile MySQL üzerinde yapacağım) ve bildiiniz şekilde bağlantı ayarlarını yapıp hazır hale getiriyorum.

rE9L61.png

Ana formuma bir TUniDBGrid ve bildiğimiz TDataSource , ve uygun dataset i ( MyDAC kullandığım içinde bir TMyQuery) ekleyip bağlantıları yapıyorum (her şey VCL deki TDBGrid gibi)

rE9LJz.png




Uygulamamı derliyorum ve tarayıcıdan erişiyorum.

3Ao8EO.png

İşte bu kadar kolay.. anlatacak çok şey var sorular geldikçe devam edelim..
Sağlıcakla kalın.
Cevapla
#36
Bütün bir konuyu alıntı yaparak cevap vermek yerine, sadece alıntı yapmak istediğimiz kısmı mesajımıza eklesek daha iyi olmaz mı ? Okunurluğu artırmak adına daha iyi olacağı kanaatindeyim.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#37
GERCEKTEN TAM BIR BELA...AyNI SORUNLA 2 ,3 gün fırsat buldukça uğraştım BAŞARILI OLAMADIM.
Saçma sapan hatalar verip duruyor. Birazda acemilik var ki zaten işi bilen bu işe başlamaz tabiki bir acemi bu işe bir başlangıç yapacak. Buna benzer sorunlarda WisualStudiodan kaçtım.

Sonra araştırıp dururken Delphi ile gelen INTRAWEB in çok daha iyi ve hatta DotNet den daha iyi olduğunu öğrendim.
Allah belasını versin UniGui nin ne boşa uğraşmışım beeee dedim başladım IntraWebi öğrenmeye...

Arkadaşlar boşuna UniGui ile uğraşmayın hazır paketin içinde zaten İntraWeb varmış...Bana bir allahın kulu abi ne uğraşıyorsun
İntraWeb varken demedi ben söylim bari...

İtirazı olan varsa da şimdiden beni uıyarsın lütfen....
Cevapla
#38
@Mert_37 , Elimden geldiğince naçizane fikirlerimi yazayım ;

Şimdi, zaten bilindiği üzere Delphi ile Web uygulamaları geliştirebilmek için elimizde fazla alternatif yok. 3-4 tane firma olmasına rağmen, geliştirilmesi sürdürülen ve sürekli güncellenen sadece 2 tane bileşen paketi var : IntraWEB ve UNIGUI.

Her ikisini de kullanmış ve uygulama geliştirmiş birisi olarak, şunu çok rahat söyleyebilirim : ikisinin de kendisine göre iyi olduğu yerler var. Belki senin şanssızlığın kurulum sırasında yaşadığın zorluklar veya sonrasında kaynak eksikliğinden dolayı hataların üstesinden gelememek olabilir. Doğrudan doğruya "Kullanmayın" demek biraz haksızlık olur kanaatindeyim.

Bununla ilgili yazmış olduğum bir konuyu ve yorumlarımı şuradan okuyabilirsin :
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#39
(02-05-2017, Saat: 17:49)Mert_37 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.GERCEKTEN TAM BIR BELA...AyNI SORUNLA 2 ,3 gün fırsat buldukça uğraştım BAŞARILI OLAMADIM. 

İtirazı olan varsa da şimdiden beni uıyarsın lütfen....

İlk kurulumda bende zorlanmıştım ama sorun bilgisayarımda çıktı sanırım kurulu olan herhangi bir componet ile çakışıyordu. daha sonra evdeki bilgisayarıma problemsiz kurdum.
Ama bunun kurulumunda çok kişi sıkıntı yaşıyor yakın zamanda kardeşimin bilgisayarına kurmayı düşünüyorum ekran videosu çekerek. umarım senin benim gibi ilk kurulumda yaşanan sıkıntılara ışık olacak bir video olur.

Kullanım amacına bağlı olarak değişir ne kullanacağınız, ama tabi bir .net olmasını beklemeyiniz siz daha burada bu kadar itiraz ettiniz unigui mobili görseniz ne yapardınız acaba Smile

Örneğin Bir label'ın font özelliklerini değiştirirken bile böyle taklalar gerekiyor..
var
  i: Integer;
begin
 for i := 0 to ComponentCount - 1 do
   if Components[i] is TUnimLabel then
   begin
     if (i=1) then
     begin
      UniSession.AddJS(' document.getElementById(MainmForm.'+ TUnimLabel(Components[i]).Name+'.getId( )).style.fontSize = "25px";');
      UniSession.AddJS(' document.getElementById(MainmForm.'+ TUnimLabel(Components[i]).Name+'.getId( )).style.fontWeight = "bold";');
     end else begin
      UniSession.AddJS(' document.getElementById(MainmForm.'+ TUnimLabel(Components[i]).Name+'.getId( )).style.color = "#BA55D3";');
      UniSession.AddJS(' document.getElementById(MainmForm.'+ TUnimLabel(Components[i]).Name+'.getId( )).style.fontSize = "20px";');
     end;
    if Components[i] is TUnimEdit then
      begin
      UniSession.AddJS(' document.getElementById(MainmForm.'+ TUnimEdit(Components[i]).Name+'.getId( )).style.color = "#BA55D3";');
      UniSession.AddJS(' document.getElementById(MainmForm.'+ TUnimEdit(Components[i]).Name+'.getId( )).style.fontSize = "20px";');
      end;
   end;
end;
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#40
Ben bir kaç projeyi unigui de gelistirdim(kucuk projeler). Gayet basarili . Kurulumda genellikle sorun yasamadim. Yasadığım zamanda forumdan destek aldım ve kolaylikla çözüldü.
intraweb yillardir delphi icinde zaten var. vakti zamanında intraweb ile uygulama gelistireyim dedim. Ama kaynak eksikliginden cesaret edemedim.(en azindan ben çok fazla kaynak bulamamıştım. Şimdi ne durumda bilmiyorum)
unigui kurup ,kullanıp şu şu eksiklikleri var. Bir projeye baslarsaniz şu sebepten projeniz yarım kalabilir seklinde yazsaydınız daha anlamlı olabilirdi.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  UniGui stress testi ve anlık bağlantı performansı dervis 13 951 20-07-2019, Saat: 02:17
Son Yorum: bajerli
  Unigui Yeni Bileşenler pro_imaj 5 584 14-06-2019, Saat: 21:34
Son Yorum: Halil Han Badem
  Unigui ile online satış ermanispir@gmail.com 6 787 14-06-2019, Saat: 17:30
Son Yorum: Halil Han Badem
  Unigui runtime font sorunu ermanispir@gmail.com 4 461 10-06-2019, Saat: 19:47
Son Yorum: ermanispir@gmail.com
  UniGUI UniTreeView Item (Node) Aralığı Nasıl Ayarlanır? Fesih ARSLAN 3 411 10-06-2019, Saat: 12:18
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi