I’m not trying to build a single-page-app, but I am trying to take advantage of 
the browser side manipulation of elements to make the user interface more 
responsive without continually relying on server side. I’m generally a control 
freak so I tend to favor server-side rendering of elements, but considering the 
data is already on the client, I don’t think I’m losing anything to let the 
browser sort and filter the data.

The simple test case I’m exploring is a list of reports that can be many 
hundreds at a time. Normally, I would render a page of raw rows on the server 
and ship it to the browser. If I use an ajax rest request to get the data, I 
can render the page (without data) on the server and ship it to the client, 
then the client makes an ajax request for the data. That pattern gives the 
browser a response more quickly and can provide feedback on the progress more 
easily than an interim step like the long response page. Once the json is 
loaded, the browser sorts and filters the list locally and does not need to go 
back to the server. 

The next step is to select one of the reports and display the detail page 
(where I’m using EO’s so that all the WO MVC goodness can be used)

I am no angular expert and I may be thinking about this incorrectly, but it 
seems that if I use the angular MVC pattern with a read-only model, I will not 
get too screwed up. Angular has directives that compete with some of the 
WOComponents (like the WORepetition). I’m using the angular repetition 
component rather than a WORepetition so that I can get the in-browser 
functions. I will miss the easy data references to specific rows, but that 
requires a server round trip so I just have to ask the server explicitly for 
the object in the row rather than just referencing the object bound to the 
“item” in the WORepetition. 

I’m not wed to angular and will take another look at Montage. I think Ember is 
a good framework, but Angular seemed to be more tolerant of mixed environments 
(where you can have an app context that is a page fragment and even multiple 
app contexts in the same page.) I’m not an Ember guy either, but the most 
success I’ve had with Ember is when you can give yourself over to it and do the 
entire app in Ember. I don’t have that luxury at the moment. It may be my 
limited (mis-)understanding of Angular and Ember so I am absolutely open for 
correction and suggestions. 



Larry Mills-Gahl
[email protected]






On Aug 14, 2014, at 4:36 AM, Philippe Rabier <[email protected]> wrote:

> Hi Laurence,
> 
> It's just by curiosity: what do you try to achieve with angular? Prepare some 
> part of a page on the server side the send back to angular (a mix of data + 
> HTML + javascript)?
> 
> 1 member of our team gave it a try but didn't like it very much. And 
> personally I don't know Angular. 
> 
> We are redeveloping our back office app with MontageJS and ERRest for several 
> months and we didn't have any problem. 
> 
> So I'm wondering if we missed something. We modified ERRest (and still need 
> to optimize it) but nothing related to MontageJS (we added the capability to 
> choose the set of attributes we need in the request, to return an EPOCH time 
> for NSTimestamp, …). 
> 
> So if you can give more informations that could interest other I guess. 
> 
> Philippe
> ---------------------
> http://twitter.com/prabier
> 
> Sent from my iPhone
> 
> On 13 Aug 2014, at 23:35, Laurence Mills-Gahl <[email protected]> wrote:
> 
>> Thanks Farrukh
>> 
>> I'm still working on this in a limited test because angular and wo are 
>> parallel universes and getting communications between the universes is 
>> tricky. (I don't want to cause any problems with the space-time continuum. )
>> My intention is to use wo on the server side and angular for browser side 
>> interaction (filtering lists, sorting, wizards...) I don't see any reason to 
>> do a server round trip if I'm only filtering/selecting. 
>> It is easier to render everything on the server and send it to the browser 
>> but user experience (and expectations) is less tolerant of request response 
>> time for data they already see in the browser. 
>> I'm looking for a hybrid server client structure to satisfy my control freak 
>> (on the server) and the rich (richer) user experience.  
>> There are many fine client side frameworks and I'm looking at angular and 
>> polymer as options that don't require a complete takeover of the client 
>> side. 
>> 
>> 
>> =====================
>> Larry Mills-Gahl
>> 
>> On Aug 13, 2014, at 4:11 PM, Farrukh Ijaz 
>> <[email protected]> wrote:
>> 
>>> In my experience, WebObjects and AngularJS are two opposite dimensions. 
>>> They do not go well together without some work arounds. I’m trying to build 
>>> ERAngular framework which could help WO developers to achieve what angular 
>>> provides still coding on the server side. E.g. a ERAngularModule which 
>>> could provide server side access to $scope so you don’t need to write any 
>>> javascript. This will take time… till then you can try following two 
>>> options.
>>> 
>>> 1. expose your component actions as URLs that can for $http service.
>>> 2. Use Apache Cordova and use jars that are used for Android plugins (they 
>>> are java code) … this may be tricky but once a plugin is written, it’s 
>>> piece of cake to communicate for posting data.
>>> 
>>> I’ll try to find a better solution for you in the mean time :)
>>> 
>>> Farrukh
>>> 
>>> On Aug 13, 2014, at 10:09 PM, Larry Mills-Gahl <[email protected]> wrote:
>>> 
>>>> I’ve got a project that I’m testing some angularjs with and am encouraged 
>>>> by some of the things in the browser that are pretty straight forward 
>>>> (loading and filtering json is pretty simple and appears to play well with 
>>>> others)
>>>> 
>>>> Since I’m using hg-repeat instead of WORepetition, I’m looking for a good 
>>>> way to get the selected item from the angular repetition. (I feel like 
>>>> there should be a better way than hidden fields) Does anybody have any 
>>>> suggestions or javascript mojo to bridge the wo/ng component communication?
>>>> 
>>>> Yes, this would be easier if it were completely REST, but it’s not (yet) 
>>>> so I’m trying to get the new, more interactive (browser centric) 
>>>> components to work and play well with the old server centric components.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Larry Mills-Gahl
>>>> [email protected]
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list      ([email protected])
>>>> Help/Unsubscribe/Update your Subscription:
>>>> https://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
>>>> 
>>>> This email sent to [email protected]
>>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/prabier%40icloud.com
>> 
>> This email sent to [email protected]

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to