------------
There are multiple ways of developing iOS applications. I like to program in Objective-C to make my iOS apps.
But you can do most of the things using
Question:
When is it suitable or appropriate to use the native platform?
There are 6 answer for your consideration
Answer 1:
---------------
But you can do most of the things using
jQTouch
, jQMobile
, PhoneGap
etc. Question:
When is it suitable or appropriate to use the native platform?
There are 6 answer for your consideration
Answer 1:
- PhoneGap is essentially a wrapper, so it will always lag behind the latest features, in addition to possibly having bugs in some edge cases.
- Not all platform features are going to be available in PhoneGap, so you'll need to know what is not supported before you decide to use it.
- Most hardware acceleration features will never be fully available, so if you want to make an advanced game with high end graphics, it's not going to work well.
- The maintenance required to do custom modules that are not available out of the box may actually take more time than developing native.
- Do you really need to run on more than 2 mobile OSes? Writing for iOS and Android will give you a fairly large market coverage, so you may be better off going native.
---------------
Answer 2:
If you have a need to develop an app for
multiple mobile platforms, quickly, with a minimum effort (i.e.
implement once), use PhoneGap or similar. These frameworks provide a
"lowest common denominator" type of environment, so you lose access,
often, to capabilities of the native platform.
On the other hand, if you are developing an app only for iOS, then by all means, develop it in Objective-C as a native app. You then have at your disposal the complete SDK and capabilities of the platform! This is, of course, Apple's recommendation as a best practice for developing iOS apps! In my own experience, I had a conversation with my CTO before I joined my company about whether we should develop native apps for our platform or use PhoneGap. We agreed that developing native apps was the way to go because we could take advantage of each platform's specific capabilities. Beyond that, a native app would provide a better user experience on the platform, because it would behave more like other native apps the user might be familiar with. Think about that last idea. Think of all your apps you enjoy. As a developer, you can probably tell -- and quickly -- which ones are native and which ones are not, just by using them. Which do you think provide a better user experience? Something to think about. :-) In the end, it's up to you. You said you like Objective-C programming. So, go for it and go native! On the other hand, if you have multi-platform aspirations, and you are familiar with PhoneGap (or others) or want to learn about them, then go for it! :-) |
--------
Answer 3:
From my experience all of the JavaScript applications have been slower
than apps written in the native platform. Not because of the phone or
JavaScript, but because of the rendering of the DOM elements.
-------
Answer 4:
Large data storage for cross mobile
compatibility will be a problem with phonegap. If you need the app to
store at least 10 mb worth of data (media files, documents, etc...),
you'll be limited by 2-5mb or localStorage or cache manifest. See my
related question here:
html5 to store greater than 50 mb worth of data?
html5 to store greater than 50 mb worth of data?
-------
Answer 5:
I tried phonegap, and the first thing that annoyed the hell out of me
was that you could not control the keyboard like you are used to in
obj-c. The keyboard is exactly the same you get when browsing a website,
it has an extra pane at top of the keyboard with "next/previous"
buttons.
Therefore I am now trying out Titanium Appcelerator instead, where you
can create native GUIs using javascript instead.
-----------
Answer 6:
I think that if its within your abilities to
learn or use Objective-C, it's almost always best to do so. Using the
native-SDK gives you access to everything on the device in the most
compatible way possible. Using layers of abstraction only hurts
functionality, customizability and debugging.
That said, it seems that there are some powerful and well written frameworks to compile HTML, CSS and JS into native apps. That may be appropriate if you are no a really tight schedule or if you need to get a quick prototype out, and you are a JavaScript ninja, but a novice Objective-C coder.
That said, it seems that there are some powerful and well written frameworks to compile HTML, CSS and JS into native apps. That may be appropriate if you are no a really tight schedule or if you need to get a quick prototype out, and you are a JavaScript ninja, but a novice Objective-C coder.
No comments:
Post a Comment