Биографии современников
- 1 year ago
- 0
- 0
Apache Wicket — компонентно-ориентированный фреймворк с открытым исходным кодом для создания веб-приложений . Разработан Джонатаном Локе ( англ. Jonathan Locke ) в 2004 году . С июня 2007 года является проектом Apache Software Foundation верхнего уровня.
Первая половина 2000-х годов стала временем создания многих популярных веб-фреймворков , используемых до сегодняшнего времени. Большая их часть так или иначе реализовывала модель web- MVC , также широко известную под именем Model 2 , например Struts , WebWork (позднее переименованный в ), Spring MVC , Velocity , Stripes . Подход к проектированию, применяемый в этих фреймворках, помогал отделить код, отвечающий за логику работы программы, от кода, отвечающего за отображение информации на экране пользователя. Однако ни один из этих фреймворков не предлагал полноценный объектно-ориентированный уровень абстракции от механизмов функционирования WEB-сервера , и разработчик был вынужден учитывать множество специфичных нюансов, например особенности работы HTTP / HTTPS -протоколов, обработку запросов и ответов сервера, способы хранения данных в пользовательской сессии, генерацию и обработку URL страниц и т.д. Но основным ограничением MVC шаблона стало то, что протокол HTTP/HTTPS, используемый для передачи данных, не имеет встроенных механизмов для сохранения информации о предыдущих действиях пользователя (т.е. является stаteless-протоколом ), в то время как логика работы большинства web-приложений, напротив, подразумевала необходимость совершить множество связанных действий с различными веб-страницами, передавая данные и результаты их обработки между ними. Т.е. шаблон Model 2 хорошо подходил для сайтов, где требовалось отображать пользователю статичные документы, и на которых не требовалось совершать цепочки действий на нескольких страницах. Но в веб-приложениях, напротив, пользователи зачастую работали со множеством связанных компонентов, заполняли последовательно множество форм, требовали возможность вернуться к ранее введенным данным и т.д. И для этих целей Model 2, в силу своей архитектуры, привязанной к реализации передачи данных по протоколу HTTP, подходил очень плохо. Это фундаментальное ограничение, присущее шаблону web-MVC, стало причиной разработки новой плеяды веб-фреймворков, которые получили название компонентно-ориентированных, с совершенно другим подходом к проектированию архитектуры веб-приложений, который позволял сделать комфортной работу со всем массивом введенных пользователями данных и позволял строить сложные интерфейсы с богатой функциональностью, практически ничем не уступающие классическим десктоп-приложениям. И одним из этих фреймворков стал Wicket .
Разработка над первоначальной версией Wicket была начата весной 2004 года двумя сотрудниками компании Sun Microsystems - Джонатаном Локком (Jonathan Locke) и Мико Матцумурой (Miko Matsumura). Название Wicket было дано проекту Мико Матцумурой. В игре крикет термин wicket обозначает небольшие ворота, в которые должен попасть мячом (a small framework at which the bowler aims the ball), т.е. в названии фреймворка используется игра слов на английском языке .
Первая альфа-версия Wicket была опубликована на хостинге свободного программного обеспечения Codehaus.org под свободной лицензией Apache license . После публикации она привлекла внимание группу программистов из Датской консалтинговой компании Topicus, под руководством Элко Хилениуса (Eelco Hillenius), Мартина Дашорста (Martijn Dashorst) и Йохана Компайнера (Johan Compagner), также к ним присоединились Юрген Доннерстаг (Juergen Donnerstag) и Крис Тюрнер (Chris Turner). Эта группа людей стала основоположниками сообщества Wicket и внесла значительный вклад в разработку и популяризацию фреймворка во всём мире .
Первая стабильная версия Wicket 1.0 была опубликована 7 июня 2005 года .
В июне 2007 года Wicket вошёл в группу проектов Apache Software Foundation как проект верхнего уровня .
Компонентно-ориентированные фреймворки отличаются от классических веб-фреймворков тем, что в них на стороне сервера создаётся и сохраняется модель веб-страницы, которая была открыта пользователем. HTML-код генерируется исходя из содержимого этой модели и затем отсылается клиенту. С таким подходом всё содержимое веб-страницы и все её компоненты (формы, поля ввода, ссылки, и т.д.) представлены в программе в виде чистых java-объектов, что делает возможным их обработку всеми средствами языка java. Данный подход очень похож на тот, что применяется в GUI фреймворках (таких как AWT , Swing или SWT ) по отношению к графическому окну приложения и его компонентам. По сути Wicket и другие похожие фреймворки привнесли в веб-разработку подход, который ранее использовался для создания интерфейса классических десктоп-приложений. В большинстве из этих фреймворков детали работы с HTTP протоколом скрыты от разработчика, а также в них довольно естественным образом решены проблемы с сохранением пользовательских данных на стороне сервера .
Основные преимущества, присущие в той или иной степени всем компонентно-ориентированным фреймворкам можно свести к следующим :
Среди популярных фреймворков-аналогов Wicket, реализующих схожий подход к проектированию веб-приложений, можно отметить GWT , JSF , Tapestry и Vaadin . По сравнению с ними Wicket имеет следующие преимущества :
На текущий момент являются актуальными следующие версии Wicket :
Версия | Последний релиз | Дата релиза | Статус |
---|---|---|---|
9.x | 9.12.0 | 15 октября 2022 | Активная ветка разработки |
8.x | 8.14.0 | 2 февраля 2022 | Поддерживается |
7.x | 7.18.0 | 6 апреля 2021 | Осуществляются обновления, только связанные с безопасностью. Рекомендуется обновление до версии 9.x или 8.x |
План работ:
Дописать описание версий
|
Версия | Описание | Дата релиза | |
---|---|---|---|
9.12.0 | 15.10.2022 | ||
9.11.0 | 10.07.2022 | ||
9.10.0 | 05.05.2022 | ||
9.9.1 | 08.04.2022 | ||
9.9.0 | 30.03.2022 | ||
9.8.0 | 06.02.2022 | ||
9.7.0 | 01.12.2021 | ||
9.6.0 | 02.11.2021 | ||
9.5.0 | 12.09.2021 | ||
9.4.0 | 07.07.2021 | ||
9.3.0 | 30.03.2021 | ||
9.2.0 | 19.11.2020 | ||
9.1.0 | 11.10.2020 | ||
9.0.0 | 15.06.2020 | ||
9.0.0-M5 | 06.04.2020 | ||
9.0.0-M4 | 09.01.2020 | ||
9.0.0-M3 | 16.09.2019 | ||
9.0.0-M2 | 02.06.2019 | ||
9.0.0-M1 | 15.04.2019 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
8.14.0 | 02.02.2022 | ||
8.13.0 | 13.07.2021 | ||
8.12.0 | 31.03.2021 | ||
8.11.0 | 23.11.2020 | ||
8.10.0 | 07.09.2020 | ||
8.9.0 | 15.07.2020 | ||
8.8.0 | 24.04.2020 | ||
8.7.0 | 07.01.2020 | ||
8.6.1 | 13.09.2019 | ||
8.6.0 | 07.09.2019 | ||
8.5.0 | 28.05.2019 | ||
8.4.0 | 05.04.2019 | ||
8.3.0 | 30.01.2019 | ||
8.2.0 | 17.11.2018 | ||
8.1.0 | 15.09.2018 | ||
8.0.0 | 22.05.2018 | ||
8.0.0-M9 | 17.02.2018 | ||
8.0.0-M8 | 25.10.2017 | ||
8.0.0-M7 | 12.08.2017 | ||
8.0.0-M6 | 18.05.2017 | ||
8.0.0-M5 | 29.03.2017 | ||
8.0.0-M4 | 07.02.2017 | ||
8.0.0-M3 | 29.12.2016 | ||
8.0.0-M2 | 26.10.2016 | ||
8.0.0-M1 | 25.07.2016 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
7.18.0 | 06.04.2021 | ||
7.17.0 | 20.07.2020 | ||
7.16.0 | 08.01.2020 | ||
7.15.0 | 07.09.2019 | ||
7.14.0 | 28.05.2019 | ||
7.13.0 | 06.04.2019 | ||
7.12.0 | 06.02.2019 | ||
7.11.0 | 01.12.2018 | ||
7.10.0 | 15.02.2018 | ||
7.9.0 | 19.09.2017 | ||
7.8.0 | 12.07.2017 | ||
7.7.0 | 16.05.2017 | ||
7.6.0 | 29.12.2016 | ||
7.5.0 | 26.10.2016 | ||
7.4.0 | 21.07.2016 | ||
7.3.0 | 05.05.2016 | ||
7.2.0 | 20.01.2016 | ||
7.1.0 | 25.10.2015 | ||
7.0.0 | 28.07.2015 | ||
7.0.0-M6 | 21.06.2015 | ||
7.0.0-M5 | 02.02.2015 | ||
7.0.0-M4 | 05.11.2014 | ||
7.0.0-M3 | 23.08.2014 | ||
7.0.0-M2 | 20.06.2014 | ||
7.0.0-M1 | 30.04.2014 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
6.30.0 | 10.12.2018 | ||
6.29.0 | 21.02.2018 | ||
6.28.0 | 01.10.2017 | ||
6.27.0 | 06.07.2017 | ||
6.26.0 | 29.12.2016 | ||
6.25.0 | 26.10.2016 | ||
6.24.0 | 21.07.2016 | ||
6.23.0 | 05.05.2016 | ||
6.22.0 | 19.02.2016 | ||
6.21.0 | 16.11.2015 | ||
6.20.0 | 14.06.2015 | ||
6.19.0 | 02.02.2015 | ||
6.18.0 | 05.11.2014 | ||
6.17.0 | 24.08.2014 | ||
6.16.0 | 21.06.2014 | ||
6.15.0 | 23.04.2014 | ||
6.14.0 | 06.02.2014 | ||
6.13.0 | 05.01.2014 | ||
6.12.0 | 01.11.2013 | ||
6.11.0 | 20.09.2013 | ||
6.10.0 | 18.08.2013 | ||
6.9.1 | 10.07.2013 | ||
6.9.0 | 27.06.2013 | ||
6.8.0 | 17.05.2013 | ||
6.7.0 | 12.04.2013 | ||
6.6.0 | 15.02.2013 | ||
6.5.0 | 23.01.2013 | ||
6.4.0 | 14.12.2012 | ||
6.3.0 | 16.11.2012 | ||
6.2.0 | 23.10.2012 | ||
6.1.1 | 08.10.2012 | ||
6.1.0 | 04.10.2012 | ||
6.0.0 | 05.09.2012 | ||
6.0.0-beta3 | 16.07.2012 | ||
6.0.0-beta2 | 29.05.2012 | ||
6.0.0-beta1 | 26.03.2012 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
1.5.16 | 05.08.2016 | ||
1.5.15 | 19.02.2016 | ||
1.5.14 | 24.10.2015 | ||
1.5.13 | 13.02.2015 | ||
1.5.12 | 15.09.2014 | ||
1.5.11 | 06.02.2014 | ||
1.5.10 | 26.02.2013 | ||
1.5.9 | 09.11.2012 | ||
1.5.8 | 24.08.2012 | ||
1.5.7 | 04.06.2012 | ||
1.5.6 | 07.05.2012 | ||
1.5.5 | 12.03.2012 | ||
1.5.4 | 23.01.2012 | ||
1.5.3 | 14.11.2011 | ||
1.5.2 | 24.10.2011 | ||
1.5.1 | 29.09.2011 | ||
1.5 | 07.09.2011 | ||
1.5-RC7 | 28.08.2011 | ||
1.5-RC5.1 | 25.06.2011 | ||
1.5-RC4.2 | 11.05.2011 | ||
1.5-RC3 | 02.04.2011 | ||
1.5-RC2 | 25.02.2011 | ||
1.5-RC1 | 22.01.2011 | ||
1.5-M3 | 05.11.2010 | ||
1.5-M2.1 | 17.09.2010 | ||
1.5-M1 | 11.08.2010 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
1.4.23 | 06.02.2014 | ||
1.4.21 | 05.09.2012 | ||
1.4.20 | 12.03.2012 | ||
1.4.19 | 17.10.2011 | ||
1.4.18 | 09.08.2011 | ||
1.4.17 | 02.04.2011 | ||
1.4.16 | 25.02.2011 | ||
1.4.15 | 24.12.2010 | ||
1.4.14 | 29.11.2010 | ||
1.4.13 | 01.11.2010 | ||
1.4.12 | 17.09.2010 | ||
1.4.11 | 09.09.2010 | ||
1.4.10 | 11.08.2010 | ||
1.4.9 | 24.05.2010 | ||
1.4.8 | 03.05.2010 | ||
1.4.7 | 05.03.2010 | ||
1.4.6 | 01.02.2010 | ||
1.4.5 | 21.12.2009 | ||
1.4.4 | 13.12.2009 | ||
1.4.3 | 24.10.2009 | ||
1.4.2 | 12.10.2009 | ||
1.4.1 | 21.08.2009 | ||
1.4 | 30.07.2009 | ||
1.4-rc7 | 14.07.2009 | ||
1.4-rc6 | 04.07.2009 | ||
1.4-rc5 | 18.06.2009 | ||
1.4-rc3/rc4 | 11.05.2009 | ||
1.4-rc2 | 09.02.2009 | ||
1.4-rc1 | 13.11.2008 | ||
1.4-m3 | 14.07.2008 | ||
1.4-m2 | 02.06.2008 | ||
1.4-m1 | 02.05.2008 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
1.3.7 | 30.07.2009 | ||
1.3.6 | 03.05.2009 | ||
1.3.5 | 13.11.2008 | ||
1.3.4 | 27.06.2008 | ||
1.3.3 | 07.04.2008 | ||
1.3.2 | 13.03.2008 | ||
1.3.1 | 05.02.2008 | ||
1.3 | 02.01.2008 | ||
1.3.0-rc2 | 13.12.2007 | ||
1.3.0-rc1 | 11.11.2007 | ||
1.3.0-beta4 | 11.10.2007 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
1.2.7 | 23.03.2008 | ||
1.2.6 | 22.04.2007 | ||
1.2.5 | 05.02.2007 | ||
1.2.4 | 24.12.2006 | ||
1.2.3 | 31.10.2006 | ||
1.2.2 | 27.08.2006 | ||
1.2.1 | 24.07.2006 | ||
1.2 | 24.05.2006 | ||
1.2-rc4 | 14.05.2006 | ||
1.2-rc3 | 01.05.2006 | ||
1.2-rc1 | 17.04.2006 | ||
1.2-beta 2 | 18.03.2006 | ||
1.2-beta 1 | 06.03.2006 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
1.1.1 | 25.01.2006 | ||
1.1 | 30.10.2005 | ||
1.1-rc2 | 04.10.2005 | ||
1.1-rc1 | 11.09.2005 | ||
1.1-beta 4 | 30.08.2005 | ||
1.1-beta 3 | 22.08.2005 | ||
1.1-beta 2 | 01.08.2005 | ||
1.1-beta 1 | 24.07.2005 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
1.0.3 | 29.08.2005 | ||
1.0.2 | 22.08.2005 | ||
1.0.1 | 17.07.2005 | ||
1.0 | Первая стабильная версия Wicket | 07.06.2005 | |
1.0.RC3 | 21.05.2005 | ||
1.0.RC2 | 16.04.2005 | ||
1.0.RC1 | 03.04.2005 | ||
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|
Версия | Описание | Дата релиза | |
---|---|---|---|
0.9.19-alpha | 04.03.2005 | ||
0.9.18-alpha | 20.02.2005 | ||
0.9.17-alpha | 25.01.2005 | ||
0.9.16-alpha | Добавлена интеграция с фреймворком Spring | 26.12.2004 | |
0.9.15-alpha | 19.12.2004 | ||
0.9.14-alpha | Для контроля качества проекта стал использоваться | 05.12.2004 | |
0.9.13-alpha | 25.10.2004 | ||
0.9.2-alpha | Альфа-версия, выложенная Джонатаном Локком на codehouse.org | 18.06.2004 | |
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
|