Hi Steven,

Good to see an X-techie on this list!

I've developed quite a few applications using XForms and XQuery, some
using the XRX pattern [1]. One the the things I ran into using X*
technologies is that it's not an expressive programming language.
Converting and moving data works really well but capturing business
proved to be very hard. Another thing we kept doing was writing logic
twice: on the server side to validate http post methods and in XForms
to have client side validation.

This development eventually lead me to Isis: a solid and expressive
framework to capture your business logic with a minimum of code and
where the UI layer doesn't duplicate business logic.

The built in Restful Objects API [2] is a clean API to interact with
the domain objects and I don't see a client built in XForms interact
with that easily. IMHO a more expressive language like JavaScript
together with a good library like AngularJS is the way to go for a
next-gen viewer.

Cheers,

Jeroen

[1] http://en.wikibooks.org/wiki/XRX
[2] http://restfulobjects.org/

On Tue, Jan 7, 2014 at 11:06 AM, Stephen Cameron
<steve.cameron...@gmail.com> wrote:
> Hello Apache Isis folk.
>
> There are couple of 'frameworks'  that aren't on that list and which are
> kind of MVC (but not really I have argued elsewhere, just extensions of the
> data-driven browser model) come from the XML technologies stable.
>
> namely XForms:
> Specifically see XSLTForms at http://www.agencexml.com/xsltforms
> and something complex built with XSLTForms at:
> http://forms.collinta.com.au/xml.edit.xml
>
> and XSLT2
> http://frameless.io/xslt/
>
> XSLTForms is dependant on XSLT (either in the browser or outside) for
> converting XForms form markup to HTML & Javascript, that is where its name
> comes from, but the xsltforms.js script that does all the work from the
> time the page is rendered could be leveraged by Isis (possibly, this idea
> has been in my mind for some time but never examined). XForms defines a
> complex set of events that can potentially be adapted by something like an
> Isis viewer.
>
> It might be possible for XSLT to be used by Isis server as well to convert
> an XML rendition of pages to HTML & Javascript in the same way, I think
> this can be done dynamically to some extent using the subforms mechanism in
> XSLTForms.
>
> IMHO there is nothing that superheroic about AngularJS, its all been done
> before, by a great standard that should have seen cross-browser support did
> not get it, back in the browser-wars days I suspect. XSLTForms also
> supports JSONp use and is being further developed to extend its data format
> handling even wider.
>
> Adding a remote model to XForms should be possible as well, I am not
> familiar enough with Restful Objects to know.
>
> I am not arguing for this option, merely stating its existence for the sake
> of completeness and my mutual interest in NO and XForms.
>
> Regards
> Steve Cameron
>
>
>
>
> On Tue, Jan 7, 2014 at 7:16 PM, Dan Haywood 
> <d...@haywood-associates.co.uk>wrote:
>
>> On 7 January 2014 07:55, Ged Byrne <ged.by...@gmail.com> wrote:
>>
>> > Hi Dan,
>> >
>> > This is intriguing.  So would this be a rich client written in AngularJS
>> > that makes ajax calls to the Restful Objects viewer?
>> >
>> >
>> yup.
>>
>>
>>
>> > Are there any details I can read?
>> >
>> >
>> As you might know, there is also a .NET implementation of Restful Objects
>> by Naked Objects group [1] (Isis was originally Naked Objects framework;
>> NOG donated the codebase to Apache once they had decided to focus solely on
>> .NET).  Anyway, NOG have already started on their own RO client, called
>> Spiro [2,3,4].  This was originally written to use Backbone, but has been
>> ported over to AngularJS.
>>
>> Spiro is architected in two layers.  At the bottom is a library to handle
>> the RO representations, and above there is a UI layer (eg as in [4]).
>>  Admittedly, the division between the layers isn't that obvious if you look
>> through the Javascript [5], but eventually I hope that the Isis viewer will
>> reuse the underlying Spiro library, but provide its own UI layer on top.
>>
>> There was another piece of work done in this general space by one of our
>> Google Summer-of-Coders last year (Bhargav Golla's work [6]); that doesn't
>> use AngularJS, though; instead basic JQueryMobile.
>>
>>
>>
>>
>> > May I ask: what makes you choose AngularJS over alternatives,
>>
>>
>> * Mindshare [7]
>> * (from the research I've done) I think it's reasonably compatible
>> * the opportunity to leverage Spiro
>>
>>
>>
>>
>> > such as
>> > Bootstrap?
>> >
>> >
>> I don't see these as alternatives to each other; indeed I expect that Isis'
>> viewer will use Bootstrap for its widgetry, possibly leveraging [7]
>>
>>
>> HTH
>> Dan
>>
>> [1] http://nakedobjects.codeplex.com/
>> [2] https://github.com/NakedObjectsGroup/spiro
>> [3] https://github.com/NakedObjectsGroup/spiro/wiki/Introduction-to-Spiro
>> [4] https://github.com/NakedObjectsGroup/spiro/wiki
>> [5]
>>
>> https://github.com/NakedObjectsGroup/spiro/tree/master/Spiro.Angular/Scripts
>> [6] https://github.com/bhargavgolla/isisJavaScript
>> [7]
>>
>> http://www.infoq.com/research/top-javascript-mvc-frameworks?utm_source=infoqresearch&utm_campaign=rr-content
>> [8] http://angular-ui.github.io/bootstrap/
>>
>>
>>
>>
>> > Regards,
>> >
>> >
>> > Ged
>> >
>> >
>> > On 7 January 2014 07:14, Dan Haywood <d...@haywood-associates.co.uk>
>> wrote:
>> >
>> > > On 6 January 2014 11:29, GESCONSULTOR - Óscar Bou <
>> > o....@gesconsultor.com
>> > > >wrote:
>> > >
>> > > >[...] We're more likely to
>> > > prioritize building a next-gen viewer using AngularJS and the RO viewer
>> > > (isis-viewer-restful).
>> > >
>> > > [..].
>> > >
>> > > Dan
>> > >
>> >
>>

Reply via email to