ugrás a tartalomhoz

Web appok XUL-ban?

janoszen · 2008. Okt. 25. (Szo), 13.46
Sziasztok,

felütötte bennem a fejét a kérdés, hogy miben is kellene webes applikációkat csinálni. Gondolok itt egy saját magamnak gyártott webmail kliensre, intranetes alkalmazásra, stb.

A HTML eszközkészlete elég szegényes ablakozó komponensek terén, tehát adódik a kérdés, hogy mit használjon szegény földi halandó helyette. Két megoldást tudok elképzelni:

  • JavaScript komponens-library elkészítése, esetleg valamilyen már meglevő desktop-like rendszer használata (eyeos). Előnye: elvileg minden böngészőn működik. Hátránya: ELVILEG működik minden böngészőn, van amikor nem, minden program megírása kő kemény JS-ezést igényel.
  • XUL: XHTML-be beágyazva ideális platform lenne a mindenféle webes felülethegesztésre. Előnye: Komponensek végeláthatatlan tárháza, könnyű beágyazhatóság, szükség esetén pillanatok alatt lehet belőle desktop alkalmazást varázsolni. Hátránya: Firefox és CO only. Internet Explorer le van ejtve.


Kérdéseim tehát:
  • Milyen más technológiákat ismertek ezeken kívül?
  • Mire szavaztok? (A nyilvánvaló portability issue-tól eltekintve.)
  • Milyen jó könyvek / leírások vannak XUL témakörben? (A Mozilla-féle doksit megtaláltam, sajnos az túlságosan rámegy a Firefox extension gyártásra, nincs egy általános "getting started" fejezet.)


Köszönöm

János
 
1

Találtam tutorialt

janoszen · 2008. Okt. 25. (Szo), 14.00
Találtam mégis tutorialt: https://developer.mozilla.org/En/Using_Remote_XUL
2

Flex

tolmi · 2008. Okt. 25. (Szo), 14.44
Bár én magam nem szeretem azokat a technológiákat webre használni, amelyek nem (X)HTML-t és JS-t használnak és a feladatot meg lehet oldani a bevált módon, de ha már a XUL-t fontolgatod, akkor azt hiszem helye van itt a Flex-nek.

Szerintem ha rászánsz egy kis időt és megnézegeted a Flex tutorialokat mondjuk, meg fognak győzni. A Flex 3 SDK ingyenes, sőt nyílt forrású, így beszerzési ára a fejlesztőezközöknek (pl. Flex builder) opcionális. Vagy nézd meg a FlashDevelop nevű editor-t, amelynek pl. van Flex 3 támogatása is.

Arról ne is ejtsünk szót, hogy a Flash runtime elérhető minden fontosabb böngészőre és rengeteg 3rd party komponens van Flexhez, valamint elég nagy is a közösség körülötte, tudsz segítséget is kérni. XUL-lal ez nehezebb lesz.
4

Flash

janoszen · 2008. Okt. 25. (Szo), 16.51
Két probléma illetve kérdéskör és két megjegyzés:

  • A Flash file mennyire könnyen tehető kvázinatív alkalmazássá? Tehát egy ablakban futó, az oprendszer eszközeivel együttműködő valamivé?
  • A Flash képes átvenni az ablakozó rendszer kinézetét?
  • Megjegyzés: mivel closed source technológia, ami nekem nem annyira szimpatikus. A Flex Builder meg eleve nem elérhető Linuxra, a Flash lejátszó meg vagy követi az aktuális verziószámot vagy sem.
  • Jobb kattintás, helyi menük a Flash appleteken nem programozhatóak, stb. Ezek azért a hagyományos júzer ikszpírienszhez kellenének.
6

3+

tolmi · 2008. Okt. 25. (Szo), 17.55
A Flash file mennyire könnyen tehető kvázinatív alkalmazássá? Tehát egy ablakban futó, az oprendszer eszközeivel együttműködő valamivé?

Az Adobe ezért hozta létre az AIR-t. Az AIR alkalmazás egy-az-egyben egy Flex alkalmazás, nyilván azon kiterjesztésekkel, amelyek egy Flash appletben nem léteznek, de egy desktop appnál már igen (pl. natív ablak króm, extenzívebb filekezelés, tálcatámogatás, stb...)

A Flash képes átvenni az ablakozó rendszer kinézetét?

A Flash nem, a Flex mint AIR alkalmazás igen. Ezért is említettem a Flex-et, mert abból majdnem zéró erőfeszítés AIR alkalmazást gyártani.

Megjegyzés: mivel closed source technológia, ami nekem nem annyira szimpatikus.

Nekem sem szimpatikus hogy a Flash player zárt forráskódú, de azt azért jegyezzük meg hogy:
* A Flex fordító és könyvtárak nyílt forrásúak
* A Flash runtime eléggé elterjedt

A Flex Builder meg eleve nem elérhető Linuxra

Adobe Flex Builder 3 for Linux. Igaz hogy alfa4, de nekem pl. az evaluation copy szuperül ment Linux alatt. Nyilván nem lesz örökké alfa.

a Flash lejátszó meg vagy követi az aktuális verziószámot vagy sem

Ezt nem tudom hogy honnan veszed, régen valóban így volt, de a Linux a Flash 10 kiadása óta 1st class platform a Windows és MacOS X mellett. Így várható hogy minden feature verzió egyszerre jelenik meg Linuxra, Windowsra és MacOS X-ra.

Jobb kattintás, helyi menük a Flash appleteken nem programozhatóak, stb.

ContextMenu class
9

Értem...

janoszen · 2008. Okt. 25. (Szo), 18.23
Értem, amiket mondasz, ennek ellenére nem feltétlenül vagyok elégedett a technológiával. Lehet, marginális eset, de most néztem meg, Linuxra ugyan van 10-es Flash lejátszó, de x86-os Solaris alá nincs. Pont a multkor volt egy eset, amikor egy intranetes alkalmazást egy Sunray terminálon kellett futtatni egy chipkártya olvasóval összekötve. A megoldás a Firefox átalakítása lett a célnak megfelelően, látványosan jól működött.

Sajnos az Adobenak ez nyilván üzlet kérdése. Mivel a Flash (még) leginkább az animációs-webes szektorban elterjedt, az alkalmazási platformként való felhasználása gyenge lábakon áll, innentől kezdve olyasmiről, hogy Solaris support, stb. ne is álmodjak. Arról, hogy értelmes sebességen fog futni a rá jutó pár száz MHzen pedig még kevesbb esélyt látok. (A fenti példa esetében párhuzamosan 4 terminált hajtott egy elég régi HP gép. A pontos specifikációkat nem tudom, de nem egy kapkodó idegbeteg a gép. :) )

Összegezve: nem hiszek abban, hogy a GUI-t újra fel kellene találni, sem Adobenak, sem pedig a GWT-s társaságnak. Filozófiailag a natív komponensekben hiszek, az ablakozást csinálja az ablakozó rendszer, ha nem jó, azt kell lecserélni. Ennek ellenére lehet, hogy a GWT lesz, ugyanis a XUL dokumentációja még baráti körökben is hiányos.
11

XUL natív?

Hodicska Gergely · 2008. Okt. 25. (Szo), 19.35
Filozófiailag a natív komponensekben hiszek
A XUL mióta natív? ;)

az ablakozást csinálja az ablakozó rendszer
Egy böngésző esetében azért ez a logika megkérdőjelezhető, mert egyrészről oké, hogy azt szeretnéd, hogy a böngésződ is ugyanúgy nézzen ki, mint a többi alkalmazásod, viszont másrészről az is tök jogos igény, hogy aki

Amúgy én nem választanék XUL-t manapság, eléggé bezárod magad ezzel. GWT-vel nincs tapasztalatom, de azért a Google cuccai elég jók, Ext-tel már szívtak azért elég sokat mellettem, de azért alapvetően jókat lehet hallani róla (de pont Zoliék erről álltak/állnak át flexre admin felületek esetén). Flex-xel nekem annyi negatív tapasztalatom van, hogy Mac-en van pár szívás a Flex-es felületekkel (nem érzékeli az egér görgőjét, copy-paste is elég zavaros).
12

A XUL mióta natív?

janoszen · 2008. Okt. 26. (V), 00.36
A XUL mióta natív? ;)


Elvileg a XUL komponensei a natív OS komponenseket hívják meg, amire a működéséből következtetek. Nyilván, ez nem ennyire egyszerű, majd meglesem a Firefox forráskódját, hogy mivel rakja ki a komponenseket.

Egy böngésző esetében...


Mint jeleztem, nem a böngészőben való létezés az elsődleges feladat. Nyilván, erős fegyvertény, ha weben IS tud létezni a történet, ezért is tettem itt föl a kérdést, de az elsődleges a működése, nem a keret. Mivel zárom be magam a XUL használatával? A Firefox / XULRunner csak nem fog megszűnni?

Egyébként ez teljes mértékben magán-jellegű projekt, egy normális levelezőt szeretnék összeütni *kliens-PHP alapokon, mert tele a hócipőm a buta webmailekkel és a Thunderbird hülyeségeivel.
3

Ext GWT

szaky · 2008. Okt. 25. (Szo), 15.39
Ha jól értem, mit szeretnél, akkor a GWT, Ext GWT pont erre lett kitalálva. Eddig nekem használhatónak tünt, és a platformfüggetlenséggel sem volt gondom.
5

Jól néz ki

janoszen · 2008. Okt. 25. (Szo), 16.54
Abszolut jól néz ki és barátságos sebességen fut a Linuxomon. Még nem ástam bele magam nagyon és nem tudom, hogy működik a technológia, de szimpatikus. Window manager skinezésével illetve jobb kattintással itt hogy állunk?
7

Context Menu támogatás van

tolmi · 2008. Okt. 25. (Szo), 18.10
Context Menu támogatás van hozzá, valamint lehet skinnelni az alkalmazást teljes körűen. Nyilván ha egy Mozilla Prism-et használsz, akkor van window managered is és desktopod is ;)
8

Nem akarom skinelni

janoszen · 2008. Okt. 25. (Szo), 18.20
Pont az, hogy nem akarom skinelni. Azt szeretném, ha a window managerem komponenseit használja azok minden viselkedésével együtt.
10

XUL

Joó Ádám · 2008. Okt. 25. (Szo), 18.44
Én mindenképp a XUL-ra szavazok. Nem tudom, mit hiányolsz, a Mozillás, illetve a http://www.xulplanet.com/ lapon elérhető dokumentáció szerintem bőven elég.
13

XULRunner

janoszen · 2008. Okt. 26. (V), 00.38
Megtaláltam azt is, köszi. Amit hiányoltam, az egy jó getting started howto NEM Firefox hegesztésre, hanem önálló programként való futtatásra illetve remote XUL használatra. Időközben egyébként megleltem őket.
14

XUL

tolmi · 2008. Okt. 26. (V), 10.47
Végignézve a topicot nekem egyértelműen az jött le, hogy te tudod mit akarsz, így kérdés nélkül való hogy a XUL a te barátod. Most hogy már megvan a getting started guide, szerintem lezárható az ügy. Sok sikert. Ha elkészülsz, majd mutasd meg nekünk a végeredményt, mindenképpen érdekes lesz.
15

Terv...

janoszen · 2008. Okt. 26. (V), 14.15
Úgy tűnik valóban. Összedobtam XUL-ban egy interfészt, elindítottam XULRunnerben, majd fölmásoltam a webszerverre és onnan is elindítottam. Azon felül, hogy hajszálpontosan ugyanazt az eredményt kapom, az overlayek látványosan gyorsítják a munkát. Mivel az alkalmazás kizárólag HTTP-n keresztül fog beszélgetni és az összes egyéb protokollt a szerver intézi, nem is különbözik sokban a HTML-AJAX-CSS felépítéstől.