I would like to be able to use the same object model on the mobile device as on the server. E.g. if I add an aspect, or a new subtype of a certain node type, these things should be supported on the mobile device as well. To access the model I'd need the corresponding services from Alfresco, too.
If my mobile app uses the services on the web server to access the data on the server, then I guess the synchronization of iOS or Android won't be transparent: I'll need to implement another Data Access Layer and Data Model for use on the mobile device, won't I?
Since the "Professional Alfresco" book says that Alfresco is very modular, lightweight, and down-scalable, I thought I might use some basic services to create and access nodes, to save these nodes offline and to synchronize them with the server. Id wouldn't have to be the whole of the Alfresco ECM "stack".
Let's look at the Knowledge Base example (from the Professional Alfresco book): Say I want to create a "Knowledge Base" app for Android. When online, I should be able to search for and read all knowledge base articles. When offline, I should still be able to find and read the ones I already accessed. Further I might want to create a new article on the phone, associate with other articles and save it in a folder. When online, these should be sent to the server.
To take it a step further, let's say we add a rating feature by means of an aspect for the score, and implement a JavaScript API to rate and view the ratings. Wouldn't it be great to be able to use this very JavaScript API as a means to implement the new feature in the mobile app, too?