UniGUI - Web Application Framework pro Delphi

vložil Radek Červinka 4. ledna 2012 22:40

Nestává se mi často aby mi poklesla čelist až na zem a zůstal jsem s prominutím čučet s otevřenou pusou - (naposledy když jsem pochopil jak je FireMonkey zamýšlena), ale tohle je snad i větší maso. Nikdy jsem nic podobného neviděl.

UniGUI je duální framework pro psaní normálních a webových aplikací, který jednoduše funguje. Prostě vytvoříte za pomocí komponent svoji aplikaci a pak stejná aplikace (tj. jeden exe) funguje jako webový server, který za pomocí AJAXu na bázi Ext JS vytvoří ve webovém prohlížeči prakticky stejnou aplikaci. Exe funguje jednak jako klasická aplikace, druhak jako HTTP server (díky Indy) obsluhující (nejen AJAX) požadavky.

Alternativně můžete stejnou aplikaci překompilovat jako ISAPI modul pro IIS.

Sakra kdybych si to sám nezkusil, tak tomu nebudu věřit. Mimochodem: Přidal jsem tag "super" kterým zpětně pak označím i další články, které považuji za významné.

Součástí instalace je megademo, které obsahuje i FishFact. Je dostupné i online - viz níže, kde je vždy vidět i PAS a DFM.

Design mode

Design mod v IDE

Windows verze

Windows verze

Web verze

Web verze - Online verze

Když už tam budete, tak nezapomeňte si vyzkoušet CanvasDemo.

Ale zpět. Pokud přeložíte aplikaci, všimněte si, že součástí je ServerModule.pas, kde mimochodem určujete port aplikace (8077, tj. localhost:8077), zda aplikace je čistě server (property StandAloneServer) nebo i Win32 GUI, AJAX věci atd.

Pokud se podíváte do DPR, uvidíte jak přeložit aplikaci jako ISAPI.

Nemá cenu o tom více psát. Podle mne je to taková bomba, že si to člověk musí vyzkoušet sám.


Nabízíme Delphi školení na různá témata, primárně ve Vaší firmě.

Tagy: , , ,

Komponenty

Komentáře

5.1.2012 6:04:31 #

Roman Svoboda

Vypadá to fakt dobře. Řekl bych, že tag "super" je na místě.

Roman Svoboda

5.1.2012 12:15:50 #

JaroB

Je to pěkné, ale nepřekonal jsem "Your browser does not have support for Canvas." A to mám IE9

JaroB

5.1.2012 13:15:45 #

Radekc

Hmm, teď jsem to zkoušel v IE9 pod Windows 7 64bit a OK, včetně Canvas demo.

Radekc

5.1.2012 13:26:17 #

JaroB

To bude korporátní politikou, jestli to pracuje na stejném principu jako YouTube.

JaroB

5.1.2012 14:06:22 #

Zdeněk Vašků

Fakt dobrý, kdyby to ještě postavili nad FireMonkey, pošlu asp.net do háje.

Zdeněk Vašků

5.1.2012 21:41:47 #

JaroB

Tak se tý hlášky nemohu zbavit, Windows Vista, XP, explorer 8, 9...
Funguje to pouze v Opeře
Proč?

JaroB

6.1.2012 13:13:15 #

bullhead

...jen pro info udělal jsem test na Windows 7 x64 ENG v prohlížečích:

Opera 11.60
IE 9.0.8112.16421 (obě verze x32 i x64)
Firefox 9.0.1
Safari 5.1.2(7532.52.7)

A všude jede. No to je opravdu dost dobrý nápad! Díky za tip...

B.

p.s. ...safra nešlo by to nějak z FM?:-)

bullhead

6.1.2012 13:18:17 #

Radekc

Chtělo by to vyzkoušet jak jsou na tom mobilní prohlížeče :-), snad to stihnu.

Taky bych to chtěl s FM...

Radekc

6.1.2012 13:33:22 #

bullhead

OPRAVA ..tak znovu a lépe (opravdu nejdou editovat příspěvky?:-)):

...mobilní, dobrý nápad, takže:

IPhone 4S, IOs 5.0.1:
- Defaultní Safari      JEDE

Archos 5, Android 1.6 :
- nějaký "browser" co tam      JEDE
...jen to vyrendruje "hoodně dolů" musí se odskrolovat

Archos 7, Android 2.2.1 (Firmware 2.4.81)
- nějaký "browser" co tam      JEDE
...jen zase vyrendruje před aplikaci ohromný kus volného místa

bullhead

6.1.2012 13:40:55 #

Radekc

Přihlas se do administrace, login jsem ti kdysi posilal a tam muzes smazat stary prispevek (uz jsem to udelal) a mel by tam jit i editovat - ale to bohužel nefunguje - budto je to moje chyba jak jsem ten RS silne priohybal nebo je to chyba puvodnich autoru.

Radekc

6.1.2012 13:44:18 #

bullhead

...díky vyzkouším - alepoň to mazání je supr pomoc.
B:

bullhead

6.1.2012 13:48:28 #

bullhead

...ještě jsem na Adroidu 2.2.1 vyzkošel nějaký "Dophin HD browser" (ať zkusím něco nestandartního) - i v něm to jede jen má dost škaredé (rozmazané) fonty  (jako by neměl antialias) - ale funkčně ok
B.

bullhead

6.1.2012 13:48:50 #

JaroB

Stáhnul jsem si aktuální verzi 88 a vyzkoušel jsem všechna dema jako VCL, fakt to vypadá sqěle! Skusím taky udělat deploy na můj lokální Inet.  
Co se týká tohohel "Your browser does not have support for Canvas.", tak to fakt netuším, co kde nastavit. Jen mě překvapilo, že to nejede i na jiných počítačích. Asi je něco blbě nastaveno na firewallu, fakt nevím.

JaroB

6.1.2012 14:13:16 #

bullhead

...88? ...zrovna instaluji poslední uniGUI Beta v0.87.0.907 ...kde se dá stáhnout 88?
díky za info
B.

bullhead

6.1.2012 14:26:24 #

bullhead

...v oficiálním downloadu 0.87:
http://www.unigui.com/downloads

...na nějaké jiné stránce 0.88:
http://www.unigui.com/component/docman/cat_view/48-unigui-private?limit=5&limitstart=0&order=hits&dir=ASC

Tak trochu tomu nerozumím:-)

bullhead

6.1.2012 14:33:02 #

Zdeněk Vašků

Na Samsung Galaxy Android 2.3.3 to funguje super.

Zdeněk Vašků

6.1.2012 15:13:32 #

bullhead

...zajímavost - oficiálně je ke stažení beta 0.87 - JaroB našel 0.88 (je asi hodně čerstvá ještě k ni aktuálně není seznam změn).

Instalačka je výrazně větší, to mně trochu zarazilo, no ale během instalace již nabízí navíc XE2 64 bit!:-)

B.

bullhead

6.1.2012 15:14:21 #

Petr Nehez

Verze 0.88 je zatim alpha, ale funguje vice mene dobre, aktulni je 0.88.0.922.
http://forums.unigui.com/index.php?/topic/1545-version-0880-alpha/

Ja uz asi 5 mesicu nad tim stavim aplikaci pro interni vyuziti ve firme a je to fakt super.
Sice to obcas ma nejake mouchy, ale vzdy se reseni najde nebo to autor opravi, intenzivne na tom pracuje.

V soucasne dobe je to zdarma, ale zamer autora je vydat verzi 1.0 cca nekdy v polovine roku za cenu okolo $1000/user.
Navic musite jeste pocitat, ze se plati licence za Ext JS, neco pres $300.

Petr Nehez

6.1.2012 15:18:49 #

Radekc

Ale v konferenci napsal autor ze beta umoznuje delat i komerční aplikace

In reality, though not explicitly mentioned, we relaxed the beta license and currently allow using beta version in commercial projects. Provided that a commercial license should be obtained once product is released as non-beta.

https://forums.embarcadero.com/thread.jspa?threadID=66112&tstart=0

Radekc

6.1.2012 15:34:21 #

Radekc

Díval jsem se na ty licence Ext JS: nabízejí OEM licenci pro knihovny, tak třeba v tech 1000 uz bude ta licence započtena, resp. asi by to bylo logické.

Radekc

6.1.2012 15:35:40 #

bullhead

Jen netechnická úvaha...

...úžasný SW ...co mne na tom ale irituje, když už se objeví po letech v Delphi x64, objeví se multiplatformní FM, nadšeně přemýšlíme o konverzi do FM - a do toho se objeví toto. Hmm a teď to rozhodnutí. Nedivil bych se kdyby lidi místo FM použili uniGUi.

Abychom nedopadli jako Linux, který má tolik možností (čti roztříštěný), že na desktopu ho už skoro nikdo nepoužívá:-(.

Třeba někdo z Embarcadero tento SW zaregistruje (p.Kubát z CZ zastoupení tento web myslím čte:-)) a koupího - toto by opravdu stálo zato naroubovat na FM.

B.

bullhead

6.1.2012 15:41:13 #

Petr Nehez

Ano, to jsem zapomnel zminit, beta tohle umoznuje.
A ta avizovana cena $1000 mi prijde v pohode, protoze kombinace nativni server aplikace s velmi kvalitnbim JS frameworkem je bomba.

Petr Nehez

6.1.2012 15:57:38 #

JaroB

To dost vysvětluje, proč jsem nikde nenašel ani registrační zdroják :)

JaroB

6.1.2012 17:37:44 #

bullhead

...ještě další zjištění:

1.
Na iPadu "herní" demo "Pinpon!" jede bezproblému. Na androidích tabletech (Android 1.6 i 2.2) se nedá ovládat dotykově to herní tlačítko.

2.
Na MacOS X Lion 10.7.2 a prohlížeč Safari jede zase vše bez problémů.

B.

p.s.
...dělám další testy protože upřímně tohle může pohřbít FM, jsem přesvědčen že raději budou v současném světe developři potřebovat Win32/64 + WWW než Win32/64 + MacOs + iOs + Android + BlackBerry- zvlášť když WWW verze pojede na iOs, Android apod.

bullhead

7.1.2012 10:50:20 #

Ctirad

Protože s tím už někteří z vás zkoušeli, chtěl bych se jako člověk, co neviděl Delphi 10 let zeptat.
Jakou edici Delphi potřebuji? Stačí Pro? Starter určitě ne.
Co to udělá, když tu aplikaci spustí na serveru třeba 100 nebo 1000 uživatelů? Příp víc?
Jak je to vygenerované DLL velké?
Protože když jsem to viděl, zasvítila mi očička a v hlavě začaly běhat nápady a cinkat peníze.

Ctirad

7.1.2012 13:10:50 #

Radekc

Osobně si myslím, že Pro by měla stačit. StandAlone EXE (tj. včetně  v release modu má 5M, k tomu cca 6M JS knihoven které se sdílejí (Ext JS) + případná data jako DB.

DLL jsem nekompiloval, ale bude to cca podobné.

Ad pohřbení FMX: nemyslím si. Tohle je směřované trošku někam jinam.

Radekc

8.1.2012 19:27:03 #

JaroB

Hláška "Your browser does not have support for Canvas." znamená, že není podpora HTML5 (IE8 není podporováno), ale nevysvětluje to vše.

JaroB

8.1.2012 20:19:33 #

Radekc

No to mne napadlo, ale ty jsi původně psal, že jsi to zkoušel v IE9 a ten Canvas podporuje, tak jsem myslel že to není tvůj případ.

Radekc

8.1.2012 22:51:27 #

JaroB

No, to je právě to zvláštní, IE9 ve Vistách mi háže stejnou hlášku. Původně jsem si myslel, že je to o politice, ale teď si nejsem jist, jestli to není nějaké nastavení kdesi.

JaroB

8.1.2012 23:04:15 #

Radekc

No a nesouvisí to s HW akcelerací v prohlížeči? Tj. asi Direct2D - pro Visty musí být doinstalováno.

Radekc

9.1.2012 9:26:55 #

JaroB

Do mě mate, podpora Direct2D funguje, ale je to nad Intel Q45/43Express Chipset.
IE9 má volbu pro akcelerovanou grafiku, ale jen možnost vypnutí GPU a zapnutí sw renderingu.

JaroB

9.1.2012 15:25:43 #

bullhead

A to co ti dneska ve foru radil Mohajeri nezabralo?
B.

bullhead

9.1.2012 15:48:03 #

bullhead

...mě ještě napadá taková blbost, jestli ve Vistách nedělá problém IE x64. Na Win 7 sice uniGui jede v IE9 jak x32 tak x64 (u mne), ale stejně používám x32 IEčko (když musím). Některé věci v IE9 x64 prostě nejedou.

B.

bullhead

27.1.2012 14:02:28 #

JaroB

Zapoměl jsem na poznámku k uzavření tématu. Musí se vypnout kompatibilní zobrazení (směruje se na jádro IE8) a to je ta chyba. Lze to udělat pro všechny weby nebo selektivně jen pro něco. Tak se omlouvám.

JaroB

31.1.2012 8:47:08 #

Jituna

Zkusila jsem  a dostala se až sem,....prosím poraďte co dál ?(instalovat Component Packages...Add,...?). Díky  

Jituna

31.1.2012 8:49:17 #

Jituna

Asi 10 souborů uni*.bpl

Jituna

31.1.2012 9:34:44 #

JaroB

Pro instalaci jsou připravené balíčky FMSoft\Framework\uniGUI\uniGUI*Group.groupproj pro verse (2006 nepřiložen) 2007, 2009, 2010, 2011-XE a 2012-XE2, přeloží se a pak instalují ty, co jsou označené jako design, mají postfix *dcl.
Pozor na souběh jmen u PNGimage - pro Delphi 2006/2007, tam může být mírně odlišná verze - ale působí to problémy, protože  uniGUI má zámky v podobě DCU do nejvyšších verzí svých Delphi.

JaroB

9.2.2012 0:08:47 #

Radekc

Ještě poznámka ohledně toho že je to uprostřed obrazovky (třeba na Androidu). Stačí nastavit Position u formuláře nikoliv na poCenter, ale třeba na poDesigned a nastavit Top a Left.

Jen mi nejde se zbavit okrajů v html verzi (ve Windows verzi to funguje) přes BorderStyle

Radekc

16.2.2012 9:46:01 #

JaroB.

Ahoj
je nová verze viz http://www.unigui.com/downloads, "uniGUI Beta v0.88.0.941 (10.8 MB 2012-02-07)", která by měla řešit některé problémy s eventy a DB navigací. Taky jsou tam nějaká nová demíčka.

JaroB.

5.3.2012 20:04:14 #

JaroB

Velmi nadějně vypadá i tento http://www.raudus.com/ framework, zatím se jeví jako jistá podmnožina uniGUI. Detailně jsem nezkoumal (zatím nevím jestli obsahuje kompletní zdrojáky), podle vyjádření autora je status FREE.

JaroB

5.3.2012 22:36:21 #

tz

Ale pozor na toto (pokud je to pravda):

Raudus: Main Thread Issue
http://www.raudus.com/bugtracker/view.php?id=144

tz

6.3.2012 9:23:46 #

JaroB.

Zkusil jsem to nainstalovat a nějak porovnat s uniGUI. Sice to umožňuje využít SenchaTouch library a některé další věci, ale vykazuje to jisté závislosti na dll knihovnách typu mongoosen a taky se mi nepodařilo vyrobit standalone exe bez závazků jako umí uniGUI (ale možná jsem to dělal špatně). Stejně jako uniGUI to obsahuje přes desíktu dcu jednotek (tj. je to dodávané bez zdrojáků), pro každou podporovanou verzi delphi (je i pro Delphi 7) a myslím i Lazarus. Dokumentace se mi zdá nedostatečná, demo příkladů je sice dost, ale uniGUI je má komplexnější a propracovanější. Je to prostě nějaká vedlejší vývojová větev a kapku jiné.

JaroB.

Komentování ukončeno

Naše nabídka

Partial English version.

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy nebo burzy práce).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64 , Mac OSX a na iPhone a Android (s výhledem na další platformy díky FireMonkey) na současném trhu (včetně Windows 8.1).

V současnosti je světová komunita přes dva miliónů vývojářů.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Anketa

Poslední komentáře

Comment RSS