2010-07-24 30 views
13

¿Hay algún proyecto (código abierto) que tome los widgets y complementos para jQuery UI pero nos permite usarlos sin configurar ningún HTML?jQuery UI sin HTML

gusta Un poco Ext-js y Sproutcore, pero sin la complejidad acidental y la falta de fluidez, y más como Cappuccino, pero sin que sea necesario un Mac y los tiempos de carga horribles de Objetivo-j (que también tiene ningún soporte IDE). Además, más como Ukijs, pero con más widgets. Y un poco como Pyjamas y GWT, pero sin la falta de widgets, paso previo a la compilación y/o Java. Por ejemplo:

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

La razón por la que estoy tomando jQuery es porque es el único marco web compatible con todos los 30 essential controls (dada con enough plugins).

+0

Esto podría ser una muy buena idea para un complemento jQuery, si me preguntas.Pero tenga en cuenta que si los usuarios desactivan javascript, no hay contenido en la página con este tipo de código. –

+2

Sí. Al igual que no funcionará para cappuccino, sproutcore, ukijs o extjs tampoco. Estos son marcos para aplicaciones web, no páginas web. –

+0

¡Hacer javascript write the HTML ralentizará inmensamente tu página! Si no está seguro de usar HTML, debe aprenderlo. Sin embargo, si lo necesita solo por razones dinámicas ... – UpHelix

Respuesta

2

no creo que exista una conexión DSL adecuado en el momento, lo más cercano que puedo pensar es CoffeeScript

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

También sería un buen punto de partida para construir a partir.

+2

Coffescript es un lenguaje totalmente nuevo que la "fuente" compila a javascript. No está ni remotamente relacionado con UI o Jquery. Y construir en Coffescript sería una delicia, pero las personas de Javascript ya han visto este programa: Java con GWT, Objective-J con Cappuccino, y todos los frameworks web en el servidor con todos los demás lenguajes. No me importaría usar uno escrito en un coffescript, pero escribir uno en él haría que la barrera de entrada para otros desarrolladores fuera más alta (y tenemos que derribar las paredes entre nosotros, no crearlas). –

+0

Contrario a esto ... >> pero escribir uno en él haría que la barrera de entrada para otros desarrolladores fuera más alta (y tenemos que derribar las paredes entre nosotros, no crearlas). << El objetivo de CoffeeScript es facilitar la barrera de entrada, mejorar la claridad del código y proporcionar un modelo sintáctico más limpio que el ruido que es JS/ECMA. Pero, independientemente, es una opción que no es más que cielo azul para su pregunta original. Solo pensé en darte un punto de pensamiento. – ocodo

+0

El mayor problema con coffescript en este momento es su soporte ide. Javascript tiene una de las mejores herramientas de refactorización y de inferencia de tipos entre los lenguajes dinámicos. Esto se debe principalmente a la falta de method_missing, doesnNUnderstand, missing_method, equivalente, lo que hace que esto sea mucho más fácil de hacer. Coffescript solo tiene resaltado de sintaxis (es demasiado pronto, para un lenguaje aún en desarrollo). Y coffescript, aunque no tan extraño para la mayoría de los programadores de JS como java u objetivo-j, impondría una barrera de aprendizaje. Lo arraigo, pero es temprano para saltar en su carro, al menos para los marcos. –

0

¿Qué le impide usar JavaScript y jQuery UI como este ahora?

Según mi leal saber y entender, cargar una página web en un navegador web de última generación requiere un documento (X) HTML, pero nada le impide convertirlo en un apéndice y construir su aplicación completamente en JavaScript.

+0

Tienes razón en que esto no es imposible. La pregunta es: ¿alguien más ha envuelto todos los dichos componentes de jquery plugins/jquery ui de esa manera? Busque el ejemplo de onda de ukijs fuente (http://ukijs.org/examples/core-examples/wave/) para comprender mejor lo que quiero decir. –

2

Veamos si entiendo la pregunta. En lugar de

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

¿Quieres

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

¿Eso se ajusta a sus necesidades? Al final del día, aún necesitará especificar los detalles del botón (a dónde va, su texto, qué sucede cuando hace clic en él) independientemente de la sintaxis.

+0

En realidad, estoy pensando más en el estilo dsl de uki.js He editado la publicación para que sea más clara –

1

DHTMLX es similar a ExtJS, que desafortunadamente incluye compartir algunas de sus desventajas.

+0

Interesante. Ahora sabía DHTMLX. Pero para un kit de herramientas con características de pago, tiene casi tantos widgets como uki (que no es mucho). También está TIBCO, que no mencioné ya que tiene una complejidad más accidental que Sproutcore (que es uno de los pocos frameworks js que es más complejo que GWT). –

0

como "Mr. brillante y nuevo" señaló el siguiente código funcionaría:

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

Sin embargo el estilo que busca puede ser accieved mediante el uso de la función appendTo():

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

    }).appendTo('#test'); 

Además el código anterior devuelve el objeto de "botón", que le permite asignar el objeto a una variable para su reutilización futura:

// 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 pregunta dice: "toma los widgets y complementos para jQuery UI". Por lo tanto, no estoy preguntando si es posible. Se que es posible. Lo he hecho una y otra vez Me interesa si alguien más ya lanzó una biblioteca que hace * TODOS * esto para todos los widgets de jquery ui y los complementos más importantes. Si no existe, tan pronto como mi solución madure, la abriré. Pero pensé que era innecesario que la comunidad tuviera 2 de tales proyectos. –