Skip to content

Instantly share code, notes, and snippets.

@nathansmith
Created August 17, 2016 15:30
Show Gist options
  • Save nathansmith/887da17d8512f400db988f3a8e0ce03e to your computer and use it in GitHub Desktop.
Save nathansmith/887da17d8512f400db988f3a8e0ce03e to your computer and use it in GitHub Desktop.
This was an email I sent to coworkers, about HTML5 rivaling "native" apps.

Damien, Mundi, Nate:

Here are a few links to bolster our "web as app platform" stance, with {client}.


[1] WEB VS. NATIVE

"HTML5 Can't Do That"
https://speakerdeck.com/nathansmith/html5-cant-do-that

^ This talk was from 2013. Even back then, we (co-speaker and I) saw the writing on the wall.

It's about how web technologies can rival, and will be (actually, are now) supplanting "line of business" native mobile apps.

Essentially, it's the same thing we've seen with desktop and the web, in years past.

Meaning, nobody runs an app to buy something…

C:\Program Files\Amazon\Store.exe

They just go to Amazon's website.

Same thing with mobile apps. Amazon is pushing people more towards their site nowadays.

This is what I see when I run the (preinstalled, can't remove) Amazon app on my Android phone…

https://twitter.com/nathansmith/status/765920276001329152

Many other companies are adopting that same approach, rather than maintaining multiple OS specific apps.


[2] REACT BASICS

"Getting Started with React"
https://speakerdeck.com/nathansmith/getting-started-with-react

^ More recently, this is a talk on React that I gave this year at Squares Conference.

It's not so much making a case for the web. Because, honestly, it's a bit crazy that anyone would need convincing in this day and age. Rather, it goes through some of the core React concepts.

It's less conceptual, more pragmatic.

If anything it will show that there is platform maturity in terms of thinking through things like: composition, state management, UI component lifecycle.


[3] HTML FOR DESKTOP

Another strong case for web technologies for apps is Electron, by GitHub.

It allows HTML5 to be used for desktop apps.

http://electron.atom.io

Microsoft used Electron to build Visual Studio Code. It's available for Mac, Linux, and Windows…

https://code.visualstudio.com

^ That should blow their minds, being fans of desktop apps, that they could potentially be writing them using an IDE built in web technologies.

Electron is also used for the Slack desktop app, and GitHub's code editor Atom.


[4] KEYBOARD & ACCESSIBILITY

In terms of keyboard usability and accessibility for web apps, there's literally an entire W3C spec related to that.

It's all been painstakingly thought through, and the browser support has been solid for years.

https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets

https://www.w3.org/WAI/intro/aria

The way I (make the rest of T7) build React components, we're accounting for tabbing through elements, and ensuring they have the proper aria-selected="…" and role="…" types of attributes.


Nathan Smith
Principal Front-End Architect
http://www.tandemseven.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment