2010-07-24 14 views
13

Esiste un progetto (open source) che utilizza i widget e i plug-in per jQuery UI ma ci consente di utilizzarli senza impostare alcun HTML?jQuery UI senza HTML

piace pò Ext-js e Sproutcore, ma senza la complessità acidental e la mancanza di fluidità, e più come Cappuccino, ma senza richiedere un Mac ei tempi di caricamento orribili da Objective-j (che ha anche senza il supporto IDE). Inoltre, più come Ukijs, ma con più widget. E un po 'come Pyjamas e GWT, ma senza la mancanza di widget, fase di pre-compilazione e/o Java. Per esempio:

uki({ 
    view: "Button", text: "Hello world!", 
    rect: "120 80 180 24", 
    click: function() { alert(this.text()); 
}).attachTo(document.getElementById("test")); 

La ragione per cui sto prendendo jQuery è perché è l'unico framework web che supporta tutti i 30 essential controls (dato con enough plugins).

+0

Questa potrebbe essere una buona idea per un plugin jQuery, se me lo chiedi.Ma tieni a mente, se gli utenti disabilitano javascript - nessun contenuto sulla pagina con questo tipo di codice. –

+2

Sì. Proprio come non funzionerà per cappuccino, sproutcore, ukijs o extjs. Questi sono framework per applicazioni web, non pagine web. –

+0

Fare javascript scrivere l'HTML rallenta immensamente la tua pagina! Se non sei sicuro di usare l'HTML, dovresti impararlo. Comunque, se ne hai bisogno solo per ragioni dinamiche ... – UpHelix

risposta

2

non credo che esista un modem DSL adatto al momento, la cosa più vicina che posso pensare è CoffeeScript

http://jashkenas.github.com/coffee-script/

Sarebbe anche un buon punto di partenza per costruire da.

+2

Coffescript è una lingua completamente nuova la "fonte" compila in javascript. Non è neanche lontanamente imparentato con l'interfaccia utente o Jquery. Costruire su Coffescript sarebbe delizioso, ma le persone Javascript hanno già visto questo spettacolo: Java con GWT, Objective-J con Cappuccino e tutti i framework Web sul server con tutti gli altri linguaggi. Non mi dispiacerebbe usare uno scritto a coffescript, ma scriverne uno sarebbe rendere la barriera di ingresso più alta per altri sviluppatori (e abbiamo bisogno di abbattere i muri tra noi, non crearli). –

+0

Contrario a questo ... >> ma scriverne uno al suo interno renderebbe più alta la barriera di accesso per altri sviluppatori (e dobbiamo abbattere muri tra di noi, non crearli). << Il punto di CoffeeScript è di facilitare la barriera all'ingresso, migliorare la chiarezza del codice e fornire un modello sintattico che sia più pulito della poltiglia che è JS/ECMA. Ma a prescindere, è un'opzione che è semplicemente il cielo blu per la tua domanda originale. Ho solo pensato di darti un punto di vista. – ocodo

+0

Il più grande problema con coffescript al momento è il suo supporto ide. Javascript ha uno dei migliori strumenti di refactoring e di inferenza del tipo tra le lingue dinamiche. Ciò è dovuto principalmente alla mancanza di method_missing, doesnNotUnderstand, missing_method, equivalent, che rende queste cose molto più facili da fare. Coffescript ha solo l'evidenziazione della sintassi (è troppo presto, per un linguaggio ancora in fase di sviluppo). E il coffescript, sebbene non sia estraneo alla maggior parte dei programmatori JS come java o oggettivo-j, imporrebbe una barriera di apprendimento. Io faccio il tifo per questo, ma è presto per saltare sul suo carrozzone, almeno per i quadri. –

0

Cosa ti impedisce di utilizzare JavaScript e l'interfaccia utente jQuery come questa in questo momento?

Per quanto ne so, il caricamento di una pagina Web in un browser di generazione corrente richiede un documento (X) HTML, ma nulla impedisce di trasformare quel documento in uno stub e di costruire la tua applicazione interamente in JavaScript.

+0

Hai ragione che questo non è impossibile. La domanda è: qualcun altro ha avvolto tutti i componenti di jquery plugins/jquery ui in questo modo? Cerca l'esempio d'onda di ukijs sorgente (http://ukijs.org/examples/core-examples/wave/) per capire meglio cosa intendo. –

2

Vediamo se capisco la domanda. Invece di

<script> 
    $(function(){ 
    $('a').button(); 
    }); 
</script> 
<body> 
    <button id="foo">Foo</button> 
    <button id="bar">Bar</button> 
</body> 

Volete

<script> 
    $(function(){ 
    $('body').append($('<button>').attr('{ id: "foo" }').html('Foo').button()); 
    $('body').append($('<button id="bar">Bar</button>').button()); 
    }); 
</script> 
<body> 
</body> 

Vuol che soddisfano le vostre esigenze? Alla fine della giornata dovrai comunque specificare i dettagli del pulsante (dove va, il suo testo, cosa succede quando lo fai clic) indipendentemente dalla sintassi.

+0

In realtà, sto pensando di più nello stile dsl di uki.js Ho modificato il post per renderlo più chiaro –

1

DHTMLX è simile a ExtJS, che purtroppo include la condivisione di alcuni dei suoi svantaggi.

+0

Interessante. Ora conoscevo DHTMLX. Ma per un toolkit con funzionalità a pagamento, ha quasi tutti i widget di uki (che non è molto). C'è anche TIBCO, che non ho menzionato in quanto ha una complessità più accidentale rispetto a Sproutcore (che è uno dei pochi framework js che è più complesso di GWT). –

0

come "Mr. lucido e nuovo" rilevare il seguente codice dovrebbe funzionare:

$('body').append($('<button>').attr('{ id: "foo" }').html('Foo').button()); 

Tuttavia lo stile che stai cercando può essere accieved utilizzando la) Funzione appendTo (:

$('<button id="foo"></button>') 
    .button({ 
     label: "Hello world!", 
    }).click(function() { 
     //doSomething 

    }).appendTo('#test'); 

Inoltre, il codice di cui sopra restituisce l'oggetto "pulsante", che permette di assegnare l'oggetto a una variabile per il futuro riutilizzo:

// set up the button 
var a = $('<button/>').button({ 
    label: 'Hello world!' 
}).offset({ 
    top: 80, 
    left: 120 
}).width(180).height(24) 
.click(function() { 
    // dosomething 
}).appendTo('body'); 

// hide then show and rename (if it takes your fancy) 
a.hide(300, function() { 
    a.show(300, function() { 
     a.button("option" , { 
      label: 'Hello to the world again!' 
     }); 
    }); 
}); 
+0

La domanda recita: "prende i widget e i plugin per l'interfaccia utente di jQuery". Pertanto, non sto chiedendo se è possibile. So che è possibile. L'ho fatto più e più volte. Mi interessa se qualcun altro ha già rilasciato una libreria che fa * TUTTO * di questo per tutti i widget ui jquery e i plugin più importanti. Se non esiste, non appena la mia soluzione sarà matura, la aprirò all'origine. Ma ho pensato che non fosse necessario per la comunità avere 2 di questi progetti. –