How to make an application run on as a cloud service - android

I had developed an android app.
Now I want to make the app run as a cloud service .
Is it possible to do that.
if possible please tell me a way to achieve it...

This is wildly dependent on what your android app does and your expectations of how it will continue to do that as a cloud service.
For example, if your application is a static page that displays information, and you want to be able to access that outside of android, you can run an android emulator on Linux and have that Linux VM running in the cloud. This is not really a cloud service, but might accomplish what you are trying to do.
If your app has business logic like taking some numbers and doing some calculations, you should really look at porting your android app to another language that can run specifically on a Windows or Linux VM. This involves learning a new language, researching APIs, and a basic understanding of the cloud provider you choose to use.
As a starting point, this example project is a very basic but modern template for Java cloud services. It uses a framework called Spring to help simplify some of the API understanding but would provide a somewhat easy transition from the Android world.
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-simple
From there you need to research how to run the application on a Linux VM using tomcat.
http://tomcat.apache.org/
Finally, you will need to understand the cloud platform's VM provisioning as well as some basic networking concepts. Amazon's AWS is an easy to learn, developer friendly platform that has a ton of documentation and tutorials widely available.

Related

Porting a Cordova plugin from Android to iOS

I am in the process of creating the iOS version of a hybrid Cordova app which uses one single in-house plugin. The plugin provides the app with a range of services.
an encrypted SQLite database via SQLCipher
geolocation tracking
watching for Wifi networks (not actually using them, I only care about their MAC ids)
asynchronous https POST to periodically transfer app status data to my servers. I originally used OKHTTP for this purpose but now rely solely on the native APIs provided by Android.
Websockets (I am using this implementation in Android largely because it is very well documented)
Android's CountDownTimer to reguarly update the app screen when it is in the foreground
The accelerometer sensor to keep track of linear acceleration changes and the number of steps since last reboot.
Storing some information in files
Mostly using Android SharedPreferences to keep track of the app state
I would rate myself as a fairly decent programmer and have coded in C/C#/Delphi/C++ at various times in the past though most of my current experience has been with Java/ES6 and PHP. I have taken a look at Cordova's instructions for creating iOS plugins. What surprises me slightly is that a good 3+ years after Swift was introduced the Cordova folk still say
An iOS plugin is implemented as an Objective-C class that extends the CDVPlugin class. For JavaScript's exec method's service parameter to map to an Objective-C class, each plugin class must be registered as a tag in the named application directory's config.xml file.
I have used Evothing's excellent guide to install the entire Cordova ecosystem on my Mac Mini and have tested out the "Echo" sample app in the Cordova documentation. Much to my surprise I was able to test the app on my local iOS device at just my second attempt. However, this is purely the result of copying and pasting the sample Cordova Echo app code. Much of the Objective C syntax makes little sense to me and I note that it appears to use pointers (lots of *s) from which I am inferring that there is no automated garbage collection.
My questions
Are there well documented iOS APIs for handling geolocation, wifi scanning, file i/o etc as I have listed above?
Am I obliged to do all of this in Objective C or is it now possible to create Cordova iOS plugins in Swift (which appears to have a flatter learning curve)
Is it possible to use Websockets in this environment? If so, is there a comprehensive native iOS implementation?
Are there any shortcut ways to convert my Android/Java plugin code for use on iOS?
Finally, in view of the capabilities that I need to port, are there any glaringly obvious gotchas that I need to be aware of before I start
I am assuming that the iOS webview is based on Safari and accepts most CSS3/HTML5/ES6 constructs so the process of porting the UI - which works without a hitch in the Android Webview which shares it codebase with Chrome.
I'd be much obliged to anyone who might be able to give me some pointers here.

Building mobile app derivative of Rails web app

How does one approach building the mobile app version of one's Rails app, with little to no mobile development experience? iOS, Android, one or the other, or both.
First, you might want to create (private) APIs for services your web app provides. The de facto standard for Android apps is REST-like endpoints that accept/return JSON. You can use whatever Ruby REST framework works best. Then you need to consider how you would authenticate Android apps, if needed. Do you use the same authentication database? Can you allow anonymous access, what parts of the app do you expose, etc.
Finally, you need to build the frontend. A few options here:
learn Android
hire someone to do it
use a framework that lets you develop using Web(-like) technologies: Thitanium, Rhodes, etc. The upside is that you get to use what you know and might also get an iOS app for free.
The downside is that you can never get the native performance, and look-and-feel might not be completely Android-like (never used Rhodes, so maybe it does this well enough, but still)
Consider using http://www.rhomobile.com/.

Is it possible to use GWT and App Engine together with and android app for commercial use?

I tried to give the main idea in the title as good as i could. I am a good programmer in Java and i studied the android sdk. I posted my question here because i believe you can guide me.
Two companies need to send text messages(not sms) in the same android app. The number of users of this app is not known but it could be 500 to 200k. Can Gwt and app engine help me to make it possible. To make it clear i didn't studied these services, but i know if i use them it will have no cost.
The other solution is to make my own server and a web app with another language.
Your answers will save me time.
Thanks in advance.
GWT and App Engine are front end and backend platforms which can be used to build use cases which fit a different need.
App Engine provides a PAAS stack with limitations of hardened sandbox, GWT takes the pain out of Javascript programming but restricts the customization.
If you are using http to communicate with servers then GAE should do the job

How should I approach making server-side software for an Android application?

In the past I have used Python for backend stuff along with Django for frontend stuff, but I don't know how well those two work with Android.
Can anyone recommend a good way to go about making server-side software that works well with Android?
Please take into account that I also want a web application as a frontend, so the backend should work with both the web app and the Android app.
Thanks for the help!
You might start by developing an HTTP API using Django, tornado, cherrypy, or any other web framework. This API may then be used by both your web frontend and your Android application.
In general, separating out the API from the application serves to clean up the code and make future changes easier. In this case, it also makes it easy for you to have multiple frontends without having to replicate the backend functionality.
If it's possible to create a web application version of your project, consider that it may be easiest just to create a version of that application which is formatted for the android screen, and allow Android users to use the same web application with appropriate styling.

Advice for a mobile app for reading a publication

I'm considering developing apps for Android and Windows Phone 7 that allow the user to read content from an online producer (newspaper/magazine/blogs etc). This provider has a REST API that should allow for straightforward access to the content. A few questions I have:
I saw an OData demo, where getting data from a feed was super easy, with no parsing of any sort required. Is it worth building an OData provider on top of the publication's existing API, just to make it easier for the mobile apps to get data?
I have heard that C++ can be used on wp7 and Android. Is there any reason to develop an app core in C++, then interact with the device APIs in C#/Java? Or is the core logic layer of the app so thin that it's not worth the hassle? It seems like there's really not that much to developing a publication reader app - basically just a GUI on top of an API that provides all the data.
Or, would it make more sense to just develop a mobile version of this publication's web site? Then there could be one service for all mobile platforms. What are the pros and cons of an app that runs on the device as opposed to a website specially built for mobile devices? (Like the Gmail, Google Docs, and GTalk "apps" for the iPhone.)
Thanks.
C++ is not a development language for Windows Phone 7. There are two development platforms for WP7: Silverlight and XNA. There is no possibility of interop with a C++ module.
As far as I know, C++ cannot currently be used to develop WP7 applications. I would check on that before you try to go too far down a cross-compatibility road.
That said, the UI between WP7 and the iPhone is really, really different - the backend code is so small in comparison to well-written UI later, I'd just write two separate apps. It may seem like a time savings but either your app is going to look like it does not belong to one platform or the other, or you'll be spending more time trying to keep the compatible stuff working OK on two platforms.

Categories

Resources