Contenido

X-Tags, crea tus propios elementos HTML con funcionalidad javascript

30 jul

+ 33

<x> o X-Tags, es una librería javascript que nos permitirá definir elementos HTML propios cargados con la funcionalidad que deseemos de una forma fácil y rápida.

La idea detrás de esta librería es que el diseño simplemente tenga que conocer el elemento HTML a crear y su estructura. Además, se basa en el estandar de Web Components y los Custom Elements, que nos permite definir elementos propios contemplados en los estandares modernos. Hasta el momento, la mejor opción es usar algún elemento HTML disponible e intentar que tenga algún sentido semántico en nuestro código.

Por lo tanto, si nuestros maquetadores conocen el código HTML que hemos definido previamente, por ejemplo este acordeón:


// HTML
<x-accordion>
    <x-toggler selected="true">Toggler 1</x-toggler>
    <div>Panel 1</div>
    
    <x-toggler>Toggler 2</x-toggler>
    <div>Panel 2</div>
    
    <x-toggler>Toggler 3</x-toggler>
    <div>Panel 3</div>
</x-accordion>

Nosotros solo tendremos que registrar el elemento con las características que nosotros deseemos.


// Javascript
xtag.register('accordion', {
    onCreate: function(){
        // Se ejecutará cuando un elemento es creado o parseado
    },
    onInsert: function(){
        // Se ejecutará cuando un elemento es insertado en el DOM
    },
    events: {
        'click:delegate(x-toggler)': function(){
            // Se ejecuta cuando un toggler es ejecutado.
        }
    },
    getters: {
        'togglers': function(){
            // Devuelve todos los elementos togglers.
        }
    },
    setters: {
        // Añade Objetos DOM
    },
    methods: {
        nextToggler: function(){
            // Activa nuevo toggle
        },
        previousToggler: function(){
            // Activa el toggle previo
        }
    }
});

Y todo ello, siendo disponible para la mayoría de navegadores de escritorio y todos los móviles. Ver más ejemplos

  • Disculpa, pero no he entendido muy bien. :-(

    • @Alessandro: Perdona, las prisas…

      La idea de X-Tags, es permitirte establecer un sistema basado en tags HTML inventados que los diseñadores/maquetadores podrán usar sin tener mayor problemas que los que tu especifiques sobre este tag. Mientras, tu podrás disponer de una funcionalidad específica para dicho tag por separado sin tener que usar elementos ya disponibles destinados únicamente para darle semántica al contenido.

      El ejemplo del acordeón, nos dice que los maquetadores únicamente deberán tener en cuenta que en ese lugar debe haber un <accordion> y los .toggles que ellos quieran, mientras tu defines la funcionalidad para el elemento <accordion>.

      No es nada nuevo, pero aporta mayor claridad al código y al proyecto en global.

  • creo que es de vital importancia esto ya que esto nos ayuda mucho en cuanto a la optimizacion de un sitio web si no manejamos cogigos html estamos perdidos

  • Esta idea ya se me había ocurrido a mi el año pasado, pero no la pude llevar a cabo por cuestiones de tiempo :( gracias por compartir la información.

  • espero que sta nueva idea no se propague, suficiente problemas tenemos ya con un monton de diseñadores y programadores que no tienen idea de semantica y que vomitan etiquetas encima de un archivo

    html5 tiene muchas etiquetas semanticas que debieramos usar para estructurar debidamente un documento, si no basta con eso, estan los microformatos y si aun no basta con eso, puedes agregar clases y ID a cualquier etiqueta
    esto es html no xml

  • @inyaka, estoy de acuerdo contigo en que hay diseñadores que deberían aprender HTML, pero este tipo de herramientas permiten al desarrollador el control de la etiqueta asi como de la funcionalidad asociada. Si has desarrollado en lenguajes como Java conocerás los famosos/odiados taglibs, pues esto es una especie de implementación en Javascript. Así y todo es cierto que HTML5 trae bastantes tags semánticos te puedo decir ya que no son suficientes…

  • @aNieto2k: a ser franco yo no uso ni un framework o lenguaje que no me permita tener control total sobre la vista, no trabajo con java del lado del servidor.
    con javascript puedes tener el control de cualquier etiqueta que desees, ya sea por el nombre de la etiqueta, por el id o por la clase, y si usas jquery, ademas por casi todos los selectores css3

    y como decía, cuando la gran cantidad de tags semanticos se haga poco, puedes recurrir a los microformatos (como vcard) e incluso puedes crear tus propios tags con data-xxx

    • @inyaka: Yo también era reticente a usar frameworks, incluso me costó dar el paso a jQuery, principalmente por eso mismo, me gusta tener el control del código y conocer que hace en cada punto. Pero eso, en mi casa, en mis proyectos personales, en los laborales la cosa cambia, he de llegar, cambiar de chip y aportar mi visión sobre los temas técnicos que ataquen a la web pero siempre con la premisa de que no voy a trabajar solo, que he de trabajar con gente que aunque está sobradamente preparada para trabajar en el equipo no dedica el mismo tiempo que dedico yo a autoformarme y a entender para que sirve cada tag, cada atributo,… así que por experiencia he aprendido que siempre la mejor herramienta, la mejor opción y el mejor camino a seguir es el que necesitas para ese momento concreto, esas características iniciales y sobretodo para el equipo que tienes.

      La utopía de hacer las cosas siguiendo los estándares, tanto semánticos como sintácticos es algo que poca gente puede llevar a cabo y si lo llevamos a grandes equipos de desarrollo esa poca gente se convierte en casi nadie.

      No es por que no se quiera, es por que, por lo general, no se puede. El código se degrada demasiado rápido, se detectan incidencias y mucha gente toca el mismo código lo que hace que las diferentes formas de programar y las diferentes visiones del trabajo y del código choquen.

      Ojo, que estoy contigo en que hay tags, atributos y herramientas estándares de sobra para hacer casi cualquier cosa, pero en mi caso, he visto que en la práctica somos 4 gatos los que las conocemos.

    • @aNieto2k: XD por esa misma razon aunque me gusta el desarrollo de de backend termino casi siempre metiendo mano en el front, por cierto, yo si uso frameworks, para equipos suelo recomendar Codeigniter, asi cualquier programador puede entender el código con muy poco esfuerzo y esta bien documentado, ademas el muy limpio para usar las vistas.

      por otro lado, si ya vemos que asi como estan las cosas puede ser mas o menos complejo implementar estandares ¿realmente sera buena idea complicar aun mas el panorama?

      por otro lado si uno le explica a los compañeros como usar las etiquetas y eso, suelen escuchar y aprender, claro, en un mundo donde los empleos duren mas de 3 meses esto solucionaría varios problemas, pero no se si esto sea realista en España

    • @inyaka: jejej, tienes razón, en mi curro he intentado dar algún curso de formación a los compañeros y la verdad es que el resultado se ha notado y ha mejorado la calidad del código,… unas semanas, luego la presión y la mala gestión de nuestros “managers” nos llevan a generar spaguetti code por un tubo.

      Lo de CodeIgniter me parece una idea genial, además de ser un framework muy completo, lástima que en mi empresa por obligación estamos trabajando con Java… y bueno, es lo que hay…

      En fin, está claro que al final hay que adaptarse a lo que hay y más o menos llevarlo lo mejor posible. El uso de la filosofía de “pan para hoy hambre para mañana”, de no dejarnos hacer las cosas como se deberían hacer tiene la ventaja de que nos asegura trabajo unos meses más :D

  • gracias , muy util voy a probarlo a ver que tal sale

  • Ese plugins de tags sirven también para que los bots puedan seguir la estructura?

  • Interesante articulo. Soy desarrollador web y me vendra de mucha utlidad.

  • Muchas gracias, soy novato en programación, el contenido de este blog me va a servir mucho.

    Saludos!

  • Estoy aprendiendo javascript y esto me va a resultar util. Gracias.

  • Parece algo medio complicado… esta como muy confuso xD!

    Aunque bueno nunca esta demás de aprender algo mas de jquery así que pondré a practica mucha información que hay en este blog!!!!

    Saludos y sigue así!

  • lo encuentro un poco lioso pero lo llevare a cabo haber como sale

  • Impresionante lo que se vienen en cuanto al desarrollo web!!

  • بى جروب بوابتك الى احدث اساليب التسويق الالكتروني والخدمات التجارية والاخبار التقنيةhttp://www.be4marketing.com/

  • Una pena que este blog se haya dejado de actualizar, tenia contenido muy interesante…

  • magnifica herramienta la tendré muy presente para mis próximas creaciones. saludos.

  • Es increiblemente util esta libreria, ya que nos permitirá desarrollar Apps con componentes especificamente para los usos que necesitemos, ahorrandonos no solo trabajo, sino incrementando su nivel de efectividad

  • Creo que yo, como muchos desarrolladores, deberíamos donar el 5% de nuestros ingresos a jQuery…porque nos hacen la vida muuuuuuuucho más fácil.

  • مركز كالتكس لاباده ومكافحه الحشرات والنمل والصراصيروالبق والفئران بدون مواد سامه ودون مغادره
    http://www.youtube.com/watch?v=rqfgqnNfV8s&feature=youtu.be

  • مركز كالتكس لاباده ومكافحه الحشرات والنمل والصراصيروالبق والفئران بدون مواد سامه ودون مغادره
    http://www.youtube.com/watch?v=wXEKy5SfIp8

  • Es cómo para fijar objetos que podamos recordar para poder utilizar sus propiedades hechas en css

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.