Lengthy but interesting post ... http://techcrunch.com/2014/05/16/the-once-and-future-web-platform/
... written by Michael Bleigh, the CEO/Cofounder of static web hosting platform-as-a-service Divshot.
"The web as a platform is easier to learn and lets developers do more faster than any other platform"
It’s not unusual or unexpected for people to predict (or herald the arrival of) the next big thing and declare the status quo dead. Yet despite the mobile explosion over the past few years, the web is going to remain the dominant software platform for the foreseeable future.
First, let me say that by web I mean HTML content accessed in a browser or lightweight browser-like shell. A broader definition might include the HTTP APIs used by nearly every native mobile application. By that definition, the web has no competition at all.
... web gained ground due to several key advantages:
- No Installation. To access a web application, you simply visit its URL in a web browser. Every user of every operating system can access a web application within seconds of desiring to do so.
- Always Up-to-Date. With no installation comes no update process. Every time you access a web application you get the latest version (with the latest data) for free.
- Cross-Platform. Because the web is built on open standards, anyone can build a web browser. The web promises true write-once-run-anywhere software and (short of some annoying browser quirks) delivers on that promise.
- Network Effects. Web applications link to one another without need for permission. Every link works just like every other link. The concept of “going viral” only exists because URLs are universally shareable.
- Fast Enough. On the desktop, hardware advances yielded faster and faster devices. This led to an inflection point: for most software, most of the time, web applications were fast enough. They were functionally equivalent to their native counterparts.
Designed as a way to deliver documents, the web soon became something much more: an application platform.
Modern browsers are operating systems in their own right. Browser technologies exist to meet or exceed nearly every advantage of native. A few examples:
- Real-Time/Push Messaging. It used to be impossible to send data to a browser after the page loaded without a new request. Today Server-Sent Events andWeb Sockets make it straightforward, and services like GoInstant, Firebase, and PubNub make it trivial.
- Rich Media. Most people are familiar with the HTML5 video tag. Now we also have (or soon will) ways to access webcams and microphones, establish peer-to-peer video communication, and even process voice input straight from the browser.
- Offline Access. Web applications can run offline, store data changes, and synchronize them once networks become available, just like native apps.
- Device Awareness. Modern mobile browsers can access device orientation, accelerometers, GPS geolocation, and network connectivity information.
Most-often cited is Facebook’s abandonment of HTML5 as “proof” that the web isn’t fast enough. There are several problems with this argument:
- Anecdotes are lousy evidence. Even at the time,others claimed that the issue was in execution, not concept.
- It makes sense for Facebook to build native apps even if the improvement is minor. Facebook can afford to hire whole teams of developers to support each platform. Most companies aren’t so lucky.
- It happened almost two years ago. That’s 15 Chrome release cycles ago. Web tech changes, and fast.
If you’re building a graphics-intensive game or video/image manipulation software, by all means build native. For the vast majority of applications, however, multi-platform native is going to be an anchor around your developers’ necks.
The web as a platform is easier to learn and lets developers do more faster than any other platform. That’s why companies from Treehouse to Codecademy to General Assembly focus more coursework on the web than any other platform.
Every platform that has native apps also has a browser. That’s why HTML5 is the #1 job trend on Indeed. That’s why I’ve been able to use a Chromebook as my primary computer for the past year.
The web does have a few tricks it could learn from mobile. We need standards for browser-driven authentication like Google’s login on Android. We need simpler ways to pay for things on the web (requestAutocomplete is a good first step). We need tools to make application-building a first-class concern of HTML (Web Components, led by Google’s Polymer Project are going to change everything).
Web vs Native apps in 2013 and beyond - Oct 22, 2013
App idea to learn new code - Mar 10, 2014
Interesting reads from 10-plus years ago at theobvious.com - Aug 23, 2013
API-first-development design - Jun 23, 2014