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: #539126 !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%;
}
</style>

{html}
{div:id=col}

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

!customCalendar.png!
[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]

{widget:url=http://search.twitter.com/search?q=tapestry5}
{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}