Popularity
1.9
Stable
Activity
0.0
Stable
17
6
3
Programming language: JavaScript
Tags:
Web Frameworks
Apache Tapestry alternatives and similar libraries
Based on the "Web Frameworks" category.
Alternatively, view Apache Tapestry alternatives based on common mentions on social networks and blogs.
-
Spring Boot
Spring Boot helps you to create Spring-powered, production-grade applications and services with absolute minimum fuss. -
Takes
True Object-Oriented Java Web Framework without NULLs, Static Methods, Annotations, and Mutable Objects -
ZK
ZK is a highly productive Java framework for building amazing enterprise web and mobile applications -
Firefly
Firefly is an asynchronous web framework for rapid development of high-performance web application. -
Free enterprise Java CMS
DISCONTINUED. Java CMS engine. Host and develop multiple websites inside a single instance through the GUI and benefit from features like A/B testing, affiliate tracking tools, and a high performance template engine with CSS stylesheets processing & scripts minification.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
Promo
www.saashub.com
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Apache Tapestry or a related project?
README
A push library for Tapestry5 based on CometD
Features:
- Create push applications without writing a single line of Javascript
- Fully configurable
- Use Tapestry templates to format incoming messages
- POJO messages (use strings or custom objects)
- Built on top of the rock solid CometD library
- Supports Jetty Continuations
- Topic abstraction (on top of CometD channels)
- Choice of client update strategies when a message arrives (append, prepend or replace)
- Custom Authorizers
- Custom Subscription Listeners
- Push dynamic javascript to the client
Usage:
Page.tml
<html
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
xmlns:p="tapestry:parameter">
<t:zone t:id="formZone" id="formZone">
<!-- type a chat message in this form -->
<form t:id="ajaxForm" t:type="form" t:zone="formZone">
Message: <input t:type="TextField" t:id="message" /><input type="submit" value="Send"/>
</form>
</t:zone>
<!-- this PushTarget subscribes to the '/chatTopic' topic and appends received messages to itself -->
<t:cometd.PushTarget topic="/chatTopic" event="chat" update="append" />
<!-- this template is applied to each chat message when it is received -->
<t:block t:id="messageBlock">
<h2>${message}</h2>
</t:block>
</html>
Page.java
public class PushDemo {
@InjectComponent
private Zone formZone;
@Inject
private Block messageBlock;
@Property
private String message;
@Inject
private PushManager pushManager;
// this event is fired when a message is received on the 'chatTopic' topic
Block onChat(String message) {
this.message = message;
return messageBlock;
}
// this event is fired when the form is posted
Block onSuccess() {
// broadcast the message on the 'chatTopic' topic
pushManager.broadcast("/chatTopic", message);
return formZone.getBody();
}
}
Demo
See a live demo running here
Maven
<dependencies>
<dependency>
<groupId>org.lazan</groupId>
<artifactId>tapestry-cometd</artifactId>
<!--
lookup latest version at
https://github.com/uklance/releases/tree/master/org/lazan/tapestry-cometd
-->
<version>...</version>
</dependency>
<dependency>
<groupId>org.got5</groupId>
<artifactId>tapestry5-jquery</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
...
<repositories>
<repository>
<id>tapestry-cometd</id>
<url>https://raw.github.com/uklance/releases/master</url>
</repository>
<repository>
<id>devlab722-repo</id>
<url>http://nexus.devlab722.net/nexus/content/repositories/releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>