

HTML5 is for the web, not for mobile apps - fidanov
http://www.terlici.com/2013/01/02/html5-is-for-the-web.html

======
lucaspiller
My comments from the article:

> I’ve developed apps both native and not native for all platforms, and html5
> apps don’t deliver faster results. Developing in javascript is not faster,
> in fact making a complex app takes about the same time or even more.

This is really a matter of opinion. Obviously if you approach an Objective-C
developer and ask them to build you a HTML5 app it will probably take more
time, but for someone such as myself who doesn't know and doesn't want to
learn Objective-C it will be faster to use HTML5 and Javascript.

> Learning native technologies takes time, but that is a time well invested in
> something that you will use over and over again to deliver results.

Again, this is really just an opinion rather than fact. If you want to learn
and write your app in Java, Objective-C, C# and whatever the Ubuntu phone will
use then go ahead. However, I quite happy to write my apps once in HTML5,
knowing that there will be some issues, but that I can get it done a lot
faster than writing once for each platform.

> HTML5 does not look and behave like native app, never

This really isn't an argument any more. I agree that to make stuff look like
native components (and as pointed out by other commenters to behave) is harder
in HTML5, however take a look at apps such as Path or Foursquare. They don't
look like native apps at all either. Making things look native isn't
necessarily something you should be striving for.

~~~
rimantas

      > I quite happy to write my apps once in HTML5, knowing that 
      > there will be some issues, but that I can get it done a
      > lot faster than writing once for each platform.
    

The point still stands it really pays of to learn native framework: the sole
purpose for it's creation was to be used in web apps. HTML was created to
markup the structure of large texts…

Source: I am long-time web developer before turning to full-time iOS
programmer.

~~~
corresation
_HTML was created to markup the structure of large texts…_

Of all of the potential arguments against HTML _n_ , this is by far the
weakest. What HTML was created for is utterly irrelevant in 2013.

------
ge0rg
The author conveniently left away the most important benefit of HTML5 apps: at
least in theory, you only need to write the app once to support multiple
platforms.

With native, you have to re-implement your whole logic (and redo significant
parts of the design) for every smartphone platform you want to support, which
is a major cost point.

Of course, you will not get perfect UX on all platforms with an HTML5 app
without major tweaking, but still the total amount of work is reduced.

~~~
rimantas

      > at least in theory, you only need to write the app once
      > to support multiple platforms.
    

Yep, in theory. And the further away from web page your app is the more
tweaking you will need.

    
    
      > With native, you have to re-implement your whole logic
    

And with HTML you have to reimplement all the components wich framework
provides — highly specialized and optimized for performance.

------
GBKS
This has been discussed to death, but I'd like to add an approach that I
haven't seen brought up before.

An HTML5 app/site can be a great MVP. You can build and iterate quickly and
even launch it first as a mobile web site. Once you're happy with everything,
you can use PhoneGap to turn it into apps. And later you can always build
platform-specific native apps. It won't be the perfect experience at all
stages, but it can be a more appropriate process for smaller teams. Plus, you
can reach a large audience very quickly.

~~~
barking
And there was an article yesterday about samsung developing their own
platform, a new one from blackberry and one from the makers of ubuntu. If they
take off who could afford native versions for all those in addition to
android, iOS and windows phone?

~~~
lucid00
A funny thing about that notion.

Blackberry OS, Ubuntu and Samsung Tizen all treat web apps as first class
citizens providing JavaScript APIs to access native functions.

(Chrome OS, WebOS, Firefox OS, and Windows 8 also do this and I think Windows
Phone 8 does too)

------
michael_miller
The problem with mobile HTML5 is that the frameworks aren't nearly as
sophisticated as their native counterparts. There's nothing that even touches
UIKit on the web. Things as simple as drawing a UINavigationBar-style gradient
prove to be unbelievably challenging. On a technical level, it's completely
doable, but it requires a lot of time, effort, and designer time. Multiply
this out by all the little niceties like animations and embossing all of the
buttons and you've got a big job ahead of you.

All the technologies are in place to have a native-quality HTML5 app -- we
have canvas to draw pixels however you want. We have WebGL to do any 3D
rendering. We have blazing fast JS engines. We have hooks for things like
location and camera roll access. The problem is that it's really hard to
justify the investment of building out a UIKit-quality framework for the web.
Apple and Google can spend hundreds of millions of dollars on their frameworks
because it means they'll sell more devices/services. But it's really hard for
someone to justify doing so for the web, where there's no ROI for your
platform.

------
Nemmie
I always thought of all this native fad to be temporary. Can't we expect with
browsers to mature and device performance to improve, to have a platform
that's more than good enough to build mobile apps in the future? Anyways, I'm
hoping that the crowd regains some common sense and starts advocating the web
over these damn fenced gardens.

------
jpswade
No benefits to making an app in HTML5? This is a joke.

The biggest one for me is choice for the consumer.

They can use any device so long as it's browser conforms to HTML5 standards.

~~~
purplelobster
Yes, if you have 100 developers then by all means create native versions for
every device, but as a single developer there is no other way for me to
provide my app on PCs, phones and tablets other than HTML5. If you're making a
one-off game it might not matter for the user that they can't play it on their
other devices, but when you provide a service that needs to be available on
the go and accessible anywhere, you really don't want to alienate your
customers with "only available on iPhone".

------
dgerges
I think the only worthwhile argument is the native look and feel which is
extremely hard to emulate using HTML5 (although not unfeasible, see
<http://pattern.dk/sun> or sencha's fb client)

But on the other side it is also very costly to build multiple versions of an
app on different native technologies and there HTML5 has an obvious advantage.

Speed is not much of an issue for most of the apps, hardware accelerated CSS
can give extremely interesting results (again see <http://pattern.dk/sun> or
FB client)

But overall I agree that doing well with HTML5 requires a good level of
expertise.

~~~
camus
depends on the product , lob's apps are fine , html games ( aside from text
games ) on mobile require more than a good level of expertise to run smoothly
on most of the handsets.

~~~
dgerges
you're right, I should have said a _significant_ or fairly high level of
expertise.

------
Spoom
I'm building an HTML 5 app as a side project right now, and I intend to target
mobile with it, in addition to browsers. I'm a professional web developer, so
it makes sense for me.

There are a few wrappers that will translate HTML 5 calls to native calls when
run on a mobile phone. The one I'm working with, CocoonJS, actually provides
pretty good performance. Granted, you need to be building your app as an HTML
5 canvas, but if you're doing a game, you're likely to be using one anyway.

As far as missing capabilities go, CocoonJS is getting pretty all-
encompassing. For example, I can access the camera of the phone. I can do in-
app purchases, and use native ad platforms. I can access the accelerometer and
detect orientation changes.

Perhaps missing the "real" UI of the phone does make it feel a little foreign,
but in my case, I'm not particularly worried. Most games I've played on my
Android phone don't use them either, even when they're fully native.

I would say if you have the resources, or you need to use every drop of
performance you can get, go native. In my case, that's not necessary and saves
me from having three codebases.

Use the right tool for the job. That tool will change based on your audience
and needs.

------
geuis
This isn't even an argument in my opinion. HTML 5 is just fine for most common
apps. I've published a couple over the years with Phonegap and was able to get
completely native performance from them. Where you have to go native is for
super high OpenGL performance things and access to hardware features not yet
available in the browser. The problem is that most web developers making
mobile web apps don't put in the time and care to really make their projects
shine.

~~~
jchrisa
I agree. For something where your competition is a million other startups
trying to do photo sharing, you need to go native to compete in the user
experience. But if you are doing specialized mobile apps for a delivery
company or something, html5 may be more pragmatic.

------
Sami_Lehtinen
I love using HTML5 instead of using apps which require installation etc. I
really hate installing app for every darn site.

Oh well, where's Hacker News App? It would be great idea to do it for every
imaginable mobile platform. What are you guys waiting for?

~~~
rimantas

      > Oh well, where's Hacker News App? It would be great idea
      > to do it for every imaginable mobile platform. What are
      > you guys waiting for?
    

Did you check before writing that? There are 20 apps in AppStore for HN. I had
an idea to write one myself, because I was not happy with the offering at the
time. Funny, but I ended up using <http://hackerwebapp.com> —but it only
confirms the point, because HN is a website.

------
jaynate
[http://www.jaynathan.org/2013/01/html5-is-for-the-web-and-
th...](http://www.jaynathan.org/2013/01/html5-is-for-the-web-and-the-mobile-
web/)

------
corresation
This is a horrendously presented argument with close to no interesting
content. Aside from being voted up by people with an HTML-axe-to-grind, what's
the point of this?

One particular point that gives me a laugh -

 _No matter how much you optimize your app, it will always be slower than a
native one, and the users will feel the difference._

This is a broad claim that is unsupported. Both native and web apps are layers
of abstraction over OS rudiments. There is _nothing_ stopping both from
offering identical performance, however HTML usually falters simply because
people layer on abstraction over abstraction, where they take the simplest
approach with the native app.

------
kayoone
i havent seen anyone mentioning things like <http://xamarin.com/>

Write your business logic in C# and just build the View for every platform
with native components. Sounds like the ideal tradeoff for me!

