0

There are hundreds of sites now which allow you to create apps for iOS & Android on the fly. Am completely lost on how they are able to achieve this online. Are there any services which help compile the code?

Can anyone help in giving an outline of the full process? They primarily look like mobile webapps placed in a virtual browser.

Any thoughts on the flow will be helpful.

Sample sites:

http://www.theappbuilder.com, http://www.shoutem.com, http://www.appypie.com, http://www.appsbar.com, http://mobiappbuilder.com

All of them support native apps. How do they do this?

UPDATE

Thank you for your answers. But am not looking at creating apps. Am looking at creating a service which creates apps. A service which allows creating mobile webapps is no issue at all. But how do the above companies allow creation of Android & iOS native apps on the fly? How do they do it i.e. what is the technology/flow for that?

Alec Smart
  • 85,672
  • 35
  • 115
  • 178
  • What exactly in the process don't you understand? The question is still a bit vague. – Sulthan Apr 26 '13 at 13:28
  • Once the webapp is ready, how do we convert them to native apps using online servers? We do not want to manually create them. I want it to happen on the fly. – Alec Smart Apr 26 '13 at 17:45
  • You have to first implement the native framework for every platform. Then you just add the application data and compile the framework into a native app. – Sulthan Apr 26 '13 at 18:12

2 Answers2

1

They are HTML5+javascript based like crossplatform frameworks like PhoneGap for instance.

Stan
  • 6,121
  • 8
  • 48
  • 85
1

You are exactly right.

The trick is in the word native. A native application in this context doesn't mean an application written in Obj-C or Java. They have a small native core, mostly only to display a web view and they dynamically generate HTML pages for it. They can run their own web server on the device or use HTML prepared beforehand or load it from some internet source but most of the functionality is done by HTML(5).

Depending on how advanced the framework is, the native core is bigger and can provide some of the native features, e.g. access to filesystem or notifications. If a web server is running inside the application, then the server can provide the advanced functionality using some HTTP API.

The UI is usually done in HTML (+ CSS & javascript) but there can be also some native components.

The biggest problem is usually the look & feel which is not native (usually CSS mocks up the native UI), performance and memory problems.

It's good for small applications, it's terrible for bigger applications.

Once you have the framework and the user-generated functionality (UI, images etc), it's trivial to compile it using command line tools (e.g. ant for Android, xcodebuild for iOS).

Edit:

In other words, the native framework contains a web server and a web browser. The application is only a resource that is inserted into the framework. It's exactly the same as when you are creating a normal web application. The only difference is that the server side data is stored on the client, too. Depending on the framework, the server side scripts can be either compiled or interpreted.

Sulthan
  • 118,286
  • 20
  • 194
  • 245