Apache Click
Apache Click — веб-фреймворк з відкритим кодом що використовує мову Java та базується на Java Servlet API.
Тип | веб-фреймворк |
---|---|
Розробник | Apache Software Foundation |
Стабільний випуск | 2.3.0 (27 березня 2011 [1]) |
Репозиторій | https://svn.apache.org/repos/asf/click/, https://github.com/apache/click |
Платформа | Java platformd |
Операційна система | багатоплатформний |
Мова програмування | Java |
Ліцензія | Apache License 2.0 |
Вебсайт | click.apache.org |
Проєкт розповсюджується під ліцензією Apache License та потребує для роботи JDK(починаючи з версії 1.5).
Click отримав статус первинного проєкту у листопаді 2009, але пізніше був перенесений до репозиторію застарілих проєктів Apache Attic у травні 2014.
Огляд
Основними аспектами дизайну є: простота, легкість у використанні, продуктивність та масштабованість. Це досягається завдяки інтуїтивному інтерфейсу.
Сторінки та компоненти забезпечують гарну інкапсуляцію веб розробки та швидке створення додатків.
Доки сторінки та компоненти розроблюються на Java, шаблони можуть бути написані з використанням Apache Velocity, FreeMarker або Java Server Pages. Також компоненти дають можливість розробникам позбутись надлишкового коду.
Головною різницею між Click та іншими компонентно-орієнтованими веб-фреймворками є відсутність використання пам'яті при роботі з дизайном і підтримка сторінок що її використовуватимуть в один час.
Альтернативні фреймворки
Існує декілька інших компонентно-орієнтованих фреймворків доступних для Java: JavaServer Faces, Apache Tapestry, WebObjects, Apache Wicket та Vaadin.
Деякі розробники надають перевагу більш традиційним фреймворкам на MVC моделі: Apache Struts, Spring Framework чи інші.
Приклад
Звичайний Hello World з чотирьох файлів:
- hello-world.htm
Шаблоном для Click є Velocity, htm файл буде подібний до звичайної 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
- Модель сторінки, що прив'язується до шаблону.
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
- Основою Click додатку слугує файл конфігурації
click.xml
. Він відповідає за сторінки додатку, заголовки та режими роботи. - Click сам зрозуміє що сторінка
HelloWorld
відповідає класуhello-world.htm
. Нам лише потрібно сповістити Click про пакет з класуHelloWorld
, у цьому разі цеorg.wikipedia.click
. - Усе це ми робимо через файл конфігурації
click.xml
, який дозволяє Click прив'язати запитиhello-world.htm
до класуorg.wikipedia.click.HelloWorld
. - За умовчуванням
ClickServlet
завантажить файл конфігурації додатку, використовуючи шлях:/WEB-INF/click.xml
.
<?xml version="1.0" encoding="UTF-8"?>
<click-app>
<pages package="org.wikipedia.click"/>
</click-app>
- web.xml
- Опис сервлет-додатку:
<?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>
Література
- Daoud, Frederic (Січень 4, 2010). Getting Started With Apache Click (вид. 1). с. 150.
Посилання
- Apache Click — сторінка проєкту.
- Знайомство з Click (рос.)
- Офіційний блог