Autore Topic: Qualcuno mi spiega cos'è XUL?  (Letto 6364 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline iacchi

  • Amministratore
  • Post: 6375
    • iacchiblog
Qualcuno mi spiega cos'è XUL?
« il: 16 Gennaio 2004 20:30:46 »
Come da titolo, qualcuno mi spiega cos'è, cosa ci si può fare, quali sono le sue funzioni primarie e i suoi limiti? ( non mi serve un trattato :D  )

Offline prometeo

  • Moderatore
  • Post: 2538
    • https://www.tenutamontescosso.it/
Qualcuno mi spiega cos'è XUL?
« Risposta #1 il: 16 Gennaio 2004 21:18:39 »
http://www.xulplanet.com/tutorials/whyxul.html
Spiega tutto quello che serve sapere.
C'è anche un articolo su IBM Developerworks sullo sviluppo di applicazioni in XUL.
Ciao, Giacomo.

Offline iacchi

  • Amministratore
  • Post: 6375
    • iacchiblog
Qualcuno mi spiega cos'è XUL?
« Risposta #2 il: 16 Gennaio 2004 22:01:58 »
Grazie, molto esauriente e soprattutto molto interessante. A questo punto una domanda a bruciapelo: secondo te XUL potrebbe essere utilizzato per creare un programma gestionale per un'azienda, utilizzando XML come database? E' abbastanza stabile anche?

Offline Michele Dal Corso

  • Post: 1321
Qualcuno mi spiega cos'è XUL?
« Risposta #3 il: 16 Gennaio 2004 23:28:05 »
Citazione da: iacchi
Grazie, molto esauriente e soprattutto molto interessante. A questo punto una domanda a bruciapelo: secondo te XUL potrebbe essere utilizzato per creare un programma gestionale per un'azienda, utilizzando XML come database? E' abbastanza stabile anche?


Sì! Per approfondire l'argomento esiste una ML italiana: http://www.cfmentor.com/mailman/listinfo/xulex (creata da Fabio Serra, alla quale sono iscritto e che devo inserire fra i link delle risorse del nostro sito. Fra non molto Fabio scriverà degli articoli per noi! Il gruppo Mozilla Italia si sta ingrandendo e fra un po' non sarà più di soli traduttori...)

Ciao,
Michele

Offline prometeo

  • Moderatore
  • Post: 2538
    • https://www.tenutamontescosso.it/
Qualcuno mi spiega cos'è XUL?
« Risposta #4 il: 16 Gennaio 2004 23:29:09 »
Vedi qua:
http://www.activestate.com/Products/Komodo/?_x=1
Questa è una applicazione XUL, ma per il tuo problema non so se può andare bene. L'ideale sarebbe un'applicazione distribuita...
Ciao, Giacomo.

Offline iacchi

  • Amministratore
  • Post: 6375
    • iacchiblog
Qualcuno mi spiega cos'è XUL?
« Risposta #5 il: 17 Gennaio 2004 15:48:55 »
Citazione da: prometeo
Vedi qua:
http://www.activestate.com/Products/Komodo/?_x=1
Questa è una applicazione XUL, ma per il tuo problema non so se può andare bene. L'ideale sarebbe un'applicazione distribuita...
Ciao, Giacomo.


Questo mi sembra piuttosto in IDE, tra l'altro a pagamento. Se possibile, io avrei intenzione di scrivere un programma di gestione aziendale in XUL, per questo chiedevo se con questo linguaggio era fattibile.

Offline iacchi

  • Amministratore
  • Post: 6375
    • iacchiblog
Qualcuno mi spiega cos'è XUL?
« Risposta #6 il: 17 Gennaio 2004 15:49:58 »
Citazione da: dalco

Sì! Per approfondire l'argomento esiste una ML italiana: http://www.cfmentor.com/mailman/listinfo/xulex (creata da Fabio Serra, alla quale sono iscritto e che devo inserire fra i link delle risorse del nostro sito. Fra non molto Fabio scriverà degli articoli per noi! Il gruppo Mozilla Italia si sta ingrandendo e fra un po' non sarà più di soli traduttori...)

Ciao,
Michele


Onestamente non ho tempo per seguire un'altra ML, comunque grazie. L'importante è sapere che è tecnicamente fattibile. In fatti sono ancora indeciso con cosa scriverlo: c, java o a questo punto XUL

Offline prometeo

  • Moderatore
  • Post: 2538
    • https://www.tenutamontescosso.it/
Qualcuno mi spiega cos'è XUL?
« Risposta #7 il: 17 Gennaio 2004 16:40:11 »
Citazione da: iacchi
Questo mi sembra piuttosto in IDE, tra l'altro a pagamento. Se possibile, io avrei intenzione di scrivere un programma di gestione aziendale in XUL, per questo chiedevo se con questo linguaggio era fattibile.


Non mi hai capito: Komodo è un IDE scritto in XUL (a pagamento, sì, e pure parecchio...). Era solo un esempio di applicativo grosso scritto in XUL, per far capire che la cosa è fattibile...
Ritengo però che è inutile usare XUL per qualcosa non strettamente legato al web (l'IDE in questione di riflesso è legato al repository dei sorgenti, assimilabile ad un server web). Visti i recenti benchmark di velocità (OSNews mi pare), non fa molta differenza tra C, C++ e Java. Con quest'ultimo però hai il vantaggio che lo scrivi una volta e va bene su tutte le piattaforme con la necessaria JVM, senza ricompilare...
Ciao, Giacomo.

Offline Michele Dal Corso

  • Post: 1321
Qualcuno mi spiega cos'è XUL?
« Risposta #8 il: 17 Gennaio 2004 16:55:38 »
Citazione da: iacchi
Questo mi sembra piuttosto in IDE, tra l'altro a pagamento. Se possibile, io avrei intenzione di scrivere un programma di gestione aziendale in XUL, per questo chiedevo se con questo linguaggio era fattibile.


Attento a non confondere XUL con un linguaggio di programmazione: non lo è! XUL è un linguaggio di markup per creare interfacce utente multipiattaforma ed eventualmente remote, che utilizza Javascript come gestore degli eventi. Nulla di più!

Se vuoi scrivere un'applicazione devi avere comunque un linguaggio di programmazione sottostante: tipicamente C o C++ per le applicazioni standalone (come Komodo), (il top sarebbe utilizzare Python date le prestazioni nettamente superiori in termini di performance e facilità di programmazione rispetto al C++), oppure php, asp (bleah), ecc. per le applicazioni remote e magari distribuite.

I vantaggi di XUL sono notevoli: ad esempio in accoppiata col php permette di scrivere ottime web application, che risiedono su di un server (potrebbe essere un piccolo server aziendale) e alle quali tutti possono accedere con il solo browser, senza i limiti dell'html (in sostanza senza la lentezza intrinseca dell'html). Pensa ad un gestionale di questo genere...

Ciao,
Michele

Offline iacchi

  • Amministratore
  • Post: 6375
    • iacchiblog
Qualcuno mi spiega cos'è XUL?
« Risposta #9 il: 17 Gennaio 2004 23:06:22 »
Quindi mi stai dicendo che con java non sarebbe possibile gestire gli aggiornamenti al database xml, giusto?

Offline Michele Dal Corso

  • Post: 1321
Qualcuno mi spiega cos'è XUL?
« Risposta #10 il: 17 Gennaio 2004 23:19:26 »
Citazione da: iacchi
Quindi mi stai dicendo che con java non sarebbe possibile gestire gli aggiornamenti al database xml, giusto?


Non ho parlato di Java, ma di Javascript. Se guardi questa applicazione: http://www.infodraft.com/~faser/mabbeta/content/mab.xul credo faccia ciò che intendi tu.

Ciao,
Michele

Offline iacchi

  • Amministratore
  • Post: 6375
    • iacchiblog
Qualcuno mi spiega cos'è XUL?
« Risposta #11 il: 17 Gennaio 2004 23:22:06 »
No, non è quello che intendevo, comunque ho capito, non si può fare.

Offline Michele Dal Corso

  • Post: 1321
Qualcuno mi spiega cos'è XUL?
« Risposta #12 il: 17 Gennaio 2004 23:47:58 »
Citazione da: iacchi
No, non è quello che intendevo, comunque ho capito, non si può fare.


L'applicazione che ti indicavo sopra pesca dei dati da un database xml, non è questo che volevi fare?

Offline iacchi

  • Amministratore
  • Post: 6375
    • iacchiblog
Qualcuno mi spiega cos'è XUL?
« Risposta #13 il: 17 Gennaio 2004 23:53:13 »
Si, il problema è che è un attimo più complesso: dovrebbe gestire tutto il transito di materiali e prodotti finiti di un'azienda, aggiornare 5 magazzini diversi, emettere fatture (precise al centesimo), rendere come output fogli destinati per la produzione, calcolare vendite, aggiornare i daatabase ecc. ecc. Non è semplicemente pescare da un database xml. XUL può fare tutto ciò?

Offline Michele Dal Corso

  • Post: 1321
Qualcuno mi spiega cos'è XUL?
« Risposta #14 il: 19 Gennaio 2004 13:21:07 »
Citazione da: iacchi
Si, il problema è che è un attimo più complesso: dovrebbe gestire tutto il transito di materiali e prodotti finiti di un'azienda, aggiornare 5 magazzini diversi, emettere fatture (precise al centesimo), rendere come output fogli destinati per la produzione, calcolare vendite, aggiornare i daatabase ecc. ecc. Non è semplicemente pescare da un database xml. XUL può fare tutto ciò?


Perché vuoi che XUL faccia tutto ciò? Come fa XUL a fare qualcosa se è solo un linguaggio di markup XML?

Per farti capire cosè xul ti faccio questo esempio classico:

Quando programmi in C o C++ scrivi delle funzioni oppure delle classi, insomma del codice che fa qualcosa, tipo:

a = c + d;
printf("%d", a);

ma non hai un'interfaccia grafica. Allora normalmente si aggiungono delle librerie al proprio programma, che possono essere quelle native di Windows, ma anche altre, come GTK, QT ecc. che ti permettono di generare l'interfaccia, a partire dalla finestra, fino ai pulsanti e a tutte le altre widget.

XUL può sostituire proprio questa parte: invece di inglobare windows.h o gtk.h nel tuo programma, puoi inglobare direttamente Gecko, ed invece di utilizzare le widget Windows, GTK ecc, puoi utilizzare le widget XUL.

L'accoppiata wincente più che C+gecko è Python+Gecko, sia per facilità di programmazione che efficienza del software prodotto (i programmi interpretati in Python sono da 2 a 5 volte più veloci degli analoghi compilati in C).

Un'utilizzo differente di xul è quello di avere un backend che produce codice XUL da dare in pasto a Mozilla. Il backend può essere php, python, servlet java, cgi, asp, ecc. che ti genera al volo l'interfaccia e si va a pescare tutti i dati necessari.

Ad esempio php ha tutte le librerie necessarie a trattare file xml con efficienza: basta associargli XUL per avere un'interfaccia grafica degna di chiamarsi tale. Lo stesso lo puoi fare con python, ecc.

Spero di essermi finalmente spiegato! La risposta a "Si può fare con XUL" è decisamente SI se si ha capito cos'è XUL, perché XUL si usa col proprio linguaggio di programmazione preferito per realizzare interfaccie, siano esse locali (caso del binding C (o altro) + gecko) che remote (caso di produzione al volo di codice XUL da far interpretare a Mozilla).

La risposta è NO se invece commetti l'errore di pensare a XUL come a un linguaggio di programmazione (non lo è: è puro e semplice XML).

I vantaggi? Nel caso dell'utilizzo in locale è sostanzialmente il supporto multipiattaforma nativo e la disponibilità di avere il rendering dell'html incorporato. Nel caso remoto (ma che può essere anche locale se si installa localmente l'interprete php, o si compilano gli script) i vantaggi invece sono molto maggiori: si ha al volo un software distribuito e leggero, facile da scrivere (vuoi mettere programmare in python rispetto a quei ruderi di Java o, peggio del peggio, C/C++?), multipiattaforma fin dall'inizio.

Come c'entra JavaScript in tutto ciò (e non confondere Javascript con Java: il termine corretto sarebbe ECMAScript)? Viene utilizzato da XUL per la gestione degli eventi (ovvero il click del mouse, la gestione di un widget, ecc.). In realtà ci si può scrivere anche del software (ECMAscript è un linguaggio completo contrariamente a quanto si possa pensare) ma l'approccio è più difficoltoso per la mancanza di seri strumenti di supporto (a parte Venkman).

Cmq ti ripeto: se chiedi nella ML che ti ho indicato all'inizio del thread troverai un bel po' di persone che hanno già affrontato ciò che tu vuoi... mica la devi seguire sta ML...

Ciao,
Michele

0 Utenti e 1 Visitatore stanno visualizzando questo topic.