Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{html}
<style type="text/css">

#twtr-widget-1 .twtr-doc, #twtr-widget-1 .twtr-hd a, #twtr-widget-1 h3, #twtr-widget-1 h4, #twtr-widget-1 .twtr-popular {
    background-color: #7dbc32 !important;
    color: #FFFFFF !important;
}

#twtr-widget-1 .twtr-tweet a {
    color: #539126 !important;
}

.big-col {
    margin-right: 310px !important;
}

#col {
   width : 250px;
}

.features{
   overflow : auto;
}

DIV.left-column {
  float: left;
  width: 49%;
}

DIV.right-column {
  float: right;
  width: 49%;
}

.blogSurtitle {
    background: none repeat scroll 0 0 #7DBC32;
    border: 2px solid #DDDDDD;
    color: #FFFFFF;
    margin: 1px 1px 10px;
    padding: 3px;
}
a.blogDate {
    color: #FFFFFF;
}

a.blogHeading {
    color: #539126;
    font-size: 14px;
}

.image-wrap{

}

</style>

{html}
{div:id=col}

{blog-posts:max=3|sort=creation|reverse=true|content=excerpts}

{widget:url=http://search.twitter.com/search?q=tapestry5}

[Subscribe] [!Feed-icon.gif!|https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&spaces=TAPESTRY&title=Apache+Tapestry+News+RSS+Feed&labelString%3D&sort=created&maxResults=10&timeSpan=12&confirm=Create&showContent=true&showDiff=false]

{div}

{div:id=content|class=big-col}
{div2}
{div3:class=features}
{div4:class=left-column}

h3. !Chat.png! Pure Java and Polyglot

Written in pure Java: code your pages and components in Java, Groovy or Scala.
{div4}
{div4:class=right-column}

h3. !injection.png! Convention over configuration

Say goodbye to endless XML configuration files: dependency injection and meta-programming through annotations.
{div4}
{div3}

{div3:class=features}
{div4:class=left-column}

h3. !Refresh.png! Highly productive

Live class reloading means that the time between seeing an error and providing the fix is seconds, not minutes.
{div4}
{div4:class=right-column}

h3. !accepted.png! Testable

Committed to testability thoughout design; built-in utilities to enhance TDD. [See Tapestry's code coverage report|http://tapestry.apache.org/current/tapestry-core/cobertura/index.html]

{div4}
{div3}

{div3:class=features}
{div4:class=left-column}

h3. !fast.png! Fast

Pure Java; no reflection, not even for property expressions. Built to cleanly support large numbers of concurrent threads without contention. Automatic GZip content compression, JavaScript aggregation, and client-side caching.

{div4}
{div4:class=right-column}

h3. !bug.png! Advanced Exception Reporting

Gives you all the tools you need to fix your problem: not just a  stack trace, but every bit of information you need to know about what Tapestry  was doing, why it was doing it, what went wrong, and how to fix it.

{div4}
{div3}

{div3:class=features}
{div4:class=left-column}

h3. !Web.png! Scalable

Scales up big on a single server, and offers great options in a cluster. Ready for REST, suitable for the most stateless or stateful applications.

{div4}
{div4:class=right-column}

h3. !plugin.png! Adaptable and modular

Architecture is open and extensible. There's a clean way to add your own extensions, or override built-in logic. Provides  integration   with [Hibernate|http://hibernate.org/] and [Spring|http://www.springsource.org/]. Third-party integrations with other tools, such as [Quartz|http://www.quartz-scheduler.org/].

{div4}
{div3}

More on [Tapestry philosophy|TAPESTRY:Principles]

{div2}
{div}