2010-04-13 6 views
13

XulRunner/Gecko sembra essere davvero interessante per lo sviluppo di applicazioni ad uso intensivo della GUI (utilizzando tecnologie ampiamente utilizzate come HTML/CSS/SVG/XUL/Javascript). Ma il sottotetto C++ APIS (XPCOM, NECKO, ...) sembra così vecchio e complesso. Inoltre, la mancanza generale di documentazione/strumenti di sviluppo è davvero terrificante.è XULRUNNER adatto come sostituto per altri framework di applicazioni desktop C++ come QT?

D'altra parte, QT ha una piattaforma abbastanza buona, ed è ben documentato e supportato. La parte dell'interfaccia utente è davvero "tradizionale" però.

Quali sono le tue esperienze con XULRUNNER, specialmente rispetto ad altri framework per applicazioni desktop C++ come QT/GTK/MFC ...? Che cosa manca? Che cosa è fantastico?

Domanda laterale: se volessi eseguire la migrazione di un'app MFC esistente su un framework per applicazioni desktop C++ multipiattaforma, sarebbe opportuno utilizzare XULRUNNER anziché QT o GTK?

+0

Ascolta i segnali di pericolo: XulRunner porta a un vicolo cieco. Girati ora prima che tu sia troppo pesantemente investito. Ho sviluppato un componente aggiuntivo per Firefox in XUL prima e diciamo che preferirei non farlo di nuovo. – 10basetom

+0

@ 10basetom, grazie per questo importante commento. Ho fatto questa domanda 6 anni fa, e in quel momento, era ancora qualcosa da considerare. Oggi è chiaro che questo è un vicolo cieco! –

risposta

6

In realtà non ci sono molte applicazioni create con XulRunner, per quanto ne so. E dovrei saperlo, dato che sono stato capo tecnico per uno di loro e abbiamo cercato di assumere personale esperto. Col senno di poi, questo non mi sorprende. La nostra decisione di usare XulRunner è stata presa da un non sviluppatore, contro il mio consiglio. Molte cose hanno impiegato il doppio del tempo che avrebbero impiegato in wxWidgets, che abbiamo usato prima. Ora ho anche usato Qt in altri progetti, e direi che è anche meglio di wxWidgets. Quindi posso affermare in modo abbastanza affidabile che Qt sarà più che due volte più efficiente di XulRunner, e inoltre avrai un molto più facile trovare sviluppatori esperti con lo.

Certo, Javascript in XulRunner è bello. Ma Qt viene fornito con QtScript, che include JavaScriptCore. E quando si tratta di creare UI davvero ricche - vale a dire più di una semplice serie di immagini - allora HTML + SVG + CSS + JS non basta. Sono stati sviluppati per semplificare le cose semplici, non per rendere possibili cose complesse. Guarda la nuova funzione, il video. La soluzione di HTML5: un tag, e lasciare che qualche codice C++ dietro le quinte faccia il vero lavoro. Anche se il video è solo una grande pila di immagini mostrate una alla volta.

Quindi, il problema non è tanto che mancano cose. È solo che lo sviluppo è lento e il risultato è lento.

Dal lato fantastico, il meccanismo del plug-in funziona davvero bene.

Ora, questo vale se si inizia da zero. Se si dispone già di un sacco di codice MFC/C++, attenersi a C++ e rilasciare solo la parte MFC. Ciò significa che Qt o forse wxWidgets sono gli ovvi vincitori.

2

Non penso che tu voglia veramente scrivere codice XUL in C++. Lo scopo delle API XPCOM e così via è che puoi interfacciarti con le librerie C esistenti o se devi scrivere cose specifiche della piattaforma che richiedono la chiamata alle API al di fuori del motore javascript.

Se si desidera scrivere un'app di interfaccia grafica multipiattaforma nello javascript, potrebbe essere quello che si sta cercando.

1

Non ero in quella squadra, ma l'applicazione desktop Joost utilizzava XULRUNNER per l'interfaccia utente. Sebbene sia un'opzione, personalmente non la toccherò con un bastone per interfacce grafiche multipiattaforma. In effetti, la mia esperienza dimostra che avere un'unica app multipiattaforma sarà sempre scadente.

Il mio suggerimento: dividere la funzionalità dell'app principale e creare interfacce utente native per qualsiasi piattaforma sia necessaria. Otterrai un'esperienza utente molto migliore.

6

Per essere onesti, io non sono d'accordo non ci sono molti XULRunner apps là fuori ... ci sono un sacco, questi sono solo alcuni di quelli Mozilla sa di:

https://developer.mozilla.org/en/xulrunner_hall_of_fame

developer.mozilla.org/en/List_of_Mozilla-Based_Applications

Questo ovviamente esclude Firefox e Thunderbird stessi!

Il nostro è elencato ci www.redbacksystems.com/liaison/

ho sviluppato in questa piattaforma da circa 2003 e mi piace, data la scelta non avrei mai il programma in qualsiasi altra piattaforma ora.

Per quale motivo vorresti scrivere in QT o GTK quando puoi scrivere in JavaScript/ECMA conforme agli standard, incluso E4X, con supporto CSS e XML eccezionale, incluso XBL (anche se 1.0), RDF, XML Templating, remoto aggiornamento, plugin e supporto per estensione etc etc etc, e non mi avvio nemmeno su geo-location o supporto nativo SQL.

Se non riesci a eseguire il boot di un'app XULRunner abbastanza completa in pochi giorni, probabilmente hai qualcosa di gravemente sbagliato. Qualsiasi altro sforzo di codifica sarà richiesto indipendentemente dalla piattaforma di distribuzione.

Per me, il toolkit Mozilla è la piattaforma della barra delle scelte nessuno.

BTW, a quanto mi risulta Joost ha avuto sfide specifiche in quanto stavano scrivendo/implementando i propri rendering di video e tentando di riprodurre anche i contenuti DRM.

+0

Che cosa hai intenzione di fare ora che Mozilla ha rilasciato Xulrunner e sta deprecando XUL/XPCOM? – Wyatt8740

Problemi correlati