Monday, November 30, 2015

JavaScript Beyond the Web in 2015

2015 has been a big year for the Internet of Things. We have seen huge advancements in the size and capability of devices, big players like Microsoft and Samsung are really moving into the space and the IoT community overall is starting to grow ever larger! Over the past two years here at SitePoint, it has become a bit of a tradition for me to look at the year that was for the Internet of Things and JavaScript (see JavaScript Beyond the Web and JavaScript Beyond the Web in 2014). Whilst the initial hype and excitement of having JavaScript as a language of the Internet of Things (IoT) seemed to calm down a bit over 2015, JavaScript still continues to pop up as a rather strong option for enabling magic within more IoT platforms than people realise.

In this overview, we'll look at some of the big movements in the Internet of Things that will enable new possibilities for JavaScript developers and further JavaScript's potential beyond the web.

Tessel 2

[caption id="attachment_120043" align="aligncenter" width="1024"]The Tessel 2 (Photo credit: Tessel) The Tessel 2 (Photo credit: Tessel)[/caption]

The Tessel is a microcontroller (similar to an Arduino) that ran on JavaScript rather than the typical languages such as C. It was the perfect device to help JavaScript lovers leap into the Internet of Things. Last year it shipped to the world and people made some pretty neat things with it. The Tessel 2 released pre-orders this year and has some very exciting upgrades from the first generation Tessel.

The Tessel was able to run various npm packages, but wasn't able to run Node.js itself, so Tessel often had to build in compatibility specifically for commonly used packages. The Tessel 2 greatly improves on this by running the real Node.js out of the box. This fact alone made me pre-order it instantly. Access to npm modules brings a lot of potential to this microcontroller.

It also has two USB ports, providing access to USB devices (e.g. webcams) as well as ready made Tessel modules and the GPIO port (to directly connect all sorts of electronics via jumper wires to pins).

Getting Involved Via JavaScript

  • Pre-order Tessel 2 - Pre-order the Tessel 2 from their website and start planning your creations! The Tessel 2 should arrive in January 2016.
  • Official Tessel Documentation - You can start reading up on Tessel development already (Tessel 1 development should be very similar to Tessel 2).

Open Hybrid

[caption id="attachment_120075" align="aligncenter" width="974"]OpenHybrid in action (Photo credit: OpenHybrid) OpenHybrid in action (Photo credit: OpenHybrid)[/caption]

Augmented reality is a fascinating alternative method of controlling the Internet of Things around us. Rather than putting physical controls on objects, you can view them through an augmented reality interface like a smartphone app and control them in intuitive and limitless ways! Various companies are looking into ways of implementing this but in 2015, MIT Media Labs revealed (and open-sourced) a pretty impressive method called Open Hybrid. JavaScript IoT developers in particular might be very interested by this solution as it allows for application development via web technologies including HTML and JavaScript. Whilst it is still early days for augmented reality, now is the time to start tinkering with its potential alongside the IoT!

Getting Involved Via JavaScript

Samsung's IoT.js and JerryScript

[caption id="attachment_120046" align="aligncenter" width="1000"]The Samsung IoT.js and JerryScript pages The Samsung IoT.js and JerryScript pages[/caption]

Samsung has put plenty of resources towards enabling JavaScript to be the language for the Internet of Things. In 2015, they open sourced JerryScript, a JavaScript engine for the Internet of Things. It allows JavaScript to run on small, resource constrained devices like the microcontrollers commonly used in the IoT. To me, it sounds similar to what Tessel were attempting to put together in the first iteration of the Tessel but on a grander scale which is open to many more small IoT devices.

IoT.js is another endeavour of Samsung to enable JavaScript within the Internet of Things ecosystem. It was open sourced around the same time as JerryScript. IoT.js is a framework for creating an inter-operable platform for devices using JavaScript. It has been described as a lightweight version of Node.js, however I've yet to play around with it myself to get a true feel for how accurate that description is.

Both JerryScript and IoT.js are still in their early stages, so it will be exciting to see how they progress throughout 2016. I'm eagerly hoping for integration with the Samsung SmartThings platform at some point but I haven't heard of any mention of this yet!

Getting Involved Via JavaScript

  • Official JerryScript Page - The official page for JerryScript contains links to downloading the engine and guides on getting started.
  • Official IoT.js Page - The official page for IoT.js also has a download link and guides for getting started.

Continue reading %JavaScript Beyond the Web in 2015%


by Patrick Catanzariti via SitePoint

No comments:

Post a Comment