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
[editar]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
[editar]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
[editar]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"
"https://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
HelloWorld
debe 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.xml
que le permite a Click mapear las peticiones dehello-world.htm
a la clase de páginaorg.wikipedia.click.HelloWorld
. - Por defecto, el
ClickServlet
intentará 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="https://www.w3.org/2001/XMLSchema-instance"
xmlns="https://java.sun.com/xml/ns/javaee"
xmlns:web="https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="https://java.sun.com/xml/ns/javaee
https://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
[editar]- 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
[editar]- 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