Thanks for the notes. A few comments in-line!
On Tue, Jun 4, 2013 at 7:04 PM, Yavuz Selim YILMAZ <yavuzsel(a)buffalo.edu>wrote:
Android:
- Unlike iOS development, developing Android apps and compiling them
has
many different alternatives. But as a maintainer of Android, Google puts
Eclipse + ADT option in the first place. So, I think at least there should
be an option for AeroGear to use it with Eclipse + ADT setup. Especially
using community tools to build is initially harder for newbies (e.g. I
tried to get maven running on eclipse using m2eclipse, and todo app does
not compile on my eclipse while it does on terminal). Some bugs and
configuration changes in maven, maven-android, android-sdk-deployer and
m2eclipse slowed down the initial steps, i.e. it was not as quick and
straightforward as AeroGear iOS API to get the first app running.
We know maven on Eclipse not an easy task and Eclipse / ADT is (at least
for now) default Android development tools, but maven is really necessary
to automatica build on server, run continuous Integration, etc ... To
mitigate this we create some guide[1] for developer.
- Sending query parameters to server side is slightly different on
iOS and
Android (or maybe I couldn't find the same way, but Android sends where
clause as JSON object, while iOS sends key-value pairs as HTTP GET query
parameters). So, I needed to update my server side (which i developed for
iOS) to use it for Android (or I could build my where clause in iOS
manually).
Yes, It's a bug[2] fixed on 1.0.1 release today[3]
[1]
http://aerogear.org/docs/guides/aerogear-android/
[2]
https://issues.jboss.org/browse/AGDROID-4
[3]
http://blog.passos.me/aerogear-android-101-release/
HTML5:
- As AeroGear.js uses AJAX to connect to the backend, and in my case (also
I believe in most cases) as my RESTful endpoint was not residing on the
same host with my app, I needed to use jsonp data type, which requires
different response format. Therefore I needed to update my server side
(again - it was designed for iOS and updated for Android).
- When I create a pipe, I specify the baseURL and my endpoint, but I
needed to specify the data type when I was actually reading from the pipe.
I felt like if I know what my endpoint returns in terms of its data and
application type, then I should be able to set data type while creating my
pipe.
- Although documentation is not complete yet, AeroGear.js file is well
commented (going through the comments, it's easy to understand what and how
to do).
Hybrid with Cordova:
- The documentation for converting HTML5 + REST apps to Hybrid apps uses
some directory names (e.g. "ios") which causes confusion (when I read, I
got confused about whether the directory named "ios" is what I can choose
its name or it is something Cordova or Xcode creates and so it is a
required name or directory in all apps).
- HTML5 documentation and example app employs modernizr for feature
detection (mobile or desktop) and to load appropriate libraries
accordingly. However, modernizr does not load fast in hybrid app (though
hybrid app is for sure mobile, I first kept all the implementation as it is
to make it "implement once and use for all builds -HTML5, iOS hybrid and
Android hybrid-", but it didn't work). After removing modernizr from HTML5
implementation and loading only mobile libs, it required no more effort to
make html5 app hybrid (it just did work).
I also have a question, and your answers and/or directions are appreciated
in advance.
- For now, I created some simple REST API's in PHP to try the mobile side
libs. What is your recommendation of building server side (which uses
existing database let's say) if it is going to be used with AeroGear? I
mean, is it OK to go with PHP to provide REST API, and then add another
layer using AeroGear controller? Or should I go with Java implementation
from the start? So, to restate and simplify: my AeroGear controller needs
to connect to an existing LDAP instance. What's the AeroGear recommended
approach for this?
Thanks for your time to read (and respond). Cheers,
---
Yavuz Selim Yilmaz
SUNY at Buffalo
Computer Science and Engineering
PhD Candidate
_______________________________________________
aerogear-dev mailing list
aerogear-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev