(Vectorbased?) cross-platform GUI-toolkits

Pagina: 1
Acties:

  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Topicstarter
Ik ben een vrij onervaren programmeur, met een beetje ervaring met Java, PHP en C#. Ik heb nog wel een paar persoonlijke projectjes liggen die ik wil schrijven, maar daarbij stoot ik tegen de soort van onoverzichtelijkheid van GUI toolkits aan. Ik wilde dit topic gebruiken om informatie uit te wisselen over cross-platform toolkits, wat gebruiken jullie, en waarom?

In het algemeen heb ik dit prioriteitenlijstje:
- mijn eigen vrijheid
- andermans vrijheid (en mijn eigen flexibiliteit)
- mooie taal, strak OO
- mooie GUIs, liefst vectorgebaseerd.

Met mijn eigen vrijheid bedoel ik dat de software vrij is, in ieder geval voor Linux, en OSX is mooi meegenomen. Met andermans vrijheid bedoel ik dat de software ook op andere platformen (lees: windows) vrij is, en redelijk goed werkt. Flash is dus bijvoorbeeld geen optie.

Ik wil me niet bezig hoeven houden met geheugenmanagment, ik wil gewoon applicaties schrijven. C of C++ wil ik dus niet (verder) leren. Ik vind het idee van .NET fantastisch, en de vrije implementatie die ervan is (mono) werkt prima. Ik wil mezelf absoluut niet beperken tot scripttalen, maar sommige dingen zijn wel lekker makkelijk en even snel te doen in bv Ruby. Met mono/.NET krijg je Ruby, Python en PHP er gratis bij (en aardig volwassen al?).

De reden dat ik vectorgebaseerd wil is omdat dit volgens mij de toekomst is. Mensen die hun 17" TFT op 1024x768 zetten omdat op de native resolutie de lettertjes zo klein zijn klinkt gewoon zoooo 2000. Een hoge resolutie zou alleen maar meer scherpte moeten geven. Met mooi bij een GUI bedoel ik niet zozeer dat het er zo mooi uit ziet, maar meer dat het cognitief ergonomisch werkt. Ik wil dat mijn GUI voor mensen erg prettig werkt, lekker aanvoelt. Mooi helpt daar natuurlijk wel bij. Costumizable vind ik dan ook weer belangrijk, als mensen mijn kleurstelling echt heel lelijk vinden zou ik het prettig vinden als ze dat zelf kunnen veranderen.

Wat heb je dan voor mogelijkheden?
- GTK#
- [url=http://http://conference2006.kde.org/conference/talks/46.php]Qyoto (en andere Qt icm .NET)[/url]
- swing/[url=http://java.sun.com/j2se/1.4.2/docs/api/java/awt/package-summary.html]awt
- Qt Jambi

...en ik hoop dat er nog meer zijn?

GTK# heb ik ervaring mee, en werkt erg prettig. Het is alleen helaas niet vectorgebaseerd, en het komt het best tot zijn recht binnen gnome, terwijl ik KDE gebruiker ben. Met Cairo schijn je wel weer meer met vectoren te kunnen doen (ook met SVGs?), maar toch heb ik niet de indruk dat je daar het grootste deel van je GUI in kunt schrijven? weet iemand dat?

Qt met C# (en andere CLR talen) zou eigenlijk het best zijn voor mij, maar daar zijn helaas nog geen volwassen implementaties voor, en aangezien er vanuit de KDE community weinig animo voor lijkt te zijn (ze hebben immers al een OO GUI in C++) is het de vraag of die er ooit komt.

De standaard Java GUIs vind ik lelijk, traag, en onhandig te coden. Ik denk dat de cross-platform factor hier wel nog beter mee is dan bij de andere opties? En het is natuurlijk niet vector-gebaseerd

Qt Jambi (Java bindings voor Qt) heb ik net de whitepaper van gelezen en ziet er erg goed uit. Ik denk dat het nu al volwassen genoeg is, en met Trolltech als bedrijf erachter zal dat ook in de toekomst wel goed zitten. Ik weet niet zo goed of ik hierdoor aan Java vastzit? Of kan ik via ikvm nog steeds mijn programmas in C# schrijven? Qt is tot nu toe niet echt vector-gebaseerd geweest, maar bij Qt4 is die ondersteuning heel degelijk zo lijkt t, en getuige de weblog van deze Trolltech Qt developer wordt t alleen maar beter. SVG GUIs, volledig costumizable met standaard, well-known-by-ordinary-people CSS!

It sounds like it could be either bad hardware or software


Verwijderd

smokalot schreef op vrijdag 01 september 2006 @ 13:49:
Met mijn eigen vrijheid bedoel ik dat de software vrij is, in ieder geval voor Linux, en OSX is mooi meegenomen. Met andermans vrijheid bedoel ik dat de software ook op andere platformen (lees: windows) vrij is, en redelijk goed werkt. Flash is dus bijvoorbeeld geen optie.
Waarom is Flash geen optie, omdat de Player 9 er nog niet is voor Linux? If so, nog een paar maandjes wachten voor de beta en dan is ook dat platform weer up-to-date (zie ook de blog van onze linux engineer voor Flash Player 9: http://blogs.adobe.com/penguin.swf/).

Verder krijg je volgens mij alle vrijheden die je zoekt, zeker wanneer je gebruik maakt van Adobe Flex 2; gratis UI framework SDK, gratis compiler, gratis server software (Flex Data Services Express), grote community, vector driven, eenvoudig te leren als je Java / PHP kennis hebt (Flex ontwikkelen is een combinatie van XML en ECMAScript) etc.

Kijk je eigenlijk specifiek naar desktop of web applicaties? Flash/Flex is natuurlijk voor het web, maar hou ook http://labs.adobe.com in de gaten voor 'Apollo', een met de desktop geintegreerde versie van de Player.

Microsoft schijnt ook een gedeelte van hun .NET 3 vector engine cross platform te maken ( >:) ).

  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Topicstarter
Verwijderd schreef op zondag 03 september 2006 @ 21:12:
[...]


Waarom is Flash geen optie, omdat de Player 9 er nog niet is voor Linux? If so, nog een paar maandjes wachten voor de beta en dan is ook dat platform weer up-to-date (zie ook de blog van onze linux engineer voor Flash Player 9: http://blogs.adobe.com/penguin.swf/).

Verder krijg je volgens mij alle vrijheden die je zoekt, zeker wanneer je gebruik maakt van Adobe Flex 2; gratis UI framework SDK, gratis compiler, gratis server software (Flex Data Services Express), grote community, vector driven, eenvoudig te leren als je Java / PHP kennis hebt (Flex ontwikkelen is een combinatie van XML en ECMAScript) etc.

Kijk je eigenlijk specifiek naar desktop of web applicaties? Flash/Flex is natuurlijk voor het web, maar hou ook http://labs.adobe.com in de gaten voor 'Apollo', een met de desktop geintegreerde versie van de Player.

Microsoft schijnt ook een gedeelte van hun .NET 3 vector engine cross platform te maken ( >:) ).
Flash is niet vrij, ik mag het niet aanpassen aan mijn wensen (zou ik bij Qt ook niet doen, maar daar zijn er tenminste anderen die het doen, waar ik dan weer gebruik van kan maken) bijvoorbeeld. Die onvrijheid uit zich onder andere in het niet (of slecht) beschikbaar zijn voor linux, FreeBSD, en sommige mobiele toepassingen (terwijl vectoren daar juist zo lekker werken!). En dan heb ik het nog over linux en FreeBSD op de meest gebruikelijke architectuur, pas als de flash plugin beschikbaar komt voor linux/Alpha en linux/ARM neem ik deze opmerking terug!

Wat ik bijvoorbeeld erg prettig vind aan Java en C# (eigenlijk meer mono misschien) is dat het ontworpen is om cross-platform te zijn, en er heel veel externe libraries te gebruiken zijn. Zo kun je GTK# gebruiken vanuit mono, GTK of Qt vanuit Java, heb je gstreamer libraries, heb je FUSE bindings voor mono allemaal vrij (gratis EN open).

maar dat van .NET versie 3 klinkt wel erg interessant! heb je daar misschien een link van? Ik kan me eigenlijk niet zo goed voorstellen dat MS het zelf cross-platform maakt?

It sounds like it could be either bad hardware or software


  • Apache
  • Registratie: Juli 2000
  • Laatst online: 11-02 10:20

Apache

amateur software devver

SWT, native widgets op elk platform, op elk platform mooier & sneller dan swing.

If it ain't broken it doesn't have enough features


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

wxWidgets? Is ook niet vector-based, maar wel cross-platform, redelijk wat gebruikers.

Rustacean


Verwijderd

smokalot schreef op zondag 03 september 2006 @ 21:47:
[...]

Flash is niet vrij, ik mag het niet aanpassen aan mijn wensen (zou ik bij Qt ook niet doen, maar daar zijn er tenminste anderen die het doen, waar ik dan weer gebruik van kan maken) bijvoorbeeld.
De Flash Player is inderdaad niet vrij in die vorm van open source, maar qua content kan je er zo'n beetje alles in dat een GUI nodig heeft (correct me if I am wrong)? Het Flex framework wordt inclusief sourcecode gepubliceerd, dus daar kan je ook alles aan aanpassen, of anderen dat laten doen (hetgeen veel gebeurd in de communicatie). En natuurlijk wordt de SWF standaard gepubliceerd, dus je kan je eigen SWF compiler bouwen.

Maar ik zie je Linux eisen, weet niet of ze allemaal zullen uitkomen in de linux versie van FP9. Oh ja, Flash (wel oudere versie dan 9, vergelijkbaar met 7) draait ook op veel phones.

MS verhaal: Stewart heeft veel goed spul op zijn weblog, ik ken niet de details http://blogs.zdnet.com/Stewart/?cat=25

Verwijderd

smokalot schreef op vrijdag 01 september 2006 @ 13:49:
De reden dat ik vectorgebaseerd wil is omdat dit volgens mij de toekomst is. Mensen die hun 17" TFT op 1024x768 zetten omdat op de native resolutie de lettertjes zo klein zijn klinkt gewoon zoooo 2000. Een hoge resolutie zou alleen maar meer scherpte moeten geven.
Dat zijn de zelfde mensen die niet weten dat je ook gewoon je font wat groter kan zetten... ;)

Niet vector gebasseerd, maar misschien is FOX iets voor je (www.fox-toolkit.org) evt in combinatie met Ruby (www.fxruby.org) ?
Pagina: 1