Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm developping now a social network (I can't tell exactly of what) and I want to hear some opinions.Should I use phonegap or use android and iOS?.
I asked the same question when I first started our App, but my answer was easier because I have a "time" restriction which result in us choosing PhoneGap. Here are some of my reasonings:
Do I really know how to write native app? No.
Do I know HTML5, css, and javascript? Bingo.
First, you have to understand that PhoneGap is just a embedded webview/browser inside of the resulting native app. You still have to use native code to build PhoneGap App, so you can consider learning PhoneGap as step 1 toward learning how to write native app.
PhoneGap has taught me a lot about the native app and project structure on each platform. I pretty sure it will be easier now for me to write native app than if I were two months ago.
We develop single application for multiple clients. Part of our agile approach, PhoneGap has allow us to get the application out to the client for review, feedback, and quickly make changes to fit the client need with regards to UI layout and design. Once the client approve the design; obviously, we can always convert the design to native App if the client is willing to pay for the extra effort.
If you want a good app and you are willing to put some time in it, go native.
As a matter of fact, always go native
Well, if you intend to start with something not that complex, I would say go Phonegap.
As you probalby know, the big advantage is that the HTML/JS code you produce is packed into several platforms (Android, iOS, symbian, etc..). However if you need to have more specific services like Background services to interact with the user and so on, you surely will need to develop natively, at least this part.
For example, if you need a service to warn user of updates, etc, you'll have to develop the central application (your html assets) and a background service for Android, and also a bacgrounf service for iOS, it's not possible to reuse code in this case.
So, depend on what you are going to aim at.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I’m getting started with using Cordova/PhoneGap for Android/iPhone app development and am very confused with the number of frameworks out there. I have taken tutorials by Christophe Coenraets (here and here) as a starting point and managed to get something working, but my current problem is getting a nice UI.
The tutorials mentioned above use http://topcoat.io/topcoat/ and http://goratchet.com/ but both of them seem to have very little support. But these really appeal to be because they are so lightweight and are independent of the functional aspects of the code.
I've looked at http://mobileangularui.com/ which looks great, but I'm really confused by "Build HTML5 Mobile Apps with Bootstrap and Angular JS" on the homepage - can I use just the UI "layer" or does it need both Angular JS and Bootstrap. And are these essentially different, competing frameworks?
Finally, I've created test apps with these and they all work fine on my Android 4.2 phone, but all of the have various issues (usually will not scroll) in my older Android 2.3 phone - do these modern frameworks not support a phone of that age?
Thank you in advance.
Why not try Ionic Framework
I have used ionic, angularJS, phonegap/cordova together for Android/iPhone development and its quite nice. Not that hard to learn and quite fun to work with.
Choosing Mobile frameworks is based on the requirement of the app. There are various frameworks available, most popular and widely used are jQuery Mobile, Sencha Touch and others..
This article has introduction to Cordova/Phonegap and comparison to some of the Mobile Frameworks, you can choose it based on the requirement. For best practices in Cordova, it is always better to use SPAs - SinglePageApplications for that jQuery Mobile and Angular/Backbone can be combined.
Angular vs Backbone!
For your other question on older phones like Android 2.3 phone:
These frameworks are built for/using many features like HTML 5, CSS 3, localStorage, local database as well and others.. so HTML 5 support is not completely supported in older phones/Android versions, also local storage, sqlite and many others..
You can check the support for HTML 5 here, also for others you can check in the same website or Mozilla Developer Network for JavaScript.
First and foremost - your Cordova applications should adopt the SPA (Single Page Application) design. Loosely defined, a SPA is a client-side application that is run from one request of a web page. The user loads an initial set of resources (HTML, CSS, and JavaScript) and further updates (showing a new view, loading data) is done via AJAX. SPAs are commonly used for more complex client-side applications. GMail is a great example of this. After you load GMail, mail views, editing, and organization are all done by updating the DOM instead of actually leaving the current page to load a completely new one. More.....
Examples of SPA libraries(UI) you can use in your Cordova applications are:
1) AngularJS
2) jQuery Mobile
3) Kendo UI
4) Sencha Touch
5) Backbone
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 9 years ago.
Improve this question
I have Android apps and I would like to port them to Blackbarry decives so I can also distribute them on the blackberry app store. What is the best way to do that? Is it possible? Or do I have to re-write the whole app in blackberry code whatever that is :)
Thanks,
Alex
Based on the whole "Blackberry code, whatever that is" comment, I'm going to assume you haven't programmed this in SenchaTouch, or PhoneGap, or some other mobile unification type of language based in HTML5. As such, I'm assuming you have used native Android APIs. Therefore, the answer is you have are likely to have to re-write your application. Though there is a little bit of hope.
http://developer.blackberry.com/android/.
Some applications can be ported, but it's not guaranteed to work, it depends on which version of the Android tools/apis your application uses and the type of application that you developed. It is likely to require at least a little re-tooling regardless. If this leads to a dead end you have to re-write your application.
http://developer.blackberry.com/
As referenced in the comments, you have a little more research to do. The site above is a good place to start.
You have to rewrite your apps to expose to Blackberry. If you want to write your application just once and export to Android and Blackberry (IOS too... at least it says the docs) you can test Titanium.
Natively written Android apps can be 'easily' converted to BlackBerry using:
https://bdsc.webapps.blackberry.com/android/bpaa/apk-compatibility-check
You don't have to have had the Android app written in PhoneGap, html5, etc.
There are plenty of modules/frameworks that are not compatible unfortunately so often there is some tweaking to do. As an example, if your Android app uses Bluetooth, you won't be able to port without some changes.
However, simpler apps can be easily ported. As an example, a very commonly used sample app provided by Android is called ApiDemos (if you haven't used it, just search for it and download the .apk). In the link I provided, you can browse to the apk and your android-sdks folder and start the compatibility test and you'll see it passes. That is, once that's done, it's literally a repackaging/signing exercise with no code changes needed!
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.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am looking for some cross platform game development frameworks. The game i am focusing on wouldn't require high-end platform dependent resources. Just a simple card game. I believe HTML5 platform would work fine but I am not sure which one.
Secondly, I want to implement multi-player functionality in the game. There are 2 things which i am not sure about
If i want to allow four friends to play one game, how should I do it? Does mobile platform has something like LAN or some other inter-connectivity options?
I want to give online multi-player options as well. Is there any server/framework which provides such functionality?
P.S:
This is my first ever project on any mobile app. Corona is good but it isn't free.
EDIT:
I am looking for some Free framework.
If it's a mobile app, try Corona SDK. You can use it to make games (or apps) for iOS, Android, and I think NOOK and Kindle Fire. It's also very easy to learn. I started using it when I was twelve, and I learned it in an hour. A simple card game could be done in less than a few hours.
As for multiplayer, you could use AutoLAN (http://developer.coronalabs.com/code/autolan or http://www.mydevelopersgames.com/AutoLAN/) for both local and online multiplayer, though I've never tried it. It used to be something like $20 but now it's free.
cocos2d-x is the best known cross platform game engine for 2D games.
Here is link: Cocos2d-x
Here is some good discussion on best cross platform game engine. click here
(1) You could in—in theory—build a networked game that communicated over SMS messages, or something wacky like that. But the general presumption these days is that people running apps and games on phones have Internet via 3G, 4G, WiFi/etc.
(It could be an interesting exercise to write a game that can be played over Bluetooth on two phones in a remote mountainous area where's no reception...but I'm not sure how big that market is.)
So the decisions come down to the usual ones for a networked app. Are you going to make it peer-to-peer so that the only software involved is one app per player on their phone? Or will you do have a server sitting out on the Internet that each client connects to, and the game is run without any player connecting directly to any other?
(The latter is easier for various reasons. One of the more interesting reasons why peer-to-peer card games are hard has to do with one client trusting another when there's no "game master". The Wikipedia article on Mental Poker may be illuminating.)
(2) Can't vouch for it myself, but people on the net appear to like mages on Android. iPhone, I dunno.
But if you're doing this as a learning exercise, you might try tinkering around from scratch just to get a better handle on the issues, rather than jumping in the specifics of any particular framework. Use JSON messages and talk to a simple server written in whatever server-side environment you feel most comfortable with (Node? Rails? Django? PHP?(no!) :P)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am interested to find out if there are any good platforms that are cross platform compatible for business apps. I know that Adobe AIR for Mobile is good for business apps and can be compiled for both Android and iOS devices(iPhoone/iPad). Outside of AIR, I don't know of any. I've looked at Corona, Unity, and Shiva 3d, but these seem to only be oriented towards game development.
My problem using AIR for Mobile is that from the experimental apps I've done in this fashion, the performance of AIR apps on Android and iOS always seem to be sluggish. Are there other SDKs that support a more responsive "write once deploy everywhere" model?
here you'll find a great article - http://mashable.com/2010/08/11/cross-platform-mobile-development-tools/
it contain mainly 5 of them -
1) RhoMobile
2) Appcelerator
3) WidgetPad
4) PhoneGap
5) MoSync
if you are looking for great performance then go for Appcelerator. It convert JS code in native app.. so performance is as good as native app.
Did you look at MonoTouch and Mono for Android from Xamarin? http://xamarin.com/
They say you can re-use up to 90% of your application logic across iOS and Android phones and tablets, and Windows Phone and then create device-native user experiences / UI with access to all the native platforms API and device sensors.
Have a look at PhoneGap http://phonegap.com/. However, testing this myself I have also found slugish performance. Having looked around on the web there is a strong battle of native vs the write once run anywhere solutions with the native option seeming faster.
check out www.madewithmarmalade.com.
Its allows you to write directly down to the bare metal, creating a single native binary that means you don't compromise speed, which I've found the problem with a number of proposed solutions.
There an English outfit, part owned by ARM, so the tech is pretty good.
For $499, you can't go wrong.
There is also AeroGear you can try.