<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Introducing Apache Wicket | Apache Wicket</title>
        <meta charset="utf8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="viewport" content="width=device-width, initial-scale=1" />

        <link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
        <link rel="stylesheet" href="/css/style.css" type="text/css" media="screen" />
        <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" />

		<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

    </head>

    <body class="">
        <div class="header default">
    <div class="l-container">
<nav class="mainmenu">
    <ul>
		<!-- /start/quickstart.html || /start/overview.html -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /start/overview.html -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /start/overview.html -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /start/overview.html -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /start/overview.html -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /apache || /start/overview.html -->
    	<li class=""><a href="/apache">Apache</a></li>
    </ul>
</nav>
        <div class="logo">
    <a href="/"><img src="/img/logo-apachewicket-white.svg" alt="Apache Wicket"></a>
</div>
    </div>
</div>
<main>
    <div class="l-container">
        <header class="l-full preamble">
            <h1>Introducing Apache Wicket</h1>
            <h2>Find what Wicket offers you!</h2>
        </header>
        <section class="l-one-third right">
        </section>
        <section class="l-two-third left">
            <div class="l-clearfix">
	<article class="l-one-third">
		<header>
			<img src="/img/java-wicket-html5.png" />
			<h3>Just Java &amp; HTML</h3>
		</header>
		<p>Leverage what you know about Java or your favorite HTML editor
			to write Wicket applications. With pure Java code and HTML markup
			Wicket is the go-to web framework for purists.</p>
	</article>
	<article class="l-one-third">
		<header>
			<img src="/img/wicket-safe.png" />
			<h3>Secure by default</h3>
		</header>
		<p>URLs do not expose sensitive information and all component
			paths are session-relative. Wicket keeps your model private except
			those parts you explicitly expose.</p>
	</article>
	<article class="l-one-third">
		<header>
			<img src="/img/wicket-components.png" />
			<h3>Maintainable code</h3>
		</header>
		<p>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.</p>
	</article>
</div>
<div class="l-clearfix">
	<article class="l-one-third">
		<h3>Internationalization</h3>
		<p>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.</p>
	</article>
	<article class="l-one-third">
		<h3>Ajax components</h3>
		<p>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.</p>
	</article>
	<article class="l-one-third">
		<h3>Injection support for CDI, Spring and Guice</h3>
		<p>Inject your services into your pages and components with the
			technology of your choosing: Wicket provides integration with CDI
			(JSR-305), Spring and Guice.</p>
	</article>
</div>
<div class="l-clearfix">
	<article class="l-one-third">
		<h3>JavaEE support</h3>
		<p>If you are using the Web profile of JavaEE 6, you can leverage
			Bean Validation and CDI with Wicket's integrations for these
			specifications.</p>
	</article>
	<article class="l-one-third">
		<h3>Multi-tab and window support</h3>
		<p>No more pain while keeping taps 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.</p>
	</article>
	<article class="l-one-third">
		<h3>Test your pages and components</h3>
		<p>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.</p>
	</article>
</div>
<div class="l-clearfix">
	<article class="l-one-third">
		<h3>Pluggable Ajax support</h3>
		<p>While Wicket ships with JQuery as the backing library for
			Ajax, you can replace the innards of Wicket Ajax with any other
			library of your choosing.</p>
	</article>
</div>
        </section>
    </div>
</main>
        <footer class="l-container">
            <div class="l-full">
    <img height="60px" src="/img/asf_logo.gif" style="float:left">
    Copyright © 2014 — The Apache Software Foundation. Apache Wicket,
    Wicket, Apache, the Apache feather logo, and the Apache Wicket
    project logo are trademarks of The Apache Software Foundation. All
    other marks mentioned may be trademarks or registered trademarks of
    their respective owners.
</div>
        </footer>
    </body>

</html>
