Oh, must add that hacking together a pre-rendering PhantomJS engine with T5 is relatively simple. I've implemented one for rendering thumbnails of SVG graphs, complete with PhantomJS auto-install and a dedicated thread pool; it worked great for the purpose.
Kalle On Mon, Sep 14, 2015 at 10:21 AM, Kalle Korhonen <kalle.o.korho...@gmail.com > wrote: > React and Ember Fastboot solve the SEO problem by rendering the first load > on server, but Angular doesn't offer the same functionality natively. > There's https://prerender.io/ though, but it's another component you need > to deploy. > > Kalle > > On Mon, Sep 14, 2015 at 6:20 AM, George Christman <gchrist...@cardaddy.com > > wrote: > >> Very nice Arve, do you have any experience making these angular pages SEO >> friendly? >> >> On Sun, Sep 6, 2015 at 11:08 AM, Arve Klev <arvek...@gmail.com> wrote: >> >> > Hello. >> > Yes it is VERY easy to to use AngularJS (or eg. >> Highchart/Raphael/JChart) >> > with Tapestry 5.4. >> > Use Tapestry as usual and let different pages do what you want (eg. one >> > page as an AngularJS SPA). >> > Every page use the same Layout component. >> > >> > 1. Place angular.js in src/main/resources/META-INF/modules/angular.js >> > 2. Create a file >> src/main/resources/META-INF/modules/angular-bootstrap.js >> > that bootstrap angular and your own angular code >> > 3. Create a file src/main/resources/META-INF/modules/my-angular-code.js >> > 4. Create a file src/main/resources/META-INF/assets/my-angular-code.css >> for >> > decoration >> > 5. Import angular-bootstrap.js and my-angular-code.css in your >> class-file: >> > @Import(module = { "angular-bootstrap" }, stylesheet = { >> > "my-angular-code.css" }) >> > >> > I have a running example here: http://tap54-arvek.rhcloud.com >> > The code at GitHub: >> > https://github.com/arvek-xx/tapestry54-javascript-examples >> > >> > In the "NgPhones"-page, I use a rest-service to retrieve data. >> > >> > >> > Sincerely, Arve Klev >> > >> > 2015-08-10 19:59 GMT+02:00 Taha Siddiqi <tawus.tapes...@gmail.com>: >> > >> > > Well my way is to spend sometime on anything I find interesting... >> > > (Usually Saturday mornings) >> > > >> > > That is how I found tapestry and now Clojure/clojusescript, mongo, >> Titan >> > > graphs etc... So exciting !! >> > > >> > > Sent from my iPhone >> > > >> > > > On Aug 10, 2015, at 9:01 PM, George Christman < >> gchrist...@cardaddy.com >> > > >> > > wrote: >> > > > >> > > > I think the choices these days are starting to become very >> > overwhelming, >> > > I >> > > > wish there was a magic bullet eliminating all these choices. I'd >> like >> > to >> > > > pick a new frontend framework, but with all the advise from the >> > different >> > > > sources, I don't think I know enough anymore to make an educated >> > > decision. >> > > > >> > > > On Sat, Aug 8, 2015 at 5:18 AM, Taha Siddiqi < >> tawus.tapes...@gmail.com >> > > >> > > > wrote: >> > > > >> > > >> For me it is om(or reactjs). I am currently in the process of >> > replacing >> > > >> JavaScript in one of my JavaScript intense Tapestry project with >> > > >> om/ClojureScript. >> > > >> >> > > >> Sent from my iPhone >> > > >> >> > > >>>> On Aug 8, 2015, at 11:41 AM, Kalle Korhonen < >> > > kalle.o.korho...@gmail.com> >> > > >>> wrote: >> > > >>> >> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon < >> fra.fa...@gmail.com >> > > >> > > >> wrote: >> > > >>>> >> > > >>>> About Ember, I looking for an equivalent of >> > > >>>> https://docs.angularjs.org/tutorial. >> > > >>> >> > > >>> I haven't found anything quite as comprehensive for Ember. One >> issue >> > > with >> > > >>> Ember is that many of these tutorials are outdated because its >> > changed >> > > so >> > > >>> fast. The official documentation is often too simplistic when you >> are >> > > new >> > > >>> to it but trying to build something real. However, this one is >> fairly >> > > >>> up-to-date and helped me quite a bit when I started out: >> > > >>> >> http://www.fnaweso.me/ember-js-nested-routing-with-multiple-outlets/ >> > > >>> >> > > >>> At least for me, working with AngularJS feels more like working >> with >> > T5 >> > > >>> services and its IoC whereas working with Ember feels more like >> > writing >> > > >> T5 >> > > >>> components and I felt right at home with all the Ember >> conventions. >> > And >> > > >>> while it's relatively easy to bootstrap AngularJS to run as part >> of >> > T5 >> > > >> app, >> > > >>> it really doesn't make sense with all the bits and pieces of Ember >> > > >> tooling, >> > > >>> the CLI etc (there was an earlier thread about that and I followed >> > > >> Andreas >> > > >>> Andreou's advice). Ember is more comprehensive than AngularJS and >> its >> > > >>> router is incredibly useful for mapping out a structure for larger >> > > spas. >> > > >>> >> > > >>> Kalle >> > > >>> >> > > >>> >> > > >>> >> > > >>>> 2015-08-07 22:18 GMT+02:00 Kalle Korhonen < >> > kalle.o.korho...@gmail.com >> > > >: >> > > >>>> >> > > >>>>> It's pretty easy. Don't build component event requests but just >> > send >> > > >>>>> REST(-like) requests that are either processed by plain Tapestry >> > > pages >> > > >>>> and >> > > >>>>> its EventContext. If you are building a more comprehensive spa >> then >> > > >>>>> consider pairing the client with JAX-WS resource backend (i.e. >> > > >>>>> http://www.tynamo.org/tapestry-resteasy+guide/ for T5). >> > > Incidentally, >> > > >>>> I've >> > > >>>>> been working with spas lately as well, and moved from AngularJS >> to >> > > >> Ember. >> > > >>>>> >> > > >>>>> Kalle >> > > >>>>> >> > > >>>>>> On Fri, Aug 7, 2015 at 12:46 PM, Bob Harner < >> bobhar...@gmail.com> >> > > >> wrote: >> > > >>>>>> >> > > >>>>>> Yes a page/event. As long as the URL looks like a tapestry >> event >> > > >>>> request, >> > > >>>>>> you can handle the request in an event handler method within >> the >> > > >> page's >> > > >>>>>> Java class, and return JSON. >> > > >>>>>> >> > > >>>>>> On Fri, Aug 7, 2015 at 2:40 PM, George Christman < >> > > >>>>> gchrist...@cardaddy.com> >> > > >>>>>> wrote: >> > > >>>>>> >> > > >>>>>>> Hi guys, I've been playing around with AngularJS and backbone >> > > >>>> recently >> > > >>>>>> and >> > > >>>>>>> I'm wondering if it's pretty easy to use with Tapestry? I'm >> more >> > > >>>>>> concerned >> > > >>>>>>> with ajax events etc. I know in grails you can just point your >> > url >> > > >>>> to a >> > > >>>>>>> controller/action, would we do something similar in Tapestry, >> but >> > > >>>>>> obviously >> > > >>>>>>> not a controller, but a page / event? >> > > >> >> > > >> >> --------------------------------------------------------------------- >> > > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> > > >> For additional commands, e-mail: users-h...@tapestry.apache.org >> > > > >> > > > >> > > > -- >> > > > George Christman >> > > > CEO >> > > > www.CarDaddy.com >> > > > P.O. Box 735 >> > > > Johnstown, New York >> > > >> > > --------------------------------------------------------------------- >> > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> > > For additional commands, e-mail: users-h...@tapestry.apache.org >> > > >> > > >> > >> >> >> >> -- >> George Christman >> CEO >> www.CarDaddy.com >> P.O. Box 735 >> Johnstown, New York >> > >