Here is our case:
We exposed some POCO types using OData by ASP.NET Web api, mainly the schema of models. What we want to achieve is share these schema with iOS and Android clients. I am not familiar with both iOS and Android developments, isthere any methods let us develop just like normal .NET application style, add something like ServiceReference to the project, so that we can use those models? Or some other ways to allow make use of those stuffs.
We just focused on latest version of iOS (iOS 7 / iOS 8), and Android 4.4+. Any shared experience is welcome.
The following libraries are both for OData V4 only.
For iOS, there is the ODataCpp library owned by the same team who implements the ASP.NET Web API OData at Microsoft that you can try out. It's recently open sourced and will have its first binary release soon. It supports iOS as a target building platform and iOS apps can be built using it.
For Android, there is the Apache Olingo Java Client. It's still under development but according to the recent communications on developer mailing list, its first V4 client release will be very soon. You can have access to the source code on it's Git repository. It's been tested for building Android applications.
Also, while not a server side native application, a strong stop gap is the library Odata4js, which allows you to Prototype PlainObject Models, and use data-driven js libraries to manipulate/work with the data. Javascript would work on both platforms until official APIs release, and OData4Js works very well with other major releases such as Angular, jQuery, etc.
Related
I am looking for a Multi-platform mobile app development framework.
Key features i require are:
Support for Background Services for synchronization
Database support
Which frameworks are better suite for these?
My research comparing React Native and Xamarin so far says that react native used more often in industry and has more developer support available but officially they only have 'headless-js-android' for Android for running services. Xamarin on the other hand has the support for running services on both platforms.
I need some guidance from someone who has worked with both technologies.
Thanks.
The following is a list of multi-platform mobile apps development frameworks:
Adobe PhoneGap: https://phonegap.com/
Appcelerator Titanium: http://www.appcelerator.com
Sencha Touch: http://www.sencha.com/products/touch
Ionic: https://ionicframework.com/
Sinpalm: http://www.simpalm.com/services/sencha-touch-development-developer
Check them out and let me know which one got your attention.
This is an oversimplification on the way they work:
They allow you to create a user interface with HTML5 and JavaScript.
Then, via JavaScript injection, they provide you with a standard API framework.
This JS API framework is a common interface to both Android and iOS. Therefore, you only focus on coding against the JavaScript API framework. Behind the scenes, they have libraries that will execute this API in the respective device.
Most of them allow you to use the database and other features provided by the respective OS (Android/iOS). You only need to check which supports the feature you need better.
i'm asking if i can work with java ee and spring like a backend to developp an android application, also I wonder if I can execute an android app on iphone or it must be ios app to work on iphone thanks :)
You can write Android app in Java or Kotlin. Java EE that is mentioned in your question is a platform for developing enterprise software, it's not related to Android app development. Keep in mind that you are going to develop an app for the phone, so the app should take as little as possible memory. It's better to avoid some practices heavily used for the backend development, for example reflection. That might slow down your app.
If you need dependency injection framework you might be interested in dagger2. If you need http client you might be interested in okhttp and retrofit2 for calling webservices. Also there are several ORM frameworks for Android - room and greenDao. There are much more frameworks, I'm mentioning only the most popular ones. Most Java libraries are suitable for Android.
You can't execute native Android app on iOS. If you are interested in multiplatform app development you can try looking into react native
I need to develop an application related to C2C communication in which manufacturers can directly start communicating with retailers for bulk orders and maintain the order in an easy and fast way. Please suggest what framework i can use. For example: Native android developement, PhoneGap, Appcelerator Titanium.
PhoneGap: I have read that you cannot provide rich interactive applications and that it's not good in communicating with Android native apis.
Appcelerator Titanium: I need to purchase it and it requires a lot of money to develop an application.
Native development API: I have to provide a lot of time and it will be hard to communicate with my database and my web application using web services and it will be for the Android apps only
Which should I use for my app?
I'd say it depends on:
Your skills...
HTML: PhoneGap, Titanium (our Alloy MVC uses XML)
JS: Titanium, PhoneGap
JAVA: JAVA
Your plans...
One platform: Android
Multiple platforms: Titanium, PhoneGap
Your requirements...
Good UX: Titanium, Android
Titanium is open source and free (appcelerator.org) but we do provide paid (starting at $39/month) services, including Arrow, which is great to quickly build mobile web services to connect apps with any remote data source.
When you only want to develop an Android app you should use the native API. It offers most features, the better documentation (IMO) and is easier (and therefore cheaper) to maintain. Additionally it should be easy to communicate with databases and/or web APIs.
The only advantage Titanium offers is the multiple platform support. But when you only want to develop for Android use the native APIs.
Is there a project that provides libraries for communication over WebSocket for both Android and iOS? I know jWebSocket, but it is pretty much dead, and does not provide a lib for iOS. I know Autobahn, but it too supports only Android. I also know SocketRocket, but that is only for iOS. Is there something that supports both, or two solutions that are 100% compatible with WebSocket?
Thanks!
iOS uses ObjectiveC and Android Java, so there can't be a library that provides building the same unmodified user source code for both platforms for the platform's native language. You could have that (in principle) using C. And of course JavaScript.
Apart from that regarding the wire protocol AutobahnAndroid and SocketRocket should be absolutely compatible, since both use the AutobahnTestsuite to test protocol compliance.
Above is for pure WebSocket. If you want to use higher level features of i.e. Autobahn like the Publish & Subscribe and RPC messaging patterns provided by WAMP, we plan to have a iOS version of Autobahn that adds those .. on top of SocketRocket. No need to reinvent a mature, robust WebSocket implementation on iOS.
Disclaimer: I am creator of Autobahn/WAMP.
I have been developing GWT application for a while and I'm trying to port my app to Android. I'm very new to Android but it seems that the ADT share many similarities with GWT so the learning curve might not be very steep.
There's what I read from GPE 2.4
Android and GWT clients that are capable of talking to the same App
Engine backend using the same RPC code and business logic.
It would be great to share the same backend which I spent a hell lot of effort in design and implementation. However, I'm not using AppEngine and impossible to switch to it either. I'm wondering if the Android app can still share the same RPC structure with GWT without using AppEngine. Thanks.
If you're still in need of a solution, check out GWT-SyncProxy (Disclaimer, I recently joined the project). I just put out a 0.4 release that has an Android Library that allows you to make GWT RPC calls from Android (or Java standalone apps using the regular library).
https://code.google.com/p/gwt-syncproxy/.
The library can utilize Android accounts if you do switch to GAE, but it's definitely not required.
You can try to use http-dispatch. It is the adapted gwt-dispatch framework which can be used on Android platform. Http-dispatch uses default binary serialization so it works from the box for many types of objects. Currently it is in alpha but you can try http://code.google.com/p/http-dispatch/