Pull to refresh

JavaScript выходит за пределы Web в 2015 году

Reading time 8 min
Views 20K
Original author: Patrick Catanzariti
2015 год был значимым годом для Интернета вещей. Мы увидели огромный прогресс в размере и возможностях устройств, большие игроки, такие как Microsoft и Samsung, в буквальном смысле продвигаются в космос и всё IoT сообщество начинает ещё больше разрастаться. В течение двух последних лет здесь, на SitePoint, для меня стало чем-то в роде традиции делать обзор года в ракурсах IoT и JavaScript (см. JavaScript выходит за пределы Web и JavaScript выходит за пределы Web в 2014). Хотя изначальная популярность и ажиотаж вокруг JavaScript, как языка для IoT, похоже немного поутихли за 2015 год, JavaScript всё ещё продолжает позиционироваться как довольно-таки сильный способ для задействования магии на большем числе IoT платформ, чем это себе представляют люди.

В этом обзоре мы рассмотрим некоторые значимые продвижения в IoT, которые раскрывают новые возможности для JavaScript разработчиков и будущий потенциал JavaScript за пределами Web.

Tessel 2



Tessel 2 (фото предоставлено Tessel)

Tessel — это микроконтроллер (похожий на Arduino), который выполняет JavaScript, а не типичные языки, такие как С. Он был превосходным устройством, для того чтобы помочь любителям JavaScript погрузится в мир Интернета вещей. В прошлом году он вышел в мир и люди сотворили на его основе чудесные вещи. Tessel 2 выпускался по предзаказам в 2015 году и у него по сравнению с предыдущим поколением Tessel имеются некоторые замечательные улучшения.

Tessel мог запускать различные npm пакеты, но не мог исполнять сам Node.js, поэтому на Tessel часто приходилось специально встраивать совместимость для часто используемых пакетов. Tessel 2 значительно преуспел в этом плане — прямо из коробки на нём запускается настоящий Node.js. Только лишь по этой причине я оформил на него предзаказ. Доступ к npm модулям даёт этому микроконтроллеру много потенциала.

У него также есть USB порты, благодаря которым можно получить доступ к USB устройствам (например, web-камерам), вместе с готовыми Tessel модулями и GPIO портом (для подключения к пинам разного вида электроники через джамперные провода).

Применить JavaScript навыки


  • предзаказ Tessel 2 — закажите предварительно Tessel 2 на их веб сайте и начинайте планировать свои разработки! Tessel 2 должен появиться в январе 2016 года.
  • Официальная документация Tessel — можете уже начинать читать о разработках на Tessel (разработка на Tessel 1 должна быть весьма схожа с разработкой на Tessel 2).

Open Hybrid



Open Hybrid в действии (фото предоставлено Open Hybrid)

Дополненная реальность — захватывающий альтернативный способ для контроля Интернета вещей вокруг нас. Вместо того, чтобы подвергать физическому контролю объекты, вы можете выводить их через интерфейс дополненной реальности, такой как приложение смартфона, и контролировать их интуитивно понятными и неограниченными способами! Много компаний искали пути реализации подобного, но в 2015 году MIT Media Labs открыло общественности (и сделало open-source) довольно-таки впечатляющий метод, который называется Open Hybrid. JavaScript IoT разработчики могут особо заинтересоваться этим решением, поскольку оно позволяет разрабатывать приложения посредством web-технологий, включая HTML и JavaScript. И хотя дополненная реальность ещё переживает ранние дни, сегодня самое время начать мастерить для IoT, используя её потенциал.

Применить JavaScript навыки


  • Официальная страница OpenHybrid — здесь имеется всё, что может вам потребоваться чтобы скачать платформу и приступить к работе
  • Речь OpenHybrid на O'Reilly Solid — превосходная речь на O’Reilly Solid, полностью посвящённая этой концепции и демонстрирующая её потенциал

IoT.js и JerryScript от Samsung



Страницы IoT.js и JerryScript

У Samsung есть множество ресурсов, способствующих становлению JavaScript, как языка для Интернета вещей. В 2015 они открыли исходный код Jerry Script — движка JavaScript для Интернета вещей. Он позволяет запускать JavaScript на маленьких, ограниченных в ресурсах устройствах, таких как микроконтроллеры, повсеместно используемые в IoT. Как по мне, это похоже на то, что пытались скомпоновать Tessel в первой версии своих устройств, но в больших, открытых для гораздо большего числа маленьких IoT устройств, масштабах.

IoT.js — ещё одно усилие Samsung по внедрению JavaScript в экосистему Интернета вещей. Исходный код оного был открыт приблизительно в то же время, когда и у JerryScript. IoT.js — это фреймворк для создания взаимодействующей платформы для устройств, использующих JavaScript. Он описывается как легковесная версия Node.js, тем не менее, я уже испытал его собственноручно, дабы убедиться насколько точно это описание.

И JerryScript и IoT.js находятся на ранних стадиях своего развития, поэтому понаблюдать за их развитием в течение 2016 года будет весьма увлекательно. Я очень надеюсь, что на определённом этапе произойдёт интеграция с платформой Samsung SmartThings, но покамест не слышал об этом никаких упоминаний.

Применить JavaScript навыки



Spark становится Particle



Particle Electron (фото предоставлено Particle)

В 2015 году Spark перевоплотился в Particle. Spark выпускал микроконтроллеры с поддержкой Wi-Fi наряду с предоставлением собственного облачного сервиса, что позволяло усовершенствовать разработку устройств для IoT. Что же касается самого JavaScript, то у них был JavaScript SDK и множество других совместимых JavaScript плагинов сторонней разработки. После того, как они сменили имя в 2015 году, количество устройств, выпускаемых Particle, возросло.

Они начали поставлять на рынок более быстрый и надёжный микроконтроллер, который называется Photon, и отправили на Kickstarter микроконтроллер, названный Electron, со встроенной поддержкой 2G/3G (нет нужды в Wi-Fi соединении, дабы устройство было онлайн)! Electron сейчас доступен для предзаказа, ожидаемое время начала поставок — январь 2016.

В конечном счёте, эти разработки в своём охвате устройств продолжают поддерживать JavaScript API, поэтому у разработчиков JavaScript есть целый спектр новых возможностей в этом и последующем году! Сообщество разработчиков вокруг Particle также впечатляюще велико.

Применить JavaScript навыки



Microsoft Windows 10 IoT Core



Starter Pack для Windows 10 IoT Core с Raspberry Pi (фото предоставлено Microsoft и Adafruit)

Microsoft выпустило в 2015 году Windows 10, предоставляя одну универсальную платформу для множества устройств, включая IoT. Они позаботились о разработчиках JavaScript и предоставили доступ к Node.js внутри своей экосистемы Windows 10 IoT посредством JS движка Chakra. На данный момент, главное из наблюдаемых мною устройств, используемых с Windows IoT — это Raspberry Pi 2. Также поддерживаются MinnowBoard Max и MinnowBoard Max. С течением времени мы скорее всего увидим поддержку большего числа устройств, т. к. экосистема растёт. Одно важное отличие, котрое следует принять во внимание касательно Windows 10 IoT Core это то, что это не Windows 10 с полным набором возможностей. Это ОС для IoT, в которой оставлены лишь критически важные компоненты.

Применить JavaScript навыки



Evothings



Evothings Studio запущенная на Mac OSX и мобильном устройстве

Evothings — набор инструментов по разработке для мобильных IoT веб-приложений, который значительно возрос и расширил свои возможности в 2015 году! Я наткнулся на них во втором полугодии и был сильно впечатлён тем, что они предлагают. Они соединили приложение, называемое Evothings Studio, которое позволяет вам разрабатывать мобильные HTML5 и JavaScript приложения, с возможностями живой перезагрузки и отладки. Это было особенно кстати, когда я исследовал маяки Estimote Bluetooth, поскольку мобильные симуляторы не были способны симулировать соединение Bluetooth с маяками. Запуск Evothings на моём мобильном устройстве и тестирование с помощью этого ПО сделали этот процесс невероятно простым.

Для JavaScript разработчики эта платформа также будет захватывающей, поскольку у команды Evothings есть пакет обучающих материалов, где показывается как вдохнуть жизнь в достаточно большое количество IoT устройств с помощью JavaScript.

(В качестве отступления, теперь я работаю с командой Evothings над несколькими потенциальными проектами, так я был изумлён результатами их работы!)

Применить JavaScript навыки



IFTTT Maker Channel



IFTTT Maker Channel

В 2015 году IFTTT выпустило канал, предоставляющий функциональность, о которой мечтало IoT сообщество — возможность выполнять и принимать произвольный HTTP запрос внутри IFTTT. Это открыло сервис, суть которого в том, что абсолютно любой пользовательский прототип, который либо делает либо принимает запросы, может работать с IFTTT и его многочисленными службами!

Это замечательно работает для Node.js разработчиков, поскольку HTTP запросы с лёгкостью могут быть отправлены/приняты в Node.js Практически любой IoT прототип, который вы соединяете с Node.js, может быть направлен в IFTTT!

Применить JavaScript навыки




Johnny-Five реконструирован!



новый веб-сайт Johnny-Five

Johnny-Five — это фреймворк для программирования на JavaScript, наиболее часто используемый для разработки под Arduino NodeBot. Сайт прошёл полную ревизию и обзавёлся целым рядом новой документации. У них значительно возрос список поддерживаемых устройств, а также у них есть ссылки для оказания помощи разработчикам при начале работы с Johnny-Five и теми платформами.

Применить JavaScript навыки




Raspberry Pi Zero



Raspberry Pi Zero (фото предоставлено Raspberry Pi Foundation)

Наконец, совсем недавняя разработка, которая предоставляет восхитительные возможности для JavaScript разработчиков (а также для разработчиков на множестве других языков!) — Raspberry Pi Zero. Размером в половину модели A+ Pi, но всё ещё может работать с невероятной скоростью и вычислительной мощностью. Поскольку устройства Raspberry Pi чаще всего работают на Linux, то запуск Node сервера на их базе не составит особого труда. Raspberry Pi Zero по сути ещё меньшее в размере устройство с поддержкой JavaScript, которое, я уверен, станет основой для некоторых вполне впечатляющих инженерных творений в ближайшие месяцы.

Применить JavaScript навыки


  • страница продукта Raspberry Pi Zero — официальная страница продукта Raspberry Pi Zero, где вы можете найти спецификации и ссылки на покупку!
  • стримминг камеры Raspberry Pi в VR с помощью JavaScript — руководство, которое я добавил, о том как превратить Raspberry Pi и его камеру в потоковую VR камеру для устройств Google Cardboard. У меня пока что ещё нет Raspberry Pi Zero, но судя по тому, что я уже видел, это демо, скорее всего запустится на новом, меньшем в размере устройстве!
  • книга о робототехнике на JavaScript — книга о робототехнике на JavaScript от Johnny-Five, упоминаемая ранее, содержит несколько Raspberry Pi демок

Заключение


В 2015 году среди IoT устройств произошло невероятное количество усовершенствований для JavaScript разработчиков: как напрямую, в устройствах, по-настоящему сфокусированных на JavaScript, таких как Tessel, так и косвенно в Raspberry Pi Zero. У JavaScript разработчиков, шагнувших в 2016 год, есть множество возможностей. Если вы JavaScript разработчик и ещё не начали размышлять над тем, как перенести свои навыки в экосистему Интернета вещей, то обратите внимание на вышеупомянутые технологии и на мои предыдущие статьи из цикла — 2013 и 2014. JavaScript разработчикам даётся гораздо больше дарований, чем они осознают!
Tags:
Hubs:
+10
Comments 40
Comments Comments 40

Articles