Apache Click
| Apache Click | ||
|---|---|---|
| Información general | ||
| Tipo de programa | Framework para aplicaciones web | |
| Desarrollador | Apache Software Foundation | |
| Lanzamiento inicial | 20 de noviembre de 2009 | |
| Licencia | Apache License 2.0 | |
| Estado actual | Obsoleto | |
| Información técnica | ||
| Programado en | Java | |
| Versiones | ||
| Última versión estable | 2.3.0 (info) (27.03.2011) | |
| Asistencia técnica | ||
| Sin soporte | ||
| Enlaces | ||
Apache Click es un framework para aplicaciones web orientado a páginas y a componentes, desarrollado en Java e implementado mediante la API de Java Servlets.
Se trata de un proyecto libre y de código abierto, cuyos resultados se distribuyen bajo la licencia Apache y que se ejecuta en cualquier instalación de JDK (versión 1.5 o superior).
Click se graduó como proyecto top level de Apache en noviembre de 2009. El proyecto se retiró en mayo de 2014.[1]
Resumen
Los objetivos de diseño principales del proyecto son la simpleza, la facilidad de uso, el desempeño y la escalabilidad. Para lograr estos objetivos, Click presenta un diseño intuitivo, orientado a páginas y componentes.
Páginas y componentes representan una buena manera de encapsular los conceptos de la web y permiten el desarrollo rápido de aplicaciones.
Click aplica un enfoque pragmático, siendo pocas las abstracciones que resulta necesario aprender y entender. El API de Java Servlets se encuentra plenamente al alcance del desarrollador, lo que facilita la conversión de aplicaciones desde un framework basado en acciones a uno basado en componentes.
Las páginas y las componentes se desarrollan en Java mientras que las plantillas se escriben en Velocity, FreeMarker o JSP. Las propias componentes saben cómo representarse a sí mismas, aliviando a los desarrolladores de la tarea de manutención de markup redundantes.
Una diferencia central entre Click y otros frameworks orientados a componentes consiste en que Click, por su propio diseño, no maneja estados, aunque sí soporta páginas dotadas de estado.
Otros frameworks
Existen varios otros frameworks orientados a componentes para Java, tales como JSF, Tapestry, WebObjects y Apache Wicket.
Algunos desarrolladores prefieren usar frameworks más tradicionales basados en acciones, entre los que se incluyen Apache Struts, Spring MVC y Stripes.
Ejemplo
Una aplicación Click tipo Hola mundo, con cuatro archivos:
- hello-world.htm
- El motor de plantillas por defecto para Click es Velocity, al archivo .htm será similar a una página normal, estática HTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<p>$message</p>
</body>
</html>
- HelloWorld.java
- El modelo de página que será ligado a la plantilla.
package org.wikipedia.click;
import org.apache.click.Page;
public class HelloWorld extends Page {
/**
* Constructor
*/
public HelloWorld() {
// Add the value to the map ("message" = "$message")
addModel("message", "Hello World!");
}
}
- click.xml
- El núcleo de una aplicación Click es el archivo de configuración
click.xml. En este archivo se especifican las páginas de la aplicación, los encabezamientos, el objeto de formato, así como el modo de la aplicación. - Click es suficientemente inteligente para reconocer que la clase de página
HelloWorlddebe enlazarse con la plantillahello-world.htm. Solo se le necesita informar a Click del paquete al que pertenece la claseHelloWorld, en este casoorg.wikipedia.click. Esto se hace por medio del archivo de configuraciónclick.xmlque le permite a Click mapear las peticiones dehello-world.htma la clase de páginaorg.wikipedia.click.HelloWorld. - Por defecto, el
ClickServletintentará cargar el archivo de configuración de la aplicación usando la ruta:/WEB-INF/click.xml
<?xml version="1.0" encoding="UTF-8"?>
<click-app>
<pages package="org.wikipedia.click"/>
</click-app>
- web.xml
- La definición de la aplicación en términos de servlet.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Click Example</display-name>
<servlet>
<servlet-name>click-servlet</servlet-name>
<servlet-class>org.apache.click.ClickServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>click-servlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>
Referencias
- Daoud, Frederic, Getting Started With Apache Click, archivado desde el original el 14 de enero de 2010, consultado el 4 de enero de 2010.
Enlaces externos
- Introducción (Guía del usuario de Click, en inglés)
- Get to know Apache Click (en inglés)
- Ejemplos
- Blog oficial de Apache Click
- Anuncios
- Artículo de Bob Schellink
- Artículo de Naoki Takezoe
- ClickIDE - un IDE basado en Eclipse