Announcing Apache Wicket 9: get into the modern Java world!
The Apache Wicket project announces the 9th major release of the open source Java web framework servicing websites and applications across the globe since 2004.
Built on top of Java 11, this version of Wicket brings web development into the modern Java world, offering a fundamental tool to keep you code up to date with Java's evolution.
Bring the web into the modern Java era
The release of Java 9 has been a turning point in Java history which laid the foundation for the modern Java era. However, the magnitude of this change has discouraged many developers from leaving the safe harbor represented by Java 8. With Wicket 9 we finally have a fundamental tool to move on and bring our web applications into the new Java world.
With this version Wicket has been completely revisited and improved to embrace new technologies such as Java modularization and new libraries like JUnit 5.
Stay up to date with the Java release cycle
With Java releasing at a faster pace it's important to keep a library up to date with the latest changes introduced in the platform and ensure it works with the latest Java release. Wicket does all of this by taking part in the OpenJDK Quality Outreach, an initiative aimed to test popular Open Source projects with both the latest OpenJDK release and the Early Access release.
Be ready for the next Java Enterprise
Shortly after Java 9 was released, Oracle submitted Java EE to the Eclipse Foundation. As side effect of this owner change, the package name 'javax' had to be migrated to 'jakarta'. Wicket historically promoted decoupling of Java EE APIs and application code, making the transition to future Java Enterprise versions much easier.
Protect your web apps with Content Security Policy (CSP)
As the number of security threats grows, it's crucial for web applications to adopt the latest security standards and countermeasures. CSP is a modern standard that allows applications to declare approved origins of content (such as JavaScript, CSS, images, etc...) for the browser to load. Constructing a safe and at the same time complete CSP can be challenging.
You either risk leaving holes in the defense of your application or you break certain functionality. Protecting against unwanted inline scripts is the most important target to attain. In CSP this is called 'unsafe-inline' and it's the most common cause of cross-site scripting vulnerabilities.
Wicket 9 comes with full support for CSP and does not need any unsafe directives. Wicket will automatically add a nonce to every header contribution and whitelist this nonce. This allows for flexible loading of resources without the need for a complex CSP. Of course it is possible to modify and customize the CSP, add additional directives or disable it entirely. Lookup our documentation for more information.
A Smooth Transition to Java 11+
If you come from Wicket 8 chances are you don't need to change your application code to enjoy all the improvements offered by Java 11, such as better Docker support, improved performance, new Z Garbage Collector, etc...
That said, as this is a new major version we have, in accordance with semantic versioning, cleaned up many APIs and you might have compile errors when you migrate from previous Wicket versions.
Migrating to Wicket 9
When you migrate from a previous Wicket version to Wicket 9, a full list of changes and migrations is available at the following page:
Invented in 2004, Wicket is one of the few survivors of the Java
serverside web framework wars of the mid 2000's. Wicket is an open
source, component oriented, serverside, Java web application framework.
With a history of over a decade, it is still going strong and has a
solid future ahead. Learn why you should consider Wicket for your next
web application.
Just Java & HTML
Leverage what you know about Java or your favourite HTML
editor to write Wicket applications. With pure Java code and HTML
markup Wicket is the go-to web framework for purists.
Secure by Default
URLs do not expose sensitive information and all component paths are
session-relative. Wicket keeps your model private except those parts
you explicitly expose.
AJAX Components
Write Ajax applications without having to write a single line
of JavaScript code. Wicket's Ajax functionality makes it trivial
to update selected parts of a UI, and comes with a great selection
of basic Ajax components.
Open Source with Apache License
Since its inception in 2004 Wicket has been an open source
project and remains available under one of the most permissive
licenses: the Apache Software License.
Maintainable code
Pages and Components in Wicket are real Java objects that support
encapsulation, inheritance and events. Create high level components
with ease and bundle its stylesheets, JavaScript and other resources
into one reusable package.
Internationalized to take on the world
With support of over 25 languages out-of-the-box, Wicket let's
you get started in your own language, or a second language with no
effort. You can provide alternative languages on the application,
page, or even component level.
Multi-tab and window support
No more pain while keeping tabs on multiple tabs and windows.
Wicket's automatic state storage ensures that your users can open
pages in new tabs and windows without causing problems.
Work with JavaScript and CSS
Global JavaScript libraries and CSS styling mix properly with
component local JavaScript and CSS resources. You can use custom
component libraries that ship with default JavaScript behaviour and
CSS styling, without having to do anything yourself. Creating such
self-contained component libraries is as easy as creating a JAR
file.
Test your pages and components
With WicketTester you can achieve testing coverage your QA
department can only dream of. Test your pages without having to run
inside a browser, or start a container. Test your components directly,
check their rendered markup tags, attributes and contents with ease.
Injection support
Inject your services into your pages and components with the
technology of your choosing: Wicket provides integration with CDI
(JSR-305), Spring and Guice.
JavaEE integration
If you are using the Web profile of JavaEE 6 or newer, you can
leverage JPA, EJBs, Bean Validation and CDI with Wicket's integrations
for these specifications.
Announcing Apache Wicket 9: get into the modern Java world!
The Apache Wicket project announces the 9th major release of the open source Java web framework servicing websites and applications across the globe since 2004.
Built on top of Java 11, this version of Wicket brings web development into the modern Java world, offering a fundamental tool to keep you code up to date with Java's evolution.
Bring the web into the modern Java era
The release of Java 9 has been a turning point in Java history which laid the foundation for the modern Java era. However, the magnitude of this change has discouraged many developers from leaving the safe harbor represented by Java 8. With Wicket 9 we finally have a fundamental tool to move on and bring our web applications into the new Java world.
With this version Wicket has been completely revisited and improved to embrace new technologies such as Java modularization and new libraries like JUnit 5.
Stay up to date with the Java release cycle
With Java releasing at a faster pace it's important to keep a library up to date with the latest changes introduced in the platform and ensure it works with the latest Java release. Wicket does all of this by taking part in the OpenJDK Quality Outreach, an initiative aimed to test popular Open Source projects with both the latest OpenJDK release and the Early Access release.
Be ready for the next Java Enterprise
Shortly after Java 9 was released, Oracle submitted Java EE to the Eclipse Foundation. As side effect of this owner change, the package name 'javax' had to be migrated to 'jakarta'. Wicket historically promoted decoupling of Java EE APIs and application code, making the transition to future Java Enterprise versions much easier.
Protect your web apps with Content Security Policy (CSP)
As the number of security threats grows, it's crucial for web applications to adopt the latest security standards and countermeasures. CSP is a modern standard that allows applications to declare approved origins of content (such as JavaScript, CSS, images, etc...) for the browser to load. Constructing a safe and at the same time complete CSP can be challenging.
You either risk leaving holes in the defense of your application or you break certain functionality. Protecting against unwanted inline scripts is the most important target to attain. In CSP this is called 'unsafe-inline' and it's the most common cause of cross-site scripting vulnerabilities.
Wicket 9 comes with full support for CSP and does not need any unsafe directives. Wicket will automatically add a nonce to every header contribution and whitelist this nonce. This allows for flexible loading of resources without the need for a complex CSP. Of course it is possible to modify and customize the CSP, add additional directives or disable it entirely. Lookup our documentation for more information.
A Smooth Transition to Java 11+
If you come from Wicket 8 chances are you don't need to change your application code to enjoy all the improvements offered by Java 11, such as better Docker support, improved performance, new Z Garbage Collector, etc...
That said, as this is a new major version we have, in accordance with semantic versioning, cleaned up many APIs and you might have compile errors when you migrate from previous Wicket versions.
Migrating to Wicket 9
When you migrate from a previous Wicket version to Wicket 9, a full list of changes and migrations is available at the following page:
Invented in 2004, Wicket is one of the few survivors of the Java
serverside web framework wars of the mid 2000's. Wicket is an open
source, component oriented, serverside, Java web application framework.
With a history of over a decade, it is still going strong and has a
solid future ahead. Learn why you should consider Wicket for your next
web application.
Just Java & HTML
Leverage what you know about Java or your favourite HTML
editor to write Wicket applications. With pure Java code and HTML
markup Wicket is the go-to web framework for purists.
Secure by Default
URLs do not expose sensitive information and all component paths are
session-relative. Wicket keeps your model private except those parts
you explicitly expose.
AJAX Components
Write Ajax applications without having to write a single line
of JavaScript code. Wicket's Ajax functionality makes it trivial
to update selected parts of a UI, and comes with a great selection
of basic Ajax components.
Open Source with Apache License
Since its inception in 2004 Wicket has been an open source
project and remains available under one of the most permissive
licenses: the Apache Software License.
Maintainable code
Pages and Components in Wicket are real Java objects that support
encapsulation, inheritance and events. Create high level components
with ease and bundle its stylesheets, JavaScript and other resources
into one reusable package.
Internationalized to take on the world
With support of over 25 languages out-of-the-box, Wicket let's
you get started in your own language, or a second language with no
effort. You can provide alternative languages on the application,
page, or even component level.
Multi-tab and window support
No more pain while keeping tabs on multiple tabs and windows.
Wicket's automatic state storage ensures that your users can open
pages in new tabs and windows without causing problems.
Work with JavaScript and CSS
Global JavaScript libraries and CSS styling mix properly with
component local JavaScript and CSS resources. You can use custom
component libraries that ship with default JavaScript behaviour and
CSS styling, without having to do anything yourself. Creating such
self-contained component libraries is as easy as creating a JAR
file.
Test your pages and components
With WicketTester you can achieve testing coverage your QA
department can only dream of. Test your pages without having to run
inside a browser, or start a container. Test your components directly,
check their rendered markup tags, attributes and contents with ease.
Injection support
Inject your services into your pages and components with the
technology of your choosing: Wicket provides integration with CDI
(JSR-305), Spring and Guice.
JavaEE integration
If you are using the Web profile of JavaEE 6 or newer, you can
leverage JPA, EJBs, Bean Validation and CDI with Wicket's integrations
for these specifications.
Projects Using Apache Wicket
Many projects use Wicket but are not known for it.
Below you find a list of projects that are Powered by Wicket.
This list is generated from our Tumblr feed 'Built with Wicket'.
You can submit your own project to this list through
this form.
News about Apache Wicket
Get the latest updates to releases, security bulletins, community
news and more.
Announcing Apache Wicket 9: get into the modern Java world!
15 Jul 2020
The Apache Wicket project announces the 9th major release of the open source Java web framework servicing websites and applications across the globe since 2004. Built on top of Java 11, this version of Wicket brings web development into the modern Java world, offering a fundamental tool to keep you code up to date with Java evolution.
The Apache Wicket PMC is proud to announce Apache Wicket 8.8.0!
Apache Wicket is an open source Java component oriented web application
framework that powers thousands of web applications and web sites for
governments, stores, universities, cities, banks, email providers, and
more. You can find more about Apache Wicket at https://wicket.apache.org
This release marks another minor release of Wicket 8. We
use semantic versioning for the development of Wicket, and as such no
API breaks are present breaks are present in this release compared to
8.0.0.
Using this release
With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):
See the archives for all news
articles concerning release, security and community updates.
Note that you can subscribe to our RSS feed to
get updates in your favorite RSS reader the moment they happen.
Apache Wicket 8.8.0 released
24 Apr 2020
The Apache Wicket PMC is proud to announce Apache Wicket 8.8.0! Apache Wicket is an open source Java component oriented web application framework that powers...
more
Apache Wicket 9.0.0-M5 released
06 Apr 2020
The Apache Wicket PMC is proud to announce Apache Wicket 9.0.0-M5! Apache Wicket is an open source Java component oriented web application framework that powers...
more
Apache Wicket 9.0.0-M4 released
09 Jan 2020
The Apache Wicket PMC is proud to announce Apache Wicket 9.0.0-M4! Apache Wicket is an open source Java component oriented web application framework that powers...
more
Apache Wicket 7.16.0 released
08 Jan 2020
The Apache Wicket PMC is proud to announce Apache Wicket 7.16.0! Apache Wicket is an open source Java component oriented web application framework that powers...
more
Apache Wicket 8.7.0 released
07 Jan 2020
The Apache Wicket PMC is proud to announce Apache Wicket 8.7.0! Apache Wicket is an open source Java component oriented web application framework that powers...
more