Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
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?
They are HTML5+javascript based like crossplatform frameworks like PhoneGap for instance.
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.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Want to create an app which can run on both ios and android without modifications.
Cider (http://engineering.columbia.edu/sync-columbia-engineering-team-first-run-ios-apps-android-platform)
seems to be promising. But couldn't find any examples.
Are there any other means of getting this to work? We don't want to maintain 2 codebases for the same app for ios and android.
I am used the following steps to convert
http://www.apportable.com/ please refer this link.Using this sdk we can
directly convert Xcode project into Android project.
I tested this sdk.It is give amazing output.
It is only need four steps for converting.
this is for your reference , in before i never used ,bz i don't knw JAVA.if u need this convert Android to iOS use this link
http://www.androidcentral.com/google-develops-tool-translate-java-ios-friendly-objective-c-code
ok try to develop app in phonegap(cordova) by using html,css and JavaScript programming language
Have a look at Apache Cordova. Supports almost any platform you like and is open source.
http://cordova.apache.org/
Other option would be Xamarin. Has a commercial license for both platforms.
http://xamarin.com/
You can use PhoneGap, you will have one app for platforms other than Android and iOS also.
PhoneGap is a mobile development framework produced by Nitobi, purchased by Adobe Systems in 2011.[3][4] It enables software programmers to build applications for mobile devices using JavaScript, HTML5, and CSS3, instead of device-specific languages such as Objective-C.[5] It enables wrapping up of HTML, CSS and Javascript code depending upon the platform of the device. It extends the features of HTML and Javascript to work with the device. The resulting applications are hybrid, meaning that they are neither truly Mobile native application native (because all layout rendering is done via web views instead of the platform's native UI framework) nor purely web-based (because they are not just web apps, but are packaged as apps for distribution and have access to native device APIs). From version 1.9 onward it is even possible to freely mix native and hybrid code snippets.
The link u provided is an on going research,it will take more than 3-4 yrs before it can come in market,However u can use the existing technologies like
phonegap
titanium .... to do what u want
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
We've been making our smaller aplications in FlashBuilder, but now we need to make our apps work on multiple platforms. (iOS/Android phone and tablets)
What should the apps do?
It's rather simple. It's a video player. We build an application that presents you with a menu, where you can navigate to submenus and click to see videos or images.
Functionality needs:
So what we need is basically a way to build a nice interface with buttons for navigation, and the ability to show images and play video clips. All offline.
What would be the best way to do this?
I was thinking about HTML5 maybe, but hos do you make an offline site and put that on an iPad with all the assets?
Any tips, ideas or feedback would be great :)
Thanks!
Depending on your functional needs, ie does the content have to be available offline etc, do you need access to phone specific API's (camera, gps etc) I would suggest looking at either of the following platforms:
Sencha Touch & Phonegap (Cordova)
Essentially in both you create a web interface which is then compiled onto the device using native features. Both frameworks give you access to the phones native functions such as camera, accelerometer etc. However in their core they are still websites.
This way you can use most of the same code base to reach multiple platforms. Be aware that minor difference might still be unavoidable between android/ios etc.
An alternative road to look at is still Flash, as you can deploy to the various mobile devices natively as well. Unfortunately I don't have a lot of experience with this so I can't really advise if this is the way to go.
There are a lot of options here and the tradeoff will always be around development time, cost and maintainability & performance. Although both platforms mentioned above will get the job done, you will get the best performance by creating a native app on iOS & Android. However since you essentially use the same code base in Phonegap & Sencha it would be easier to maintain.
Hope this helps.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm gonna develop a small app both for android and Iphone. The app will contain a simple little online magazine. I have not done any app before. I work with developing Web pages in asp.net c# and I'm familiar with java. So I'm a beginner in terms of mobile apps, and now I'm wondering how to begin and where to find good information about basic app-development.
If you aren't building anything complex and just want to display something, a good solution might be PhoneGap. You can develop using HTML, CSS and Javascript and deploy to multiple platforms.
If you want to develop native applications, however, for Android, you can follow Vogella tutorials. He provides a set of tutorials starting from beginner level to intermediate.
There are many routes you can go. I will try to list some below:
Java / Objective C. You will need to know how to program in each of these languages (java for droid and Obj C for iphone). Use the SDK for the respective platform.
Cross Platform mobile platform- You can use frameworks like Rhodes, Sensa touch, etc. This will let you write code one time and build the packages for android, iphone, and much more.
Web- You can write applications using web technologies like HTML5, CSS, Javascript, etc and there are tools to package them as Android / Iphone application. Otherwise, you can use a WebView in Android (which basically creates a browser-like experience in your application).
It is upto you to decide the best route to go. There are tons of information available online (stackoverflow, and Android/Iphone sdk websites).
I suggest that you take a look at http://developer.android.com/ for guidance in android development
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
Can we create android applications using HTML5?
You can write complete apps for almost any smartphone platform (Android, iOS,...) using Phonegap. (http://www.phonegap.com)
It is an open source framework that exposes native capabilities to a web view, so that you can do anything a native app can do.
This is very suitable for cross platform development if you're not building something that has to be pixel perfect in every way, or is very hardware intensive.
If you are looking for UI Frameworks that can be used to build such apps, there is a wide range of different libraries. (Like Sencha, jQuery mobile, ...)
And to be a little biased, there is something I built as well: http://www.m-gwt.com
Try Sencha Touch. It is a HTML5 compliant framework to build application for touch devices.
Here is a starting point for developing Android apps with HTML5. The HTML code will be stored in the "assets/www" folder in your Android project.
https://github.com/jakewp11/HTML5_Android_Template.git
When people talk about HTML5 applications they're most likely talking about writing just a simple web page or embedding a web page into their app (which will essentially provide the user interface). For the later there are different frameworks available, e.g. PhoneGap. These are used to provide more than the default browser features (e.g. multi touch) as well as allowing the app to run seamingly "standalone" and without the browser's navigation bars etc.
You can use WebView and create a app that put your site inside.
https://developers.google.com/chrome/mobile/docs/webview/gettingstarted
you can use webview in android that will use chrome browser Or you can try Phonegap or sencha Touch
The WebIntoApp.com V.2 allows you to convert HTML5 / JS / CSS into a mobile app for Android APK (free) and iOS.
(I'm the author)
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am curious to know if there are any drawbacks or limitations of using Phonegap as compared to using Android. What else can we do that cannot be accomplished using the other platform?
Why would one specifically choose Phonegap over Android (besides budget or cross platform compatibility) or vice versa ? I am looking for clear scenarios with justifications.
Full disclosure I'm one of the core committers to PhoneGap's Android implementation so my opinion may be biased but I like to think I'm fair.
To answer your question it really depends on what your requirements are. You've already dismissed budget and cross platform which are two of PhoneGap's key benefits. For instance if I never intended to target any platform but Android I would probably go with native Android development but if we were going to other platforms I'd pick PhoneGap. Also, I'd take a look at my team, are they hard core Java programmers? Go Android. Are they HTML developers? Go PhoneGap or pure HTML5.
Also, it depends on what type of application you are writing. A first person shooter, go Android. A table driven data applicaiton, PhoneGap is the way to go.
Anyway, without knowing what type of app you are trying to develop it's hard to be specific.
PhoneGap Pros
PhoneGap is an excellent solution in a number of situations:
Multiple platforms: Since the front end of the application is built using web technologies, a PhoneGap application with the exact same source code can be deployed across different platforms.
Access basic native functionality: If the application requires minimal access to the native APIs such as camera, geolocation and contacts PhoneGap allows access to these APIs with just a few lines of JavaScript code.
Offline usage: Although the app is built using web technologies, it can still provide offline functionality and has access to the browser’s local cache.
PhoneGap Cons
Since the front end of the application is built in JavaScript, it causes a number of limitations.
Data processing: Native languages are much faster than JavaScript for data processing on the device.
Background processing: A large number of applications rely on background threads to provide a smooth user experience: calculating the GPS positions in the background, for example. PhoneGap APIs are built using JavaScript which is not multi-threaded and hence do not support background processing.
Access advanced native functionality: A number of native APIs are not yet supported by PhoneGap’s APIs.
Complex Business Logic: A number of applications such as enterprise applications are quite complex. In this scenario it is simply better to have a certain amount of native code.
Advanced Graphics: Apps that use advanced graphics which can only be accessed using third-party libraries are best done natively.
Benefits of building mobile web app:
1) Just need HTML5/CSS/Javascript skills vs Objective-C or Java. We made things even simpler by using Mobl (http://www.mobl-lang.org), a domain-specific language for creating mobile web applications that compiles to javascript/html.
2) Single code base for all platforms (iOS, Android, Windows 7, mobile web)
3) Rapid testing and deployment (up until you Phonegap it, at which point you're subject to App Store review conditions, etc)
4) With Phonegap, you can still take advantage of distribution and integrated payment via the App Store or Android Market
Drawbacks:
1) Poor performance, esp if your app is graphically intense, i.e. a game. You can implement caching or leverage some 3rd party solutions (i.e. Sibblingz) for native graphics acceleration but for the most part a native app is much faster/smoother than mobile web app
2) Lack of pre-built UI widgets, transitions, standard controls, etc. Your development time can take longer, especially if you want a polished-looking app with a native look and feel. You can try using Sencha Touch, JQ Touch, or similar tools with pre-built UI elements, but you'll probably still need to spend a good amount of time styling the app to look native.
So, should you build a mobile web app or a native one? If you're building an app that's graphically involved or involves any computationally expensive operations, go native for sure as the tools aren't quite there yet to make the job easy for mobile web apps. If you're building something fairly simple and you don't need any native styling or design polish, go the mobile web route.