2016 in web technology

Official Construct Team Post
Ashley's avatar
  • 31 Dec, 2016
  • 1,104 words
  • ~4-7 mins
  • 1,532 visits
  • 0 favourites

I wrote summaries at the end of 2015 and 2014, and I feel vaguely obliged to keep it up. So - 2016 was a tumultuous year for many, but luckily I'm only covering web technology! I'm also taking the perspective of Scirra and HTML5 gaming, so I'm probably still missing a lot from the wider web platform.

When's Construct 3 out?

Sorry! We still have no news to announce just yet. However Construct 3 development is going very well and we can't wait to share what we're building! Sign up at Construct3.com to be first to hear any news.

Interally our priority for most of 2016 has been Construct 3 development, which has slowed Construct 2 development somewhat. We've still been doing lots of work on C2 though as the release history shows.

Browsers &amp the web platform

These days Chrome still tends to lead the way with new web platform features. Google released Chrome 48 through 55 in 2016, covering tons of features, but some highlights for Construct 2 include:

  • Lots of Javascript performance and memory optimisations - see the V8 project blog for lots of low-level details
  • Canvas recording, so you can directly record videos of your games in the browser
  • Pointer Events for touch input which C2 uses if available, moving closer to one input API for all platforms
  • WebGL 2 is implemented and should soon be released, which is nice to have
  • Service Workers improved just enough for us to finally implement new offline support using them, which had proven very difficult
  • Chromium (the open-source base of Chrome) now ships with Raspberry Pi which is pretty cool! It's not particularly fast, but it means you can run C2 content on it.
  • Chrome now also fully supports the Opus audio codec, which is the most promising candidate for "one audio format that plays everywhere" which we very much want

Firefox is close behind, also getting lots of optimisations, canvas recording, WebGL 2, Service Worker support, speech synthesis support, and more. Firefox and Chrome are also working on canvas rendering from a web worker which opens up some interesting options for future runtime updates.

This was also a good year for iOS publishing, since Cordova finally got WKWebView support. This is a modern web view control with the full performance capability of Safari, which helps iOS games run a lot faster. This too was pretty tricky.

We've also been very pleased to be able to run Construct 2 games on Xbox One - but we still have some work to do to make publishing easier. Hopefully that will happen in 2017.

2016 has also seen all major browsers implement the vast majority of ES2015 (aka ES6 - the latest Javascript language version, technically called "ECMAScript"). This site shows the overall implementation status. I've been following this closely and the new features are totally transformative. It's nearly a whole new language with the new features! The majority of typical Javascript code can be improved with it, making code clearer and more intuitive, and sometimes faster. However Javascript engines don't optimise all of the new features very well, although it's being worked on. The Construct 2 runtime is mostly still using old ES5 code for historical and backwards compatibility reasons (not to mention rewriting tens of thousands of lines of code is pretty hard and time consuming). The prospect of using the new language features is intriguing, but will probably have to wait for a while.

Browsers have also started to clamp down and remove some features from insecure HTTP, and dropping support for old OSs. We warned about this back in 2015, so it would be worth revisiting our warning at the time about upcoming changes. Much of it has happened now, and the rest will follow soon. In short - make sure any web-hosted games are hosted securely on HTTPS!

WebAssembly has been another interesting development through 2016. It's still very early days and experimental, but it looks like a promising way to compile low-level languages like C++ to the web with only a small performance loss. We don't have any immediate plans to make use of this in Construct, but it's an interesting option to have around.

Construct 2 releases

We made 22 releases through 2016, starting with r220 in January. Improvements included improved NW.js support, canvas video recording, Xbox One support (beta), the new WKWebView support on iOS, audio scheduling, the new System 'Sort Z order' action, improved compatibility with high-DPI displays, User Media improvements, and new offline support using Service Workers. There were also, as ever, absolutely tons of bug fixes, changes, compatibility tweaks and so on. As always see the release notes for the full details if you want to catch up!

We've now reached over 3.5 million downloads of Construct 2. Pretty cool!

NW.js now updates regularly tracking new Chrome stable versions, and we've been keeping it up to date through the year. Coincidentally we've also updated NW.js 22 times this year.

Scirra news and updates

This was something of a quieter year as we largely got our heads down and worked hard to make Construct 3 awesome. Even so we expanded the team further (although lots of people still seem to think Scirra is just me - it hasn't been for a while now!). I also did another big performance test across lots of devices, with very positive results (things keep getting better!). I also finally outlined our case against native engines which, luckily, I survived (I kind of expected an angry mob to burn everything down after writing that).

The news about Xbox One support was also exciting, but we still have some work to do on that before we're happy taking off the "beta" label.

On to 2017

The web platform is still improving at a fast rate. A lot of what we need for Construct 2 games is by now already in place - like widely-supported fast Javascript, WebGL support, and Web Audio. This is a good sign that the platform is maturing. However improvements like new Javascript features and WebGL 2 are still coming, and the web platform continues to improve in other areas like CSS, WebRTC, Javascript, new APIs, optimisations, and more. I'm very happy that things are progressing healthily and there is still a very exciting future for the web platform. We're still working hard on Construct 3 as well, and I assure you we'll announce news as soon as we're ready. It will be worth the wait!

Anyway, 2017 should be an exciting year and I'm looking forwards to seeing everything that happens throughout. Happy new year!


Get emailed when there are new posts!