Интернет вещей: на чем писать IoT разработчику?
Интернет вещей – популярное веяние. Хотите приложить руку к IoT? Вот перечень языков, один из которых вам точно нужно знать.
С 2015 года Eclipse Foundation проводит опрос IoT-разработчиков, по всему миру, чтобы понять тенденции в этой области. В последнем опросе в марте 2019 года приняло участие 502 человека. Итак, разработчики используют целый ряд основных языков программирования.
Среди популярных:
- Java
- C
- JavaScript
- Python
- C++
Для контроллеров и прочего железа с низкой вычислительной мощностью и с малым ОЗУ, C является предпочтительным языком программирования, а для шлюзов и облачных платформ Java – лучший выбор.
Статистика в сфере IoT показывает, что язык Java – абсолютный лидер с 66% популярности. Следом идут С, JavaScript, Python, C++.
Самые популярные ЯП рейтинга
Давайте проанализируем, что делает Java, С, JavaScript, Python и C++ лучшими языками программирования IoT. Чем они так подкупают разработчиков?
Java
Java широко используется в мире программирования. Виртуальная машина Java (JVM) позволяет писать код, поддерживаемый любым чипом.
Программа может работать там, где распространена JVM: от смартфонов до серверов, что делает язык Java идеальным для программного обеспечения IoT.
Главные плюсы языка:
- объектно-ориентированный ЯП;
- имеет встроенные возможности, полезные в IoT;
- Java портативна и не имеет аппаратных ограничений.
C
На уровне устройства объем вычислительной мощности, как правило, довольно ограничен. Здесь лучше всего работает именно Cи язык. Он идеален для написания низкоуровневого кода, ведь не требует большой вычислительной мощности и может работать непосредственно в ОЗУ.
Еще C можно использовать для написания программного кода микроконтроллеров, что делает его незаменимым для приложений аппаратного уровня датчиков и шлюзов. Поскольку C – язык низкого уровня, его синтаксис может быстро стать загроможденным и беспорядочным, если разработчики не сильны в best practices.
JavaScript
Для любителей всего "околоJS-ного" есть хорошие новости: Pi, Arduino или кастомные Bluetooth и Wifi платы, вполне себе подключаются через Node.js.
Чтобы помочь вам создать свой собственный злой Робомозг или умную микроволновку, есть несколько полезных библиотек для вашего следующего проекта.
- Johnny-Five – самая популярная платформа для Javascript robotics и IoT под Arduino, Raspberry Pi, Intel Edison Tessel 2.
- Cylon.js – фреймворк с поддержкой более 43 платформ, заточенных под интернет вещей, робототехнику и физические вычисления. Хотите построить робота или дрона? Cylon – ваш выбор.
- IoTjs – Javascript-фреймворк от Samsung для интернета вещей, требующий для работы всего несколько килобайт оперативной памяти. Удобно, не правда ли? ;)
Python
Python начал свой путь как язык сценариев высокого уровня. Он включает уйму полезных библиотек, и на нем можно сделать больше работы с применением меньшего количества строк кода. Данный ЯП идеально подходит для аналитической части работы с информацией в системах IoT.
Несомненные плюсы языка Python:
- исходный код компактен и понятен, поскольку используется аккуратный синтаксис;
- ЯП прост в освоении, широко используется, а поддержку можно найти в любом "утюге";
- отличный выбор для построения, управления и организации сложных потоков данных без необходимости поддерживать массивные проекты.
Python очень популярен в простых модульных проектах и стартапах, где вычислительный спрос колеблется от минимального до среднего.
C++
Когда мы говорим об одноплатных ПК (например, Raspberry Pi), то знание C++ пригодится в сотворении юзабельной обертки для получения и последующей обработки данных с подключенных устройств и передачи всего этого на сервер. Данную задачу можно выполнить и на другом ЯП или на устройстве конечного доступа, но проще и быстрее все равно не выйдет.
Говоря об IoT, вы должны уметь настроить отдельные компоненты с нуля: доступ к памяти, проверка целостности пакетов, внутренний арбитраж и подобные несложные операции. Язык Cpp включает гору готовых библиотек, способных помочь в решении разных задач.
Интернет вещей и его языковое будущее
Сегодня существует накожный девайс, отслеживающий уровень сахара в крови и передающий информацию через мобильное приложение врачу. Уже очень скоро умное устройство сможет путешествовать по артериям, чтобы удалять холестерин.
По мере увеличения широты применения IoT будет генерироваться все больше данных в процессе работы, и мы лучше поймем, какие языки программирования идеально подходят для конкретного сценария. До тех пор разработка остается по большей части многоязычной.