Live data from Hacker News

Poll: HTML 5 or Native mobile development ?

news.ycombinator.com

71–80 of 106 posts

Re: Poll: HTML 5 or Native mobile development ?

#71

Earlier quoted context omitted.

I'm curious in how you put Titanium next to PhoneGap (Disclaimer: I may be reading too much into that, or not understanding your meaning - 2nd language etc.). My experience with Titanium is that you code in js or Alloy, then when building and deploying, you get native code, with native elements and everything. Comparing it to PhoneGap, which purely runs in a slowish WebView isn't quite fair I think. Or has your exper…

I think you're right to make this distinction. Titanium doesn't belong in the 'wrappers' family and would be better grouped with other 'cross-platform native' solutions like Xamarin [1], perhaps a 4th category in parent's list. [1] http://xamarin.com/

[deleted]

Re: Poll: HTML 5 or Native mobile development ?

#72
Bit of both. We did an HTML5 app with Cordova/Phonegap as the wrapper and worked very well - it is fast but took quite a lot of optimization. Only problem is some things are not supported in mobile browsers (eg position fixed) so menu behavior could be quirky, so we've rewritten to use html5 content with native menus/nav bar/slider and this works the best.

Re: Poll: HTML 5 or Native mobile development ?

#73
HTML5. My (Meteor & D3-based) application is primarily aimed desktop browsers, and it already very nearly works out of the box on mobile -- there are a few D3 touch events that need to be revisited, and a new layout that is friendlier for smaller screens; otherwise we're done. We don't need to access low-level hardware, and the idea of doing Native re-implementations of Meteor's bidirectional data bindings or D3's force-directed graphs is, frankly, ridiculous. So we're going HTML5 all the way.

Re: Poll: HTML 5 or Native mobile development ?

#74
post #13

I've created native iOS apps, native Android apps, HTML5 apps and I've used wrappers (Titanium Mobile and PhoneGap) over the last few years and these are my findings: - Native apps take a lot of time to build, especially when you are a web-developer without in-depth knowledge of the extensive frameworks available to the native platforms. - Wrappers work, but are not nearly as great and snappy as native apps; They mig…

you can't access things like the camera with HTML5 only Just a small point of clarification, you can access the camera on Android using the Camera API. You can access accelerometers / gyroscopes and location in both Android and iOS.

A file upload form field also accesses the camera in iOS and Android.

Re: Poll: HTML 5 or Native mobile development ?

#75
post #68

Not having much experience with developing native mobile apps, I can only say what a pain it is to develop non trivial HTML5 apps that need to support a wide array of browsers. Your initial euphoria of 'oh wow I could make this thing for [insert browser of you choice] in less than [x amount of time]' is quickly mitigated when you try it on other browsers. Different browsers _will_ vary greatly in performance for diff…

> Not having much experience with developing native mobile apps, I can only say what a pain it is to develop non trivial HTML5 apps that need to support a wide array of browsers

Multiply that pain with 10x and now you know what it's like to develop native apps. (Disclaimer: Grass is always greener etc)

Re: Poll: HTML 5 or Native mobile development ?

#77
post #26

How about kivy ( http://kivy.org/#home ) for something of a middle ground? It's a python graphical framework making heavy use of opengl via an optimised cython interface. It has fairly powerful access to the android api through pyjnius (which gives direct access to java classes) or pyobjus on ios (which is less mature but has the same idea). On the plus side, since it's native to the device (albeit with a different i…

The biggest downside I found with kivy is the amount of time it takes to launch the app as it has to set up the python environment et al. If that's improved with newer versions of kivy I might go back to see what it can do.

That's still a problem unfortunately, though less so than it used to be so your perception might depend on when you last used it.

If you're interested, you could try perhaps FlatJewels from the play store. It's a simple game with a fairly quick loading time (except the first run, which is always slower). I don't know if the author put effort into specifically optimising its start time, but it's probably fairly representative of what's currently normal.

Re: Poll: HTML 5 or Native mobile development ?

#78
HTML5 (hybrid). Especially in today's world it's unacceptable (for most projects) to take 5x time to whip up a simple view.

However, native/hybrid/html5 all have their place int he ecosystem. A "best" can only be determined if in a given context (i.e. specs).

Re: Poll: HTML 5 or Native mobile development ?

#79
post #73

HTML5. My (Meteor & D3-based) application is primarily aimed desktop browsers, and it already very nearly works out of the box on mobile -- there are a few D3 touch events that need to be revisited, and a new layout that is friendlier for smaller screens; otherwise we're done. We don't need to access low-level hardware, and the idea of doing Native re-implementations of Meteor's bidirectional data bindings or D3's fo…

Looks like a cool project! Is Elon Musk involved? :) http://www.podaris.com/

Re: Poll: HTML 5 or Native mobile development ?

#80

Earlier quoted context omitted.

I'm curious in how you put Titanium next to PhoneGap (Disclaimer: I may be reading too much into that, or not understanding your meaning - 2nd language etc.). My experience with Titanium is that you code in js or Alloy, then when building and deploying, you get native code, with native elements and everything. Comparing it to PhoneGap, which purely runs in a slowish WebView isn't quite fair I think. Or has your exper…

I think you're right to make this distinction. Titanium doesn't belong in the 'wrappers' family and would be better grouped with other 'cross-platform native' solutions like Xamarin [1], perhaps a 4th category in parent's list. [1] http://xamarin.com/

Titanium is still not quite the same as Xamarin. Xamarin cross-compiles to fully native code from my understanding. Titanium, on the other hand, has JavaScript-to-native bindings i.e. a TiView is a JavaScript object which proxies UIView on iOS.

All business logic is still running in JavaScript. In fact, Titanium spins up a V8 engine just to run your app. This may be fine for the most simple apps, but if you need to kick off a long running operation to a background thread, for example, you're in for some gymnastics.

I'd rather have Grand Central Dispatch, CoreGraphics, CoreAnimation, etc. all at my disposal. Using Titanium felt very restrictive. Their API is a one-size-fits-all between iOS/Android/etc. As soon as you want to step out of that least common denomination, you've got to write native modules. Which, if the people on your team don't know native development, can be a problem.

Post reply on HN