You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Thiago H de Paula Figueiredo <th...@gmail.com> on 2016/01/04 14:26:54 UTC

Re: Where does Tapestry fit today

Interesting discussion. :)

As much as you can move logic from server- to client-side, there's still  
stuff that doesn't fit well in the client, specially security-sensitive  
stuff (including privacy issues and sensitive data that shouldn't leave  
the servers). So you want this stuff done server-side, and Tapestry and  
Tapestry-IoC (from which a large fraction of Tapestry-the-web-framework  
awesomeness comes from) are a very good choice, maybe even the better ones.

One example in which single-page applications wouldn't work:  
websitPubFactory (http://www.pubfactory.com/), which is built on Tapestry.  
Disclaimer: I'm part of the PubFactory team:  
https://www.safaribooksonline.com/blog/2015/11/23/my-life-with-open-source-or-how-helping-strangers-boosted-my-career/.  
 From PubFactory's website:

"PubFactory is built from the ground up to support books, reference works  
and journals in a variety of XML formats, with full support for PDF,  
images and other rich media. It offers a full array of features for users,  
management tools for librarians and administrators, and a complete suite  
of back-end controls for publishers to control their content and manage  
relationships with their customers."

We could never pass the raw document data for it to be transformed and  
rendered client-side. It would be both a security issue (raw data in the  
client) and probably a performance issue (too much time and processing  
power needed to do the complex transformations if done in the client,  
specially in mobile devices). SEO is also a very important factor for  
PubFactory and its clients and it's not covered well by single-page  
applications yet.

On Tue, 29 Dec 2015 12:07:57 -0200, Barry Books <tr...@gmail.com> wrote:

> I've written several "Enterprise Apps" with Tapestry and I would say as  
> of
> 5.4 it's pretty much perfect for that class of web applications. The best
> feature of Tapestry is it's easy to build components and piece them
> together is various ways to build applications. The obvious place to  
> start
> is with the tml/java UI components but with Tapestry pretty much  
> everything
> is a building block that that can be combined in various ways. For  
> example
> BeanEditor/Grid/Hibernate can handle CRUD with only a few lines of code  
> and
> produce a working prototype in a few minutes. By leveraging datatypes,
> validators, mixing, components and services the prototype can be turned
> into the final product. All the parts can easily be refactored into a
> library and the next application is even easier. The addition of  
> Bootstrap
> makes everything pretty without much work.
>
> While Java is perhaps the new Cobol that's a feature in the Enterprise
> world. Tapestry hides some of the worst parts like server restarts and if
> you do things right it's faster to build prototypes with Tapestry than
> almost anything else and they will work in production and be  
> maintainable.
> With annotations most of the high level code can be declarative and it's
> possible to make sweeping changes without changing the tml/Java files.  
> It's
> possible to plug into the rendering pipeline in various ways so  
> complexity
> can be isolated and finally if you use Maven the structure is defined and
> builds are easy (really).
>
> As far as performance I run 5 applications on one virtual machine with 4
> instances of Tomcat. I load balance the apps across 2 so I can deploy
> without downtime. I run Hudson in 1 to schedule jobs and the last  
> instance
> runs all the batch jobs. The machine gets about 10 page hits a second and
> runs about 10% cpu. I'm sure all of them could be run on the smallest AWS
> EC2 instance.
>
> The whole stack (except perhaps the database) is free and Enterprise
> friendly. I'm not sure what else you could want.
>
> As far as one page apps go I have built some GWT apps that run on top of
> the Tapestry stack  but I've been moving them back to Tapestry one by  
> one.
> While there have been complaints about Tapestry backward compatibility  
> some
> of my applications started with version 3 and are now 5.4 While it's  
> taken
> some work the fundamental ideas have remained pretty constant. Currently
> this does not seem to be the case with Javascript frameworks and long  
> term
> maintenance is a problem.
>
> While single page apps are the new hotness I think they fill a perhaps
> small niche. They are not currently SEO or Enterprise friendly. That said
> Google maps would be painful as an old school web app.


-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org