Frameworks en Javascript

Sin duda los frameworks son una gran idea porque nos ayudan a desarrollar más rápido y sobre todo con una interfaz mas amena al usuario, aqui hay algunos de los frameworks que utilizo o he utilizado:

Prototype y script.aculo.us

Uno de los frameworks más viejos y que inicio con el movimiento AJAX y el de la Web 2.0
De hecho prototype parece ser el que “patentó” las abreviaturas como $(…) para acortar el document.getElementById, algo que otros frameworks también tendrán de forma similar

Ventajas: Limpio y fácil de usar, se usan de manera separada
Desventajas: No tiene muchos widgets

Página de Prototype Página de Script.aculo.us

jQuery

jQuery es una de esas librerías que en el momento en que la comienzas a utilizar no la dejarás ;) es muy simple de utilizar y lo que la llevo a la cima fueron los selectores, esta es una manera muy útil de seleccionar en primer lugar elementos DOM que cumplan con una regla, por ejemplo con jQuery $(‘img.miClase’) estamos seleccionando todas las imagenes que tengan como clase la de nombre “miClase”, esto es algo que toma muchas lineas en javascript “normal”, también regresa esto como un arreglo por lo que se puede ir alterando uno a uno o utilizando sus funciones de jQuery

El manejo de AJAX es un muy simple (como en la mayoría de frameworks), y por último se está trabajando en widgets para darle más poder a este framework

Ventajas: Pequeño, muy poderoso, fácil de usar, documentación bien estructurada (en la mayoría de casos)
Desventajas: No hay widgets, la parte jQuery-UI que se encarga de esto aún está en desarrollo y puede resultar en más tipo de prototipo rápido que en aplicaciones robustas

Página de jQuery Página de JQuery-UI

Mootools

Mootools es otra de esas herramientas que generan adicción, sus grandes ventajas están del lado gráfico ya que tiene efectos muy cuidados y algunos widgets que son muy útiles. También extiende algunas clases de uso común como Array o String para añadirle funciones útiles.

Las nuevas versiones también incluyen selectores aunque más básicos que jQuery

Ventajas: Efectos fáciles de utilizar, extiende funciones directamente a clases nativas
Desventajas: Falta de widgets avanzados

Página de mootools

YUI

Una Mega-Librería de Javascript, básicamente es un conjunto de widgets muy bien ensamblados y programados. Si se necesita programar algo a nivel empresarial sin duda YUI es la mejor solución, incluye widgets como autocompletado o el de calendario (que lo catapultaron a la fama), así como manejo de AJAX en una forma un poco más complicada (si se puede decir de esta manera) pero también más uniforme.

Por ejemplo es fácil crear un dialogo que envie la información de un formulario mediante AJAX debido a que fue pensado en muchos patrones de diseño y  programación.

Ventajas: Muchos widgets, uniformidad entre componentes, muy buena documentación y una gran cantidad de ejemplos.
Desventajas: El selector es una característica nueva (BETA), archivos gigantescos (en términos de javascript y que alcanzan un promedio de 500KB para descargar algunos componentes, en espacio de disco puede llegar hasta más de 10 MB si se descomprimen todas las versiones), lamentablemente como muchos componentes están relacionados no hay manera de “cortarlos” (aunque es posible no incluir los elementos adicionales para aliviar un poco la descarga de archivos, pero aún asi la arquitectura debio ser distinta y no incluir todo en un mega-componente)

Página de YUI

Ext-JS

Es una gran librería con muchos widgets de uso para una aplicación empresarial Web 2.0, tiene demos muy interesantes y provee soporte de licencia comercial u open source.

Ventajas: Muchos widgets
Desventajas: No lo he probado ;)

Página de ExtJS

Otras frameworks que prometen saltar a la fama si son llevados a cabo de manera cuidadosa:

Dojo

Aunque siento que Dojo no ha encontrado su “nicho” (a pesar de que está soportado por Zend Framework en la parte de Ajax), este puede ser la parte gráfica desde javascript, por supuesto javascript no puede dibujar sobre el navegador pero si lo puede hacer mediante otros plugins como el caso de SVG, Silverlight o Flash, al parecer ahora solo soporta SVG y Silverlight y no han implementado Flash que es mejor para esto.

Spry

Esta tecnología hay que observarla de cerca porque está madurando y va a ser un modelo a seguir en los próximos años.

Básicamente es un conjunto de widgets que se incrustan mediante xhtml en una página, así en vez del “aburrido” javascript de una vez que se ha cargado el documento asignar variables mediante id’s, nombres, etc; podemos hacer algo como:

<div id="productMenu" spry:region="dsProducts" style="display: none;">
	<table>
		<tr spry:repeat="dsProducts" spry:hover="hover" spry:suggestion="{name}">
			<td><div class="boxshot"><img src="../../demos/products/{boximage}" alt="{name}" /></div><div>{name}</div></td>
		</tr>
	</table>
</div>

Donde claramente se notan partes que serán rendereados en javascript, algo muy innovador.

Página de Spry

Temas similares