Frontend Frameworks / Libraries

classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

Frontend Frameworks / Libraries

George Christman
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?
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

Bob Harner
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 <[hidden email]>
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?
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

kaosko
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 <[hidden email]> 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 <[hidden email]>
> 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?
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

françois facon
Hi George,

I like to use a Tapestry page to bootstrap a AngularJs application. For
instance
https://github.com/ffacon/tapestry5-angular-demo/blob/master/src/main/java/dev/openshift/tapestry/angular/pages/Index.java
serve a RequireJS configuration file  and use page/ event to serve data to
the spa.

If you want you Tapestry to answer to GET Request send by AngularJS, you
just need need to do configure your httpProvider like this :
$httpProvider.defaults.headers.common["X-Requested-With"] =
'XMLHttpRequest';

I am not sure that using a RequireJS is the best way to bootstrap a
AngularJS app so if like me you prefer to use Tapestry Javascript Stack see
also https://github.com/ffacon/BookCat.

As suggested by Kalle, for POST and others HTTP verbs, I would use
tapestry-resteasy.

About Ember, I looking for an equivalent of
https://docs.angularjs.org/tutorial.

François

2015-08-07 22:18 GMT+02:00 Kalle Korhonen <[hidden email]>:

> 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 <[hidden email]> 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 <
> [hidden email]>
> > 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?
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

kaosko
On Fri, Aug 7, 2015 at 3:40 PM, françois facon <[hidden email]> 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 <[hidden email]>:
>
> > 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 <[hidden email]> 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 <
> > [hidden email]>
> > > 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?
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

Taha Hafeez Siddiqi
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 <[hidden email]> wrote:
>
>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <[hidden email]> 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 <[hidden email]>:
>>
>>> 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 <[hidden email]> 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 <
>>> [hidden email]>
>>>> 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: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

George Christman
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 <[hidden email]>
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 <[hidden email]>
> wrote:
> >
> >> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <[hidden email]>
> 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 <[hidden email]>:
> >>
> >>> 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 <[hidden email]>
> 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 <
> >>> [hidden email]>
> >>>> 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: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
George Christman
CEO
www.CarDaddy.com
P.O. Box 735
Johnstown, New York
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

Taha Hafeez Siddiqi
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 <[hidden email]> 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 <[hidden email]>
> 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 <[hidden email]>
>>> wrote:
>>>
>>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <[hidden email]>
>> 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 <[hidden email]>:
>>>>
>>>>> 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 <[hidden email]>
>> 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 <
>>>>> [hidden email]>
>>>>>> 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: [hidden email]
>> For additional commands, e-mail: [hidden email]
>
>
> --
> George Christman
> CEO
> www.CarDaddy.com
> P.O. Box 735
> Johnstown, New York

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

Arve Klev
 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 <[hidden email]>:

> 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 <[hidden email]>
> 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 <[hidden email]>
> > 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 <
> [hidden email]>
> >>> wrote:
> >>>
> >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <[hidden email]>
> >> 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 <[hidden email]
> >:
> >>>>
> >>>>> 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 <[hidden email]>
> >> 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 <
> >>>>> [hidden email]>
> >>>>>> 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: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >
> >
> > --
> > George Christman
> > CEO
> > www.CarDaddy.com
> > P.O. Box 735
> > Johnstown, New York
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

George Christman
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 <[hidden email]> 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 <[hidden email]>:
>
> > 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 <[hidden email]
> >
> > 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 <[hidden email]
> >
> > > 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 <
> > [hidden email]>
> > >>> wrote:
> > >>>
> > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <[hidden email]
> >
> > >> 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 <
> [hidden email]
> > >:
> > >>>>
> > >>>>> 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 <[hidden email]>
> > >> 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 <
> > >>>>> [hidden email]>
> > >>>>>> 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: [hidden email]
> > >> For additional commands, e-mail: [hidden email]
> > >
> > >
> > > --
> > > George Christman
> > > CEO
> > > www.CarDaddy.com
> > > P.O. Box 735
> > > Johnstown, New York
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>



--
George Christman
CEO
www.CarDaddy.com
P.O. Box 735
Johnstown, New York
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

kaosko
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 <[hidden email]>
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 <[hidden email]> 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 <[hidden email]>:
> >
> > > 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 <
> [hidden email]
> > >
> > > 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 <
> [hidden email]
> > >
> > > > 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 <
> > > [hidden email]>
> > > >>> wrote:
> > > >>>
> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
> [hidden email]
> > >
> > > >> 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 <
> > [hidden email]
> > > >:
> > > >>>>
> > > >>>>> 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 <
> [hidden email]>
> > > >> 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 <
> > > >>>>> [hidden email]>
> > > >>>>>> 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: [hidden email]
> > > >> For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > > > --
> > > > George Christman
> > > > CEO
> > > > www.CarDaddy.com
> > > > P.O. Box 735
> > > > Johnstown, New York
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
>
>
>
> --
> George Christman
> CEO
> www.CarDaddy.com
> P.O. Box 735
> Johnstown, New York
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

françois facon
It's a powerful feature. The best of both worlds!

François

2015-09-14 19:21 GMT+02:00 Kalle Korhonen <[hidden email]>:

> 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
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

kaosko
In reply to this post by kaosko
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 <[hidden email]
> 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 <[hidden email]
> > 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 <[hidden email]> 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 <[hidden email]>:
>> >
>> > > 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 <
>> [hidden email]
>> > >
>> > > 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 <
>> [hidden email]
>> > >
>> > > > 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 <
>> > > [hidden email]>
>> > > >>> wrote:
>> > > >>>
>> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
>> [hidden email]
>> > >
>> > > >> 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 <
>> > [hidden email]
>> > > >:
>> > > >>>>
>> > > >>>>> 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 <
>> [hidden email]>
>> > > >> 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 <
>> > > >>>>> [hidden email]>
>> > > >>>>>> 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: [hidden email]
>> > > >> For additional commands, e-mail: [hidden email]
>> > > >
>> > > >
>> > > > --
>> > > > George Christman
>> > > > CEO
>> > > > www.CarDaddy.com
>> > > > P.O. Box 735
>> > > > Johnstown, New York
>> > >
>> > > ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: [hidden email]
>> > > For additional commands, e-mail: [hidden email]
>> > >
>> > >
>> >
>>
>>
>>
>> --
>> George Christman
>> CEO
>> www.CarDaddy.com
>> P.O. Box 735
>> Johnstown, New York
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

Thiago H. de Paula Figueiredo
In reply to this post by kaosko
On Mon, 14 Sep 2015 14:21:46 -0300, Kalle Korhonen  
<[hidden email]> 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.

I like the concept of isomorphic webapps: the same JavaScript used in the  
client-side is used in the server-side for doing an initial rendering.

The links above demonstrate it for Spring MVC, but I believe it could be  
very easily done with Tapestry too:
http://winterbe.com/posts/2015/02/16/isomorphic-react-webapps-on-the-jvm/
https://speakerdeck.com/sdeleuze/isomorphic-templating-with-spring-boot-nashorn-and-react

>
> Kalle
>
> On Mon, Sep 14, 2015 at 6:20 AM, George Christman  
> <[hidden email]>
> 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 <[hidden email]> 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 <[hidden email]>:
>> >
>> > > 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 <
>> [hidden email]
>> > >
>> > > 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 <
>> [hidden email]
>> > >
>> > > > 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 <
>> > > [hidden email]>
>> > > >>> wrote:
>> > > >>>
>> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
>> [hidden email]
>> > >
>> > > >> 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 <
>> > [hidden email]
>> > > >:
>> > > >>>>
>> > > >>>>> 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 <
>> [hidden email]>
>> > > >> 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 <
>> > > >>>>> [hidden email]>
>> > > >>>>>> 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: [hidden email]
>> > > >> For additional commands, e-mail: [hidden email]
>> > > >
>> > > >
>> > > > --
>> > > > George Christman
>> > > > CEO
>> > > > www.CarDaddy.com
>> > > > P.O. Box 735
>> > > > Johnstown, New York
>> > >
>> > >  
>> ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: [hidden email]
>> > > For additional commands, e-mail: [hidden email]
>> > >
>> > >
>> >
>>
>>
>>
>> --
>> George Christman
>> CEO
>> www.CarDaddy.com
>> P.O. Box 735
>> Johnstown, New York
>>


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

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

harry
Hi Kalle,

Would appreciate your advice on how to setup Ember for T5.4. I imagine the
way would be defining an init module that requires via shim ember (also
ember-data, etc.) and @import that module on the Tapestry page. But what is
the most logical place to put custom ember code, and how best to link that
custom code to the init module?

Thanks.

On Mon, Sep 14, 2015 at 6:31 PM, Thiago H de Paula Figueiredo <
[hidden email]> wrote:

> On Mon, 14 Sep 2015 14:21:46 -0300, Kalle Korhonen <
> [hidden email]> 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.
>>
>
> I like the concept of isomorphic webapps: the same JavaScript used in the
> client-side is used in the server-side for doing an initial rendering.
>
> The links above demonstrate it for Spring MVC, but I believe it could be
> very easily done with Tapestry too:
> http://winterbe.com/posts/2015/02/16/isomorphic-react-webapps-on-the-jvm/
>
> https://speakerdeck.com/sdeleuze/isomorphic-templating-with-spring-boot-nashorn-and-react
>
>
>
>> Kalle
>>
>> On Mon, Sep 14, 2015 at 6:20 AM, George Christman <
>> [hidden email]>
>> 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 <[hidden email]> 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 <[hidden email]>:
>>> >
>>> > > 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 <
>>> [hidden email]
>>> > >
>>> > > 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 <
>>> [hidden email]
>>> > >
>>> > > > 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 <
>>> > > [hidden email]>
>>> > > >>> wrote:
>>> > > >>>
>>> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
>>> [hidden email]
>>> > >
>>> > > >> 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 <
>>> > [hidden email]
>>> > > >:
>>> > > >>>>
>>> > > >>>>> 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 <
>>> [hidden email]>
>>> > > >> 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 <
>>> > > >>>>> [hidden email]>
>>> > > >>>>>> 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: [hidden email]
>>> > > >> For additional commands, e-mail: [hidden email]
>>> > > >
>>> > > >
>>> > > > --
>>> > > > George Christman
>>> > > > CEO
>>> > > > www.CarDaddy.com
>>> > > > P.O. Box 735
>>> > > > Johnstown, New York
>>> > >
>>> > > ---------------------------------------------------------------------
>>> > > To unsubscribe, e-mail: [hidden email]
>>> > > For additional commands, e-mail: [hidden email]
>>> > >
>>> > >
>>> >
>>>
>>>
>>>
>>> --
>>> George Christman
>>> CEO
>>> www.CarDaddy.com
>>> P.O. Box 735
>>> Johnstown, New York
>>>
>>>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
Best Regards
    Harry Zhou
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

kaosko
On Tue, Sep 15, 2015 at 9:34 AM, Harry Zhou <[hidden email]> wrote:

> Would appreciate your advice on how to setup Ember for T5.4. I imagine the
> way would be defining an init module that requires via shim ember (also
> ember-data, etc.) and @import that module on the Tapestry page. But what is
> the most logical place to put custom ember code, and how best to link that
> custom code to the init module?
>

I've mentioned something about it earlier in this message thread and there
was a different thread on it as well where Andreas Andreou shared his
experiences. Because of the ember-cli, and all the pretty cool transpiling,
minifying etc. tools, I really wouldn't try to embed the Ember scripts into
a T5 app but make it a separate app and run them together. It's easy to
package an ember app into .war if you need to - basically just zip up the
contents of /dist. Then just deploy those two wars together. The only other
thing you need to take care of is that the two applications can talk to
each other by adding the right CORS+CSP headers (see
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing for more). If
you really wanted embed the scripts into a T5 application, I'd just
contribute the two different js files, the <app>.js and vendor.js that
Ember spits out at the end as Javascript modules but I'd say developing
them together is too clunky that way.

Kalle



> On Mon, Sep 14, 2015 at 6:31 PM, Thiago H de Paula Figueiredo <
> [hidden email]> wrote:
>
> > On Mon, 14 Sep 2015 14:21:46 -0300, Kalle Korhonen <
> > [hidden email]> 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.
> >>
> >
> > I like the concept of isomorphic webapps: the same JavaScript used in the
> > client-side is used in the server-side for doing an initial rendering.
> >
> > The links above demonstrate it for Spring MVC, but I believe it could be
> > very easily done with Tapestry too:
> >
> http://winterbe.com/posts/2015/02/16/isomorphic-react-webapps-on-the-jvm/
> >
> >
> https://speakerdeck.com/sdeleuze/isomorphic-templating-with-spring-boot-nashorn-and-react
> >
> >
> >
> >> Kalle
> >>
> >> On Mon, Sep 14, 2015 at 6:20 AM, George Christman <
> >> [hidden email]>
> >> 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 <[hidden email]> 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 <[hidden email]>:
> >>> >
> >>> > > 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 <
> >>> [hidden email]
> >>> > >
> >>> > > 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 <
> >>> [hidden email]
> >>> > >
> >>> > > > 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 <
> >>> > > [hidden email]>
> >>> > > >>> wrote:
> >>> > > >>>
> >>> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
> >>> [hidden email]
> >>> > >
> >>> > > >> 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 <
> >>> > [hidden email]
> >>> > > >:
> >>> > > >>>>
> >>> > > >>>>> 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 <
> >>> [hidden email]>
> >>> > > >> 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 <
> >>> > > >>>>> [hidden email]>
> >>> > > >>>>>> 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: [hidden email]
> >>> > > >> For additional commands, e-mail: [hidden email]
> >>> > > >
> >>> > > >
> >>> > > > --
> >>> > > > George Christman
> >>> > > > CEO
> >>> > > > www.CarDaddy.com
> >>> > > > P.O. Box 735
> >>> > > > Johnstown, New York
> >>> > >
> >>> > >
> ---------------------------------------------------------------------
> >>> > > To unsubscribe, e-mail: [hidden email]
> >>> > > For additional commands, e-mail: [hidden email]
> >>> > >
> >>> > >
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> George Christman
> >>> CEO
> >>> www.CarDaddy.com
> >>> P.O. Box 735
> >>> Johnstown, New York
> >>>
> >>>
> >
> > --
> > Thiago H. de Paula Figueiredo
> > Tapestry, Java and Hibernate consultant and developer
> > http://machina.com.br
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>
> --
> Best Regards
>     Harry Zhou
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

harry
Ah, thanks so much for the tip! I did embed the files, which really bloated
up the app. Will try out the duo app approach; makes lots of sense.

On Tue, Sep 15, 2015 at 1:52 PM, Kalle Korhonen <[hidden email]>
wrote:

> On Tue, Sep 15, 2015 at 9:34 AM, Harry Zhou <[hidden email]> wrote:
>
> > Would appreciate your advice on how to setup Ember for T5.4. I imagine
> the
> > way would be defining an init module that requires via shim ember (also
> > ember-data, etc.) and @import that module on the Tapestry page. But what
> is
> > the most logical place to put custom ember code, and how best to link
> that
> > custom code to the init module?
> >
>
> I've mentioned something about it earlier in this message thread and there
> was a different thread on it as well where Andreas Andreou shared his
> experiences. Because of the ember-cli, and all the pretty cool transpiling,
> minifying etc. tools, I really wouldn't try to embed the Ember scripts into
> a T5 app but make it a separate app and run them together. It's easy to
> package an ember app into .war if you need to - basically just zip up the
> contents of /dist. Then just deploy those two wars together. The only other
> thing you need to take care of is that the two applications can talk to
> each other by adding the right CORS+CSP headers (see
> https://en.wikipedia.org/wiki/Cross-origin_resource_sharing for more). If
> you really wanted embed the scripts into a T5 application, I'd just
> contribute the two different js files, the <app>.js and vendor.js that
> Ember spits out at the end as Javascript modules but I'd say developing
> them together is too clunky that way.
>
> Kalle
>
>
>
> > On Mon, Sep 14, 2015 at 6:31 PM, Thiago H de Paula Figueiredo <
> > [hidden email]> wrote:
> >
> > > On Mon, 14 Sep 2015 14:21:46 -0300, Kalle Korhonen <
> > > [hidden email]> 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.
> > >>
> > >
> > > I like the concept of isomorphic webapps: the same JavaScript used in
> the
> > > client-side is used in the server-side for doing an initial rendering.
> > >
> > > The links above demonstrate it for Spring MVC, but I believe it could
> be
> > > very easily done with Tapestry too:
> > >
> >
> http://winterbe.com/posts/2015/02/16/isomorphic-react-webapps-on-the-jvm/
> > >
> > >
> >
> https://speakerdeck.com/sdeleuze/isomorphic-templating-with-spring-boot-nashorn-and-react
> > >
> > >
> > >
> > >> Kalle
> > >>
> > >> On Mon, Sep 14, 2015 at 6:20 AM, George Christman <
> > >> [hidden email]>
> > >> 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 <[hidden email]>
> 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 <[hidden email]
> >:
> > >>> >
> > >>> > > 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 <
> > >>> [hidden email]
> > >>> > >
> > >>> > > 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 <
> > >>> [hidden email]
> > >>> > >
> > >>> > > > 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 <
> > >>> > > [hidden email]>
> > >>> > > >>> wrote:
> > >>> > > >>>
> > >>> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
> > >>> [hidden email]
> > >>> > >
> > >>> > > >> 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 <
> > >>> > [hidden email]
> > >>> > > >:
> > >>> > > >>>>
> > >>> > > >>>>> 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 <
> > >>> [hidden email]>
> > >>> > > >> 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 <
> > >>> > > >>>>> [hidden email]>
> > >>> > > >>>>>> 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: [hidden email]
> > >>> > > >> For additional commands, e-mail:
> [hidden email]
> > >>> > > >
> > >>> > > >
> > >>> > > > --
> > >>> > > > George Christman
> > >>> > > > CEO
> > >>> > > > www.CarDaddy.com
> > >>> > > > P.O. Box 735
> > >>> > > > Johnstown, New York
> > >>> > >
> > >>> > >
> > ---------------------------------------------------------------------
> > >>> > > To unsubscribe, e-mail: [hidden email]
> > >>> > > For additional commands, e-mail: [hidden email]
> > >>> > >
> > >>> > >
> > >>> >
> > >>>
> > >>>
> > >>>
> > >>> --
> > >>> George Christman
> > >>> CEO
> > >>> www.CarDaddy.com
> > >>> P.O. Box 735
> > >>> Johnstown, New York
> > >>>
> > >>>
> > >
> > > --
> > > Thiago H. de Paula Figueiredo
> > > Tapestry, Java and Hibernate consultant and developer
> > > http://machina.com.br
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> >
> > --
> > Best Regards
> >     Harry Zhou
> >
>



--
Best Regards
    Harry Zhou
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

Arve Klev
In reply to this post by George Christman
Hi,
sorry, I have no experience with SEO.

- Arve
2015-09-14 15:20 GMT+02:00 George Christman <[hidden email]>:

> 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 <[hidden email]> 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 <[hidden email]>:
> >
> > > 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 <
> [hidden email]
> > >
> > > 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 <
> [hidden email]
> > >
> > > > 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 <
> > > [hidden email]>
> > > >>> wrote:
> > > >>>
> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
> [hidden email]
> > >
> > > >> 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 <
> > [hidden email]
> > > >:
> > > >>>>
> > > >>>>> 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 <
> [hidden email]>
> > > >> 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 <
> > > >>>>> [hidden email]>
> > > >>>>>> 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: [hidden email]
> > > >> For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > > > --
> > > > George Christman
> > > > CEO
> > > > www.CarDaddy.com
> > > > P.O. Box 735
> > > > Johnstown, New York
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
>
>
>
> --
> George Christman
> CEO
> www.CarDaddy.com
> P.O. Box 735
> Johnstown, New York
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

françois facon
In reply to this post by Thiago H. de Paula Figueiredo
2015-09-15 0:31 GMT+02:00 Thiago H de Paula Figueiredo <[hidden email]>:

> On Mon, 14 Sep 2015 14:21:46 -0300, Kalle Korhonen <
> [hidden email]> 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.
>>
>
> I like the concept of isomorphic webapps: the same JavaScript used in the
> client-side is used in the server-side for doing an initial rendering.
>

> The links above demonstrate it for Spring MVC, but I believe it could be
> very easily done with Tapestry too:
> http://winterbe.com/posts/2015/02/16/isomorphic-react-webapps-on-the-jvm/
>
> https://speakerdeck.com/sdeleuze/isomorphic-templating-with-spring-boot-nashorn-and-react
>
>
This would be a great feature.
The link above talk about Angular 2 server side rendering
https://docs.google.com/document/d/1q6g9UlmEZDXgrkY88AJZ6MUrUxcnwhBGS0EXbVlYicY/edit



>
>
>> Kalle
>>
>> On Mon, Sep 14, 2015 at 6:20 AM, George Christman <
>> [hidden email]>
>> 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 <[hidden email]> 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 <[hidden email]>:
>>> >
>>> > > 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 <
>>> [hidden email]
>>> > >
>>> > > 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 <
>>> [hidden email]
>>> > >
>>> > > > 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 <
>>> > > [hidden email]>
>>> > > >>> wrote:
>>> > > >>>
>>> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
>>> [hidden email]
>>> > >
>>> > > >> 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 <
>>> > [hidden email]
>>> > > >:
>>> > > >>>>
>>> > > >>>>> 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 <
>>> [hidden email]>
>>> > > >> 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 <
>>> > > >>>>> [hidden email]>
>>> > > >>>>>> 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: [hidden email]
>>> > > >> For additional commands, e-mail: [hidden email]
>>> > > >
>>> > > >
>>> > > > --
>>> > > > George Christman
>>> > > > CEO
>>> > > > www.CarDaddy.com
>>> > > > P.O. Box 735
>>> > > > Johnstown, New York
>>> > >
>>> > > ---------------------------------------------------------------------
>>> > > To unsubscribe, e-mail: [hidden email]
>>> > > For additional commands, e-mail: [hidden email]
>>> > >
>>> > >
>>> >
>>>
>>>
>>>
>>> --
>>> George Christman
>>> CEO
>>> www.CarDaddy.com
>>> P.O. Box 735
>>> Johnstown, New York
>>>
>>>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Frontend Frameworks / Libraries

harry
Don't know if this has been mentioned, but when Angular.js makes XHR
request via $http, it does NOT by default set the header, which Tapestry
checks to do request.isXHR().

See
http://stackoverflow.com/questions/18168836/angularjs-resource-not-sending-x-requested-with

Therefore it appears to be necessary to do the following:

yourModule.config(['$httpProvider', function($httpProvider) {
  $httpProvider.defaults.headers.common["X-Requested-With"] =
'XMLHttpRequest';
}]);

Otherwise event handlers can throw the "JSONObject cannot be handled" type
of exception.


On Wed, Sep 16, 2015 at 4:52 PM, françois facon <[hidden email]> wrote:

> 2015-09-15 0:31 GMT+02:00 Thiago H de Paula Figueiredo <[hidden email]
> >:
>
> > On Mon, 14 Sep 2015 14:21:46 -0300, Kalle Korhonen <
> > [hidden email]> 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.
> >>
> >
> > I like the concept of isomorphic webapps: the same JavaScript used in the
> > client-side is used in the server-side for doing an initial rendering.
> >
>
> > The links above demonstrate it for Spring MVC, but I believe it could be
> > very easily done with Tapestry too:
> >
> http://winterbe.com/posts/2015/02/16/isomorphic-react-webapps-on-the-jvm/
> >
> >
> https://speakerdeck.com/sdeleuze/isomorphic-templating-with-spring-boot-nashorn-and-react
> >
> >
> This would be a great feature.
> The link above talk about Angular 2 server side rendering
>
> https://docs.google.com/document/d/1q6g9UlmEZDXgrkY88AJZ6MUrUxcnwhBGS0EXbVlYicY/edit
>
>
>
> >
> >
> >> Kalle
> >>
> >> On Mon, Sep 14, 2015 at 6:20 AM, George Christman <
> >> [hidden email]>
> >> 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 <[hidden email]> 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 <[hidden email]>:
> >>> >
> >>> > > 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 <
> >>> [hidden email]
> >>> > >
> >>> > > 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 <
> >>> [hidden email]
> >>> > >
> >>> > > > 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 <
> >>> > > [hidden email]>
> >>> > > >>> wrote:
> >>> > > >>>
> >>> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
> >>> [hidden email]
> >>> > >
> >>> > > >> 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 <
> >>> > [hidden email]
> >>> > > >:
> >>> > > >>>>
> >>> > > >>>>> 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 <
> >>> [hidden email]>
> >>> > > >> 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 <
> >>> > > >>>>> [hidden email]>
> >>> > > >>>>>> 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: [hidden email]
> >>> > > >> For additional commands, e-mail: [hidden email]
> >>> > > >
> >>> > > >
> >>> > > > --
> >>> > > > George Christman
> >>> > > > CEO
> >>> > > > www.CarDaddy.com
> >>> > > > P.O. Box 735
> >>> > > > Johnstown, New York
> >>> > >
> >>> > >
> ---------------------------------------------------------------------
> >>> > > To unsubscribe, e-mail: [hidden email]
> >>> > > For additional commands, e-mail: [hidden email]
> >>> > >
> >>> > >
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> George Christman
> >>> CEO
> >>> www.CarDaddy.com
> >>> P.O. Box 735
> >>> Johnstown, New York
> >>>
> >>>
> >
> > --
> > Thiago H. de Paula Figueiredo
> > Tapestry, Java and Hibernate consultant and developer
> > http://machina.com.br
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>



--
Best Regards
    Harry Zhou