Hi Jeroen, Thanks for the response, your first paragraph summarises my interest in having a foot in both worlds at the same time, and even more importantly has some experience behind it. I came across Isis for the same reasons, via DDD for modelling behaviour.
My interest is: where does the boundary lie and are the two approaches so divided as it seems. If you have some time to spare I'd love to question you more on your XRX experiences off list, the validation issue particularly is of interest. Maybe your last paragraph is correct, I don't know. You can do what you want with xsltforms.js in terms of taking it and changing things. Not the case with AngularJS perhaps? I've thought of making an adapter library and calling it XFormsJS as a not so clever marketing strategy. Steve Cheers On Tue, Jan 7, 2014 at 10:53 PM, Jeroen van der Wal <[email protected]>wrote: > 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 > <[email protected]> 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 < > [email protected]>wrote: > > > >> On 7 January 2014 07:55, Ged Byrne <[email protected]> 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 <[email protected]> > >> wrote: > >> > > >> > > On 6 January 2014 11:29, GESCONSULTOR - Óscar Bou < > >> > [email protected] > >> > > >wrote: > >> > > > >> > > >[...] We're more likely to > >> > > prioritize building a next-gen viewer using AngularJS and the RO > viewer > >> > > (isis-viewer-restful). > >> > > > >> > > [..]. > >> > > > >> > > Dan > >> > > > >> > > >> >
