paginas web barcelona

Centro Web Barcelona

Soluciones en Internet

ANGULAR vs JQUERY vs BACKBONE



ANGULAR

maquetacion centro webPara definir Angular primero hay que decir que AngularJs es Javascript. De código abierto que contiene un conjunto de librerías para el desarrollo de aplicaciones web, lo que llamamos comunmente como un Framework de programación de lado del cliente.

Entre otros el objetivo de AngularJs es mejorar el código HTML de manera que escribiendo en este código percibamos claramente que está realizando incluso sin grandes conocimientos de programación. Lo que se conoce como HTML enriquecido. Esta tarea se realiza mediante las llamadas directivas, muchas personas aportan constantemente nuevas directivas útiles para distintas finalidades o proyectos.

Los términos que usa Angular y que debemos conocer son: las Vistas, son el HTML, datos e información. Controladores: Sirven para mover datos contra el servidor o de manera local se encargan e las Factorias y de los Servicios. Modelo: relaciona algo mas que los datos, por ejemplo, accesos y permisos de usuarios y sus derechos de acceso, modificación de datos, etc. Módulos: forma de desarrollar el código para que sea claro y simplificado.

Así angular tiene dos partes diferenciadas: HTML, parte declarativa y la parte de Javascript que son las factorías, controladores y servicios.

Muy importante es el concepto SCOPE. En Angular es el Modelo, un objeto Javascript extensible para crear funciones. Comunica nuestro HTML con Javascript y viceversa.

Los ordenadores actuales pueden procesar con velocidad ciertas cosas. Pueden recibir simples datos y tratarlos por sí mismos en HTML para mostrarlos con plantillas. Antes el servidor era el que tenía que enviar el HTML literal al cliente, ahora la tendencia es que solo envíe los datos y que el cliente (navegador o cualquier otro sistema donde desees ver esos datos) sea el que los muestre correctamente.

Esto facilita la tarea del maquetador web y aumenta la rapidez de la comunicación. Aunque Angular no resuelve todo tipo de proyectos. En términos SEO, Angular y los frameworks Javascript no son una ventaja pues los motores de búsqueda reciben código vacío de contenido. En este aspecto Google está haciendo esfuerzos para resolver esta desventaja.

Las ventajas de Angular respecto, por ejemplo, Backbone es que el primero requiera menos escritura de código. La comunidad de este Framework es grande y además tiene el apoyo de Google.

El sistema de inyección de dependencias de Angular carga todos los módulos necesarios al cargar la aplicación, esto supone que incluso si el usuario no accede a ciertas partes de esta, se cargan los módulos necesarios para que dichas partes funcionen.  Esto implica un volumen de trafico mayor del necesario, frente a otros modelos, como el implementado por RequireJS, que carga los módulos únicamente cuando estos son necesarios y se van a usar.

JQUERY

desarrollo web barcelonaJQuery es otro framwork de Javascript, para decirlo muy sintéticamente, es una compilación de utilidades a las que se puede recurrir sin ser programadas, pues se nos ofrecen listas para su ejecución.

Con Jquery podemos crear diferentes utilidades, como galerías de fotos, calendarios, efectos visuales, etc. Jquery es compatible con la mayoría de los navegadores. Es totalmente gratuito.

A la librería de Jquery podemos añadir plugins, es decir componentes que no nos vienen de origen pero que podemos añadir si queremos usarlos. Es open-source, que funciona en múltiples navegadores, y que es compatible con CSS3. Otra ventaja de jQuery sobre sus competidores como Flash y puro CSS es su excelente integración con AJAX.

Como desventaja las muchas versiones existentes, versiones que se actualizan en muy poco tiempo.

Angular y Jquery tienen como característica común que trabajan con el entorno de Javascript del lado del cliente, pero cada una es adecuada para un tipo de problemas distintos.

JQuery es una librería y sirve para acceder y modificar el estado de cualquiera de los elementos de la página. Con Jquery podemos trabajar los elementos de la página y modificar sus propiedades y comportamiento. Angular es un framework de aplicaciones, va mas allá de funcionalidades que enriquece HTML e incide en las normas de programación de nuestros proyectos.

 

BACKBONE

frontend webBackbone es otro Framework para el desarrollo de soluciones web. Desarrolla en Javascript desde el lado del cliente. Backbone da un estructura de aplicación pero el look and feel o el comportamiento lo podemos definir libremente con el resto de librerías o framework que queramos ir incorporando como pueden ser jQuery.

Muy indicado para desarrlloar aplicaciones de una sola página. Facilita la ordenación del código y la sincronización de las vistas. Permite el uso de colecciones de modelos, en los que tendrás acceso a diferentes operaciones sobre éstos. Backbone es bastante flexible, permitiendo aplicarlo a un sitio web completo o a un único módulo, algo que quizás nos aleja de la idea de framework.

Backbone no sustituye a JQuery sinó que lo complementa. Se puede usar en cualquierparte del proyecto pero es especialmente indicado desarrllos intensivos en el uso de Javascript. Añade complejidad al proyecto por eso la recomendación es no usarlo para pequeños desarrollos.

En Backbone no hay un estructura de proyecto predefinida que debas seguir, ni una única manera de hacer las cosas, son snippets de código reusables que combinas a placer, simplemente son clases para hacer modelos y vistas y métodos para comunicar con una API REST. A diferencia de Angular donde el proyecto ha de construirse siguiendo sus convenciones, con una estructura concreta. Angular no son piezas disjuntas que pueden usarse combinadas o no: es una maquinaria compleja que funciona como una única entidad.

En Backbone no hay necesidad aprender una sintaxis nueva, si tenemos experiencia con JQuery podemos programar utilizando Backbone sin apenas curva de aprendizaje. Este framework se ha quedado un poco anticuado conceptualmente. No en vano es uno de los primeros frameworks JavaScript.

Angular actualmente disfruta de un gran crecimiento en popularidad. Esto se traduce en una de las principales ventajas de AngularJS: su enorme comunidad de usuarios y el interés que genera.