Libreria GUI JavaScript che è utilizzabile da ClojuScript?
-
12-12-2019 - |
Domanda
In uno dei miei progetti di sviluppo web in corso, dobbiamo creare una pagina (in realtà una mini applicazione propria) che avrà un'interfaccia interattiva "Web 2.0", più come un'applicazione grafica desktop rispetto a un web tipicoPagina.
Spero di utilizzare un linguaggio di livello superiore che può compilare fino a JS per la logica del lato client, piuttosto che la programmazione direttamente in JS, e clojecript è la mia prima scelta.
Sto cercando una Biblioteca JS GUI che può essere utilizzata dall'interno di Clojecript, e che supporta uno stile di programmazione simile alle librerie della GUI "Desktop" come swing, qt, wxwidget e così via.Dovrebbe consentirmi di creare popup <div>
"Windows", inserire widget come pulsanti / etichette / ecc.In loro, allegare i gestori di eventi ai widget, e così via.Lo sai che funzionerebbe?
Soluzione
Dovresti prendere in considerazione la biblioteca di chiusura di Google.Ha tutte le caratteristiche che chiedi ed è sicuramente utilizzabile da clojuresscript, ho giocato con esso.Vedi http://closure-library.googlecode.com/svn-Storia / R1430 / Docs / Index.html
Altri suggerimenti
Clojecript è ancora giovane - non penso che ci siano quadri maturi di quel calibro (ancora?). Detto questo, sto costruendo un UI usando i seguenti componenti:
- .
- Twitter Bootstrap + jQuery per immagini e ui elementi
- amico di chas emerick per l'autenticazione lato server
- Compojure + anello + molo per il server
- cassa (clojurescript hiccup ) per la generazione di html / dom
- jayq per jquery wrapping
- Fetch e / o shoreleave I telecomandi per il server client RPC
- Meccanismo PubSUB di Shoreleave o
add-watch
di Clojure per il legame dei datiUna buona caratteristica di Clojure e ClojuScript sono che favoriscono funzioni semplici su strutture dati generiche. Ecco perché tendi a vedere diverse biblioteche più piccole che fanno un lavoro specifico, ma funziona davvero bene insieme, al contrario di giganteschi quadri monolitici con un modello di oggetto che richiede di adottare un modo di pensare completamente.
Penso che Extjs sarebbe adatto al meglio nel tuo caso, anche se questo è puro JS.Questa è la libreria GUI Web più avanzata al momento e consente di creare applicazioni Web in modo simile a quello utilizzando le lingue desktop e gli IDES.Basta controllare il loro demo .Non penso che ci sarà qualcosa di simile per il clousescript nel futuro previsto.