Toon posts:

[Java/XML] Nexaweb: Swing based XUL implementatie*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben nu al een tijdje bezig met het leren van java. Ook wil ik daarbij gebruik maken van xml. Ben dus even bezig geweest met het verzamelen van toepassingen van xml en java. Ben mij ook gaan interesseren voor xml toepassingen zoals svg en xul (XML user interface language).

Ik kwam zojuist langs nexaweb, een website met een client size toepassing van xul, java en svg.
Ik ben er nog niet achter hoe ze het doen, maar ze krijgen het voor elkaar om een soort swing look in de browser te creeren die je kunt vormgeven d.m.v. xul bestanden. Wel weet ik dat ze java / jsp op server /xul / svg gebruiken. Maar ik krijg niet zo'n vervelend grijs java vlak, en naar de svg plugin vraagt hij ook al niet.

Ik meteen een mailtje sturen, of ik dit ook kon leren. Wat blijkt, er komt over een week een pubic developer versie aan :)
Ik dacht: dat moet ik jullie even laten weten :)

documenten en voorbeelden:
http://www.nexaweb.com:2000

beta versie ui designer
http://www.nexaweb.com:2000/Nexaweb/startApp.html?app=designer/start

ik heb het helaas nog niet werkend gekregen in IE6.0 of mozilla maar NS4.7 werkt bij mij goed en het schijnt ook in alle oudere IE te werken. Het zou bij de volgende release ook in IE 6.0 moeten werken.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
webmaniac: Maar ik krijg niet zo'n vervelend grijs java vlak, en naar de svg plugin vraagt hij ook al niet.
Ze gebruiken wel de Java Plugin, maar hebben kennelijk de startkleur ingesteld. Dat is tegenwoordig mogelijk ;) .

Helaas draait het hier bij mij niet (Mozilla 0.9.8 op Linux, Java 2 SE 1.4.0) omdat die gekken mij weer eens niet de kans geven om zelf te proberen of hun site werkt. Ik krijg dus een vriendelijke melding dat mijn browser niet voldoet |:( .

Ik heb even gekeken wat ze uitspoken en het lijkt dus inderdaad een soort xul implementatie te zijn die client-side wordt omgezet in een Java Applet naar een Swing GUI. Het ziet er grondig uit, maar ze zijn absoluut niet uniek: er zijn al wel meer XUL of XForms achtige implementaties voor Java/Swing :) .

Helaas kan ik het dus niet verder bekijken ;( .
Ik haat gecontroleerde WORA.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
.. gecontroleerde WORA
tot het woord "gecontroleerde" snapte ik het nog ..

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
webmaniac: tot het woord "gecontroleerde" snapte ik het nog ..
Hehe ;) . Write Once, Run Anywhere. Standaard term om de platform-onafhankelijkheid van Java aan te duiden.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • nxt
  • Registratie: November 2001
  • Laatst online: 26-08 13:51

nxt

het doet het goed met windowsXP & IE6 en JRE1.3.
(kan 1.4 nog niet testen, want die geeft momenteel bij alle applets een ClassNotFoundException en ik ben er nog niet uit waardoor dat komt)
Maar weer ontopic, het ziet er wel leuk gemaakt uit en ben benieuwd naar het eindproduct.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Nog even inhoudelijk over deze XUL-achtige aanpak:

Ik zou iets dergelijks alleen gaan gebruiken als het goede mogelijkheden biedt voor model georienteerd werken en het koppelen van GUI componenten. Eigenlijk zou een XML taal voor GUIs volledig op het gebruik van modellen gebaseerd moeten zijn.

Ik werk zelf namelijk altijd sterk model georienteerd waarbij werkelijk elk GUI component een model als inhoud heeft. Hieraan koppel ik alle mogelijke akties en vaak kan je ook nog op een fraaie manier modellen koppelen zodat je zelf vrijwel niets imperatief hoeft te updaten. Als een XUL aanpak dit onmogelijk zou maken, zou ik hem nooit gaan gebruiken.

Ik denk dat je XUL ook niet moet zien als een snelle manier om GUIs te schrijven. Ik heb nogal wat GUIs in Swing erop zitten en heb ondertussen zo ver weten te abstraheren dat een uitgebreidde GUI vaak nog maar heel erg weinig code in beslag neemt. Code-beperking kan je daarom denk ik beter met een goede architectuur oplossen dan met een andere taal. Wat XUL echter wel interessant maakt is de theoretische onafhankelijkheid van een oncrete GUI omgeving. Wellicht wordt het ooit mogelijk om dezelfde XUL-GUI specificatie te gebruiken in .NET, Swing, SWT :9~ . Dat zou het weer zeer interessant maken. Feit blijft uiteraard wel dat van een degelijke GUI applicatie eigenlijk maar een klein deel ook echt GUI is....

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ik heb de topic titels iets gestandaardiseerd en meer beschreven waar het over gaat...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Hier trouwens nog wat andere bronnen mbt XML userinterface talen en Java:

XUL-achtigen:

http://jxul.sourceforge.net/
http://luxor-xul.sourceforge.net/

XForms:

http://www.jbrix.org/kits/xybrix/ (check de screenshots en xml files daarbij!)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik heb net even wat rond zitten kijken en ik snap dat je een (swing)gui kan maken op basis van XML. Maar hoe zit het met events ed?

En hoe zit het met code die je al hebt gemaakt? Als je gui componenten hebt gemaakt en je gaat erin hakken/wijzigen dan mag niet alles over schreven worden. Of moet je niet in hun gegenereerde objecten rommelen maar gewoon ervan extenden zodat je alsnog je functionaliteit krijgt die je zoekt?

Verwijderd

Topicstarter
jxul en luxor had ik idd al gevonden. Krijg jxul alleen niet werkend. Elk window blijft leeg van de voorbeelden op XP, iemand anders dit probleem ook gehad.

mbravenboer:
wat bedoel je met "model georienteerd"? OOP?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
webmaniac: wat bedoel je met "model georienteerd"? OOP?
Niet echt: OO ontkom je al niet aan ;) . Veel GUIs houden een model gebaseerd ontwerp aan, wat betekent dat onder elk GUI component een model hangt. Dit model bevat de data voor het component. Als je het model aanpast, past de GUI zich automatisch aan. Als de user input doet in de GUI verwerkt hij dit niet gelijk in een presentatie, maar past simpelweg het model aan. Via dit model wordt dan de GUI aangepast. Dit wordt ook ook wel MVC (Model-View-Controller) genoemde.

Swing heeft standaard al een model aanpak, maar die vind ik nog niet jofel genoeg. Daarom gebruik ik een zelf een modellen library die nog verder van concrete GUI componenten abstraheren. Adapters verzorgen de adaptie naar de Swing modellen. Hierdoor kan je je GUI volledig scheiden van de controller :) . Het komt er vooral op neer dat de controller niet aan de GUI hoeft te vragen wat de inhoud van de componenten is: deze inhoud zit al in de modellen :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer heeft wat bedenkingen
Inderdaad, goede opmerkingen. Op dit punt heb ik ook nogal wat bedenkingen. Ik heb zelf nog niet concreet met deze aanpak gewerkt. De meeste implementaties zijn nogal experimenteel helaas, dus ik wacht daar ook nog maar even mee :) .

Overigens heb je wel aardige mogelijkheden als je de GUI actions uit een controller laat halen en de inhoud van de GUI met modellen vult. In theorie kan dat wel een erg fraai ontwerp worden... In hoeverre de bestaande oplossingen dit bieden weet ik nog niet...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Maar veel gui`s zijn toch vaak 'maatwerk', want er komt toch een beetje kunstenaars gevoel aan te pas :) Knopje hierrrr.. knopje daarrrr... :+

Ben je niet bang dat met gegenereerde gui`s de eindgebruiker een beetje uit het oog verliest?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: want er komt toch een beetje kunstenaars gevoel aan te pas :)
Ik zie maar weinig Java GUIs die ik het werk van een kunstenaar zou durven noemen ;) .
Ben je niet bang dat met gegenereerde gui`s de eindgebruiker een beetje uit het oog verliest?
Mwah, niemand heeft het over genereren toch? Het gaat alleen om een declaratieve taal waarin je GUIs kan beschrijven. Als je het resultaat in Mozilla ziet, ben ik niet echt bang voor de eidngebruiker :9~ ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Je beschrijft de gebruikers interfaces vanuit XUL. Ok.. je kan natuurlijk net goed in XML=XUL je interface schrijven als in java. Maar wat ik op die site heb gezien kwam toch wel vrij syntetisch over. Niet dat ik daar nou zoveel problemenmee heb want ik hoef niet met mijn programma`s te werken, maar de eind gebruikers wel. Het kan ook zijn dat ik het mis heb.

Ik ontwerp mijn gui`s meestal in JBuilder en wat ik de laatste tijd doe is eerst gui maken in JBuilder met wat nep gegevens erin. Kijken hoe andere mensen het vinden werken en dan de dingen aanpassen die zij niet duidelijk vinden.

En zo gauw het ontwerp klaar (visueel ontwerp dus) dan begin ik met het echte schrijf werk. Ik begin dan helemaal opnieuw en voeg dan stuk voor stuk met de hand geschreven elementen toe. Dit bevalt me eerlijk gezegd vrij goed en andere mensen zijn erg tevreden over de gebruikers interfaces.

ps: is weer veel te lang aan het kwekken over JBuilder en zijn gui ontwerp :+

pps: ik vind mozilla echt een vervelende interface hebben. Het werkt bij lange na niet zo goed als opera. Alleen houden ze zich wel aan de standaarden.

Trouwens heeft mozilla ook een heel leuk project lopen WebClient. Hiermee willen ze het mogelijk maken om browser componenten te intergreren bij java apps. Alleen jammer dat je op dit moment mozilla geinstalleerd moet hebben om er gebruik van te maken.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: Maar wat ik op die site heb gezien kwam toch wel vrij syntetisch over.
Ach, dat is natuurlijk nog maar het begin van deze wereld :) Ik heb op andere sites wel hele fraaie voorbeelden gezien. Ik denk niet dat dit op de lange termijn een probleem gaat worden.
pps: ik vind mozilla echt een vervelende interface hebben. Het werkt bij lange na niet zo goed als opera. Alleen houden ze zich wel aan de standaarden.
Qua overzichtelijkheid zuigt Opera werkelijk aan alle kanten imho. Mozilla is duidelijk, strak, eenvoudig en sjiek :+ . Opera is druk en rommelig >:) .
Trouwens heeft mozilla ook een heel leuk project lopen WebClient. Hiermee willen ze het mogelijk maken om browser componenten te intergreren bij java apps. Alleen jammer dat je op dit moment mozilla geinstalleerd moet hebben om er gebruik van te maken.
Er waren ooit plannen om een browser-onafhankelijke interface te definieren die voort moest komen uit dit project. Hierdoor zou je een platform-onafhankelijk browser-component krijgen die door verschillende browsers kan worden ingevuld. Ik geloof echter dat deze ontwikkeling op dit moment een beetje stil ligt. De Java afdeling van Mozilla is zwaar slecht onderhouden en de meeste stuff werkt geeneens in de laatste Mozilla release.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

:'(

en java, internet taal der internet talen heeft niet eens een degelijk html componentje.. Het is toch te gek voor woorden! :)

ps:
ik wil geen commentaar horen over opera. Oke.. het crashed om de haverklap.. het houd zich totaal niet aan afspraken... maar afgezien daarvan is het een uitstekende browser :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

http://www.mozilla.org/projects/blackwood/webclient/index.html
12 January 2002

From: edburns@acm.org (Ed Burns)
Newsgroups: netscape.public.mozilla.java,netscape.public.mozilla.embedding
Subject: Webclient plans: Netscape 6.2.1 compliant release
Message-ID: <133edd06.0201121048.5f6ea51a@posting.google.com>

Hi Folks,

People continue to express interest in webclient, so I'm going to try
to maintain it in my spare time. Sorry for the long delay in
updating, I have taken a new job and am just now getting time to work
on Webclient again.

Here are my immediate plans:

- Get webclient and its dependents working on Win32 and Linux with
Netscape 6.2.1 (or the closest mozilla milestone)

- Investigate open bugs in blackconnect (the XPCOM to Java thing). If
they look to hard to fix, consider de-coupling webclient from
blackconnect.

- Investigate general open bugs.

I'll only be able to spend about three hours a week on this so
progress will be slow, but there will be progress.

Of course, I welcome any help from the community.

Thanks,

Ed
:'( :'( 1 iemand doe het doet in zijn vrije tijd.. klinkt erg veel belovend...

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: en java, internet taal der internet talen heeft niet eens een degelijk html componentje.. Het is toch te gek voor woorden! :)
Mwah, men heeft ondertussen door dat je dit proces kan opdelen in twee stappen: declaratieve layout (XHTML) -> absolute layout (XSL-FO) -> rendering. Ik denk dat er binnen niet al te lange tijd weleens oplossingen zouden kunnen komen die hier gebruik van maken :) .
ik wil geen commentaar horen over opera.
Ga jij nu maar lekker dubbel-posten met je Opera >:) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Nieuwe nexaweb versie
(gebundeld aan java, vandaar zo groot)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik heb het net door zitten lezen en het ziet er heel leuk uit, maar wat ik niet snap is in welke vorm (taal dus) die business logic zit. Het klinkt allemaal wel heel leuk maar ik snap eigelijk niet wat ze doen. Ik ben nu die zip aan het downloaden (35 mb) misschien dat ik daar iets wijzer uit kan worden.

Ik zie dat ze een super lichte client bij je neer zetten (van 50 tot 700k) en ze zeggen ook dat het offline gewoon kan werken. Dit vind ik een beetje vreemd omdat je dan toch een fat client hebt?

Ze zeggen ook dat niet technische mensen ermee aan de slag kunnen maar hoe zit het dan met zaken zoals concurrency control?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Aha.. de business logic die zit dus wel op de server en kan in J2EE of in COM objecten zitten. Maar hoe kan je hier dan een offline versie van maken?

Er wordt trouwens wel gebruik gemaakt van alle nieuwe kreten die ik heb gehoord :) En ik zie dat er ook een XUL event guide is :) Dus events in XUL zijn dus ook mogelijk :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik ben nu met die developer aan de slag en dat is wel lachen. Alleen is het wel traaaaag. Daar kan je geen eind gebruiker mee opzadelen (draai hier met amd xp 1700 at 1580 Mhz met 1.5 gb geheugen dus dat moet voldoende zijn). Ik denk dat dit komt omdat het een applet is.
Pagina: 1