Welcome!

Web 2.0 Authors: Carmen Gonzalez, Dana Gardner, Mike Hicks, Brian Vandegrift, Peter Silva

Related Topics: IoT Expo, Java, Wireless, iPhone, Cloud Expo, Big Data Journal, WebRTC

IoT Expo: Blog Feed Post

@ThingsExpo | #WebRTC, Internet of Things and #API Gateways (#IoT)

The Web is changing quite drastically with the evolution of JavaScript, HTML 5 and WebRTC

Defining Web 3.0 and Developing the Fastest Enterprise Mobility Apps

I value a strong opinion.  Especially when the opinionated is an expert and willing to stand up and place a flag in the sand.  In this article, my ambitious friend, programming guru, gamer, colleague, bona fide geek and mobility expert Peter Rogers shares his opinions on the meaning of Web 3.0 and how it will impact mobile application development and the enterprise.  While he is English and prone to use words like whilst, that should not be held against him.

I have two ambitions in life: to be the first person to define Web 3.0 in a meaningful way; and to be able to reform Atomic Kitten to sing at my next birthday. Only one of these is achievable so here goes.

The Web is changing quite drastically and there are ten key factors that define the next "Web" hereafter as Web 3.0:

  1. The dropping of legacy browsers like Internet Explorer 6, 7 and 8; and the subsequent focus around HTML 5 and ECMAScript 5.1 capable browsers
  2. The realisation in the marketplace that JQuery does not produce maintainable code, and that there is a shift to second generational MV* frameworks like Angular, Backbone, Ember and Meteor; combined with the definition of the job role of JavaScript Architect as opposed to a Web Developer
  3. The evolution of JavaScript and HTML 5 to support a genuine component based framework (Web Components) with the necessary tools to deliver something close to a native experience including genuine realtime networking (UDP using WebRTC)
  4. The growth in Cloud PaaS Node hosting to offer end-to-end JavaScript solutions through the MEAN (MongoDB, Express, Angular, Node) stack
  5. The second generational move away from pure RWD as a golden bullet solution
  6. The increase in the performance offered by next generation web browsers powered by WebKit2 and Blink that can take advantage of multi-CPU/GPU chipsets
  7. The shift into 4 tier architectures and API driven solutions with API Gateways and reduced middle tiers, that enable a much higher scalability that was previously considered possible
  8. The emergence of Cloud Transformation, Cloud Build, Cloud Cross-compilation and Mobile Backend as a Service solutions
  9. Beyond Mobile First solutions offering Embedded JavaScript for IoT (Internet of Things)
  10. The increase in power of PhoneGap solutions through better Web View browser based capabilities (Android 4.4 / iOS 8)

The first point is a very distinct abandonment of legacy browsers and a full adoption of ECMAScript 5.1 and HTML5. This is going to upset a lot of people but the truth of the matter is JQuery 2.0 and AngularJS have both taken this approach and support Internet Explorer 9 and above. That is not to say you cannot do a few hacks to get Angular working on Internet Explorer or using the 1.X branch of JQuery, but the wheels have been set in motion. Why have a bloated library that is twice the size due to browsers not supporting the current feature track.

There is also a definite demand for skills in the market in next generational frameworks and I call out Angular and Backbone as leading the way commercially, with Ember and Meteor also highly respected frameworks. This is created by a demand to build a higher quality of Web Applications and the learnings of the last projects of what went wrong when anyone tried to maintain the last attempt. The job specification is no longer “Web Developer” but instead it is “JavaScript Architect”. I interview a lot of people and the majority of web developers with 5 – 10 years of experience still do not know the following seven vital things:

  1. The difference between == and ===
  2. The scoping rules of JavaScript (what happens if you don’t use ‘var’ or if you declare variables in a block scope as opposed to a functional scope)
  3. That an array is not actually an array at all and works much slower than expected
  4. What prototypal inheritance is and why you shouldn’t make code look like Java (pseudo-classical inheritance)
  5. That JSON is actually a subset of JavaScript’s Object Literal Notation and that its built into the language
  6. That the DOM is actually written in C/C++ and the context switch is why it is so slow working with DOM based libraries like JQuery
  7. How a Closure actually works

HTML5 is evolving to offer built in templating support, the ability to watch objects (which will speed up Angular) and Web Components (which offer Angular Directives). The native level support will offer a massive performance boost to frameworks having to fake all these features like Polymer and Angular. It will also encourage people who are not familiar with these next generational frameworks to get in on the action. As I am from a gaming background then I always complain that TCP (Web Sockets) is not genuinely real-time, so I look forward to seeing UDP (WebRTC) solutions being delivered like Desktop Sharing in Chrome 34.

Cloud Mobile Backend as a Service and Platform as a Service are offering small companies the ability to start working with the server side as well as the client side. Whereas finding an Application Service Provider (ASP) that supported Java EE and building a set of Java EE servers was a bit of a hassle, you can easily get a free Heroku account and create Node/Express servers in minutes rather than hours. The combination of MongoDB, Express, Angular and Node (the MEAN stack) will enable complete product solutions to be built at budget prices.

It goes without saying (although I am going to say it) that companies who thought RWD was a golden bullet will be taking a second look at that decision, especially when they find their web developers cannot seriously code JavaScript.

People often forget, when they talk about HTML5 performance, that the current web browsers cannot yet take advantage of multi-CPU/GPU chipsets that have been around for many years. If an Apple device has a quad-core CPU and quad-core GPU but the web browser can only work on a single processor then clearly we are getting a fraction of the performance – and it is not a quarter or a sixteenth as this is exponential! Soon this will change and performance should not be an issue for a time.

A few recent scalability nightmares including the season premier of Game of Thrones Series 4 on Netflix and the original Iron Man Blu-Ray BD Live feature, which both boasted the most simultaneous web hits of their generation. A shift into 4 tier architectures, with high end scalability empowered by asynchronous backend systems, and effective Cloud utilisation will be required to offer new highly desirable services. This will include more API driven approaches using API Gateways and a lighter middle tier moving away from monolithic Java EE heavy middleware solutions.

Whilst we are on the topic of the Cloud, the increase of Cloud Transformation, Cloud Build, Cloud Cross-compilation, Cloud Mobile Backend as a Service and API Gateways will be employed to power a lot of the front end technology. I find Cloud Cross-Compilation and Cloud Build particularly interesting as they enable developers to write in JavaScript and then use technologies like HyperLoop, Intel XDK or CocoonJS to transform this into native code and remotely built the code to include additional libraries which may even include a new browser version.

IoT Mentioner

No blog article on Kevin’s site can go without mentioning Internet of Things, so I have to mention that Beyond Mobile-First in JavaScript terms is talking about Embedded JavaScript and this enables us to use the most popular language in wearable technology as well. Tizen OS is a good front runner of this technology and Firefox OS now powers one of the cheapest phones in India.

Finally the last thing holding back HTML5 was the massive drop in functionality and performance when it was wrapped using a Web View. Luckily Android 4.4 offers us Chrome 30 support and using Cloud Build systems then we can even access the 3D features of Chrome 33. Following suite iOS 8 now enables us to have web applications that can use Nitro (their JIT solution). It will take time for PhoneGap to catch up with some of these new advancements of course, but the future is even looking better for wrapped web.

Now all we need is a way to monetize and distribute pure web applications on a popular operating system with a profitable App Store and we really have a reason to sing the name of “Web 3.0”.


***************************************************************

Kevin Benedict
Writer, Speaker, Senior Analyst
Digital Transformation, EBA, Center for the Future of Work Cognizant
View my profile on LinkedIn
Learn about mobile strategies at MobileEnterpriseStrategies.com
Follow me on Twitter @krbenedict
Join the Linkedin Group Strategic Enterprise Mobility
Join the Google+ Community Mobile Enterprise Strategies
Recommended Strategy Book Code Halos
Recommended iPad App Code Halos for iPads

***Full Disclosure: These are my personal opinions. No company is silly enough to claim them. I am a mobility and digital transformation analyst, consultant and writer. I work with and have worked with many of the companies mentioned in my articles.

More Stories By Kevin Benedict

Kevin Benedict is the Senior Analyst for Digital Transformation at Cognizant, a writer, speaker and SAP Mentor Alumnus. Follow him on Twitter @krbenedict. He is a popular speaker around the world on the topic of digital transformation and enterprise mobility. He maintains a busy schedule researching, writing and speaking at events in North America, Asia and Europe. He has over 25 years of experience working in the enterprise IT solutions industry.