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
>>
>
>

Reply via email to