Что нужно знать веб-разработчикам об Интернете вещей?

65

Веб-разработка возникла в начале эры Интернета, когда мы начали делать более быстрые и мощные компьютеры, общающиеся друг с другом по телефонным линиям.

Поскольку Интернет стал более изощренным; веб-разработка стала более технической и профессиональной. Теперь мы покидаем эпоху Интернета и переходим в эпоху Интернета вещей (IoT), когда устройства, которые никогда не считались компьютерами, могут взаимодействовать друг с другом, с пользователями и с серверами способами, которые мы только можем представить.

Сегодня нам не обязательно заходить на веб-сайты с экранов компьютеров, чтобы что-то купить. Вместо этого мы просим Алексу купить что-нибудь через нашу активируемую голосом Amazon Echo. Мы не просто ждем, пока вернемся домой, чтобы поменять термостат. Мы подключаем Nest к нашему смартфону и говорим ему включить отопление, когда наш телефон определяет, что мы находимся примерно в 30 минутах от дома.

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

Это означает, что всем веб-разработчикам в какой-то момент придется подумать об IoT. Чтобы быть на шаг впереди, мы собрали все, что нужно знать веб-разработчикам об Интернете вещей.

Веб-разработка и Интернет вещей сейчас

Это дни Дикого Запада развития IoT. Существует много спекуляций и экспериментов с небольшой стандартизацией на данный момент (по крайней мере, пять крупных организаций одновременно работают над стандартами IoT). Так что мы не знаем точно, как все сложится. Но мы можем видеть, что определенные области возникают снова и снова, когда эксперты обсуждают влияние IoT на сегодняшнюю веб-разработку.

Влияние Интернета вещей на веб-разработку сейчас
  • Бэкэнд повсюду: прямо сейчас каждое устройство построено в своем собственном маленьком мире. У каждой компании есть свой способ подключения устройств друг к другу. Каждое устройство собирает свои собственные данные, и каждое устройство использует свои собственные команды для работы. Это означает, что многие разработчики приложений сосредоточены на том, чтобы просто заставить ваше приложение хорошо сочетаться с другими уже установленными приложениями. Node.js помогает в этом, поскольку он стал ведущей средой для установления связи между устройствами IoT. Тем не менее, проблема вряд ли решена.
  • Интерфейсам нужна простота: когда дело доходит до приборов, ни у кого нет времени разбираться в сложных командах, поэтому в панели управления кофеваркой нет места нехватке ясности. Другими словами, пользовательские интерфейсы должны быть простыми в использовании и отзывчивыми. Все инструменты вашего пояса юзабилити будут использоваться при разработке пользовательских интерфейсов для устройств IoT, тем более что большинство компаний хотят, чтобы их продукты управлялись со смартфонов, а также с собственных экранов устройств. Элементы управления должны быть так же очевидны на телефоне, как и на компьютере. Сложность должна проявляться только за кулисами. То, что нужно видеть пользователю, — это чистый, логичный дизайн.
  • Уменьшение задержки в сети: когда вы нажимаете кнопку на принтере, вы ожидаете, что он сразу же начнет печатать. Но с устройствами IoT команда идет с экрана на сервер и на устройство, а не с экрана напрямую на устройство. Этот дополнительный шаг может создать буфер между командой и действием, особенно при медленном сетевом соединении. Пользователи увидят продукт, который либо медленный, либо неэффективный, чего они не хотят в своей жизни. Поэтому разработчикам Интернета вещей приходится разрабатывать приложения, которые могут и будут обрабатывать медленные и даже прерывающиеся соединения, чтобы пользователи получали от своих устройств то, что им нужно.
  • Подумайте о власти: Мы все любим думать о власти, верно? Надеемся, что ответ «да», потому что разработчикам IoT придется думать о том, сколько вычислительной мощности потребляют их приложения в каждый момент времени. Почему? Потому что большинство устройств IoT питаются от батареи, беспроводны и не имеют достаточно места для больших микросхем памяти. Чем сложнее приложение, тем больше энергии чипу придется потреблять дольше, что приведет к разрядке аккумулятора и разочарованию клиентов, которые потребуют вернуть свои деньги. Короче говоря, каждая часть дизайна приложения должна потреблять минимальное количество энергии.
  • Конфиденциальность и безопасность: Эта область немного сложна, потому что конфиденциальность и безопасность очень субъективны. Представления о том, что безопасно, а что следует держать в тайне, постоянно меняются, особенно когда мы обмениваем их на удобство. Например, большинству из нас неловко из-за имплантируемых датчиков, которые позволяют нашим работодателям отслеживать наши движения, но сотрудники шведского стартапа Epic Entre охотно делают инъекции и даже устраивают вечеринки для тех, кто добровольно хочет иметь имплантируемые технологии. В качестве основного мотива они называют удобство имплантируемых устройств идентификации. Подумайте также обо всех страхах, связанных с онлайн-покупками в начале 2000-х годов. Многие из этих опасений, включая кражу личных данных и широко распространенное мошенничество, сбылись, но большинство из нас с радостью променяет нашу безопасность на удобство покупок из дома. Все еще, преступники знают, что чем больше устройств подключено к проницаемым сетям, тем больше возможностей для мошенничества и кражи. Вот почему защита от кражи личных данных, а также общая безопасность и конфиденциальность должны быть встроены как в сами сети, так и в приложения, которые используют устройства. Чем больше стен нужно взломать, тем меньше у преступников стимулов и возможностей.
  • Приверженность тому, что вы знаете, не спасет вас: даже если вы решите, что не хотите заниматься разработкой IoT, вам все равно придется учитывать IoT при разработке чего-либо. Подумайте об этом так: по оценкам, 35,6 миллиона человек имеют в своих домах голосовые колонки. Прямо сейчас они, как правило, используют их для доступа к собственным веб-сайтам компании (например, пользователи Amazon Echo заказывают вещи на Amazon). Но эта возможность будет расширяться, и пользователи смогут получить доступ к любому веб-сайту практически с любого устройства IoT. Так что это только вопрос времени, прежде чем, как и в случае с адаптивным дизайном, вы должны предположить, что большая часть пользователей веб-сайта будет приходить с устройства IoT и соответственно строить.
Языки, которые вам нужно знать прямо сейчас

Таким образом, марш развития IoT в основном неизбежен, и вам нужно будет начать использовать определенные языки, когда вы начнете разработку для IoT. Сегодня используется множество языков программирования, но чаще всего разработчики Интернета вещей используют именно эти.

  • C: на данный момент это распространенный выбор просто потому, что это оптимизированный язык, который хорошо работает с устройствами с ограниченным объемом памяти. Однако когда устройства станут более продвинутыми, возможности C будут превзойдены.
  • C++: это самый сложный из широко используемых языков в настоящее время, так как он мощный, но все же довольно гибкий. К сожалению, его сложность означает, что он не получил слишком широкого распространения, поскольку большинство устройств IoT в настоящее время не могут с ним справиться. Так что это может означать, что он не будет принят и в будущем, поскольку разработчики выясняют способы решения проблем разработки с помощью более высокоуровневых и более часто используемых языков.
  • Java: Java является одним из наиболее часто изучаемых языков разработки, поэтому почти каждый знает, как его использовать. Более того, хотя он и не такой мощный, как C++, он, тем не менее, легче справляется с ограниченной памятью современных устройств IoT. Объедините эти две вещи — его широкое использование и соответствие большинству текущих потребностей разработки — и вы получите один из самых популярных языков разработки.
  • Python: это еще один важный язык в разработке IoT прямо сейчас, по многим из тех же причин, что и Java. Он хорошо зарекомендовал себя, широко преподается и является гибким. Одна большая вещь для этого — Raspberry Pi. Как основной язык программирования Pi, Python занимает центральное место в разработке IoT. Мощность Pi, малый размер и низкая цена делают его идеальным для учащихся и экспериментаторов, и теперь он используется во всем, от исследований в области робототехники до создания довольно простых камер, активируемых движением.
Будущее Интернета вещей и веб-разработки

Это может быть время экспериментов и диких спекуляций, но на горизонте все еще есть некоторые явные изменения. Веб-сайты не будут единственным местом, где потребители исследуют и покупают продукты. Приложения для управления запасами и датчики, которые отслеживают эффективность офисных работников, станут такими же обычными в повседневной деятельности людей, как умные обогреватели и радионяни с доступом в Интернет. В сфере Интернета вещей Google и Apple либо должны научиться играть вместе, либо один съест другого, потому что в конечном итоге все это должно работать без сбоев.

Однако эксперты уверены, что самой большой проблемой для веб-разработчиков, в частности, будет изменение мышления. Вместо того, чтобы думать об отдельных устройствах и о том, как они могут использовать Интернет, разработчикам нужно будет использовать обширные пользовательские данные для формирования услуг практически независимо от продукта.

Где IoT может повлиять на веб-разработку в будущем
  • Приложения для сетей, а не только для устройств: прямо сейчас приложения для устройств IoT действуют как индивидуальные решения для этих конкретных продуктов. Разработчики думают о какой-нибудь интересной вещи, которую они хотели бы видеть в устройстве, и приступают к созданию инструкций для этого. Однако в будущем разработчикам IoT придется начать мыслить более широко. Вместо того, чтобы придумывать приложения для отдельных устройств, вам нужно будет создавать приложения, которые будут работать в сети. Подумайте об этом так: на данный момент такие сети, как Wink, объединяют все IoT-устройства дома вместе под одним главным пультом дистанционного управления, но большинство приложений, которые собирают данные, обмениваются информацией или выполняют инструкции, по-прежнему находятся на отдельных устройствах. В будущем при подключении к Интернету вещей самые мощные приложения будут находиться в сети, а не на устройствах. В каком-то смысле сеть станет умнее,
  • Все более персонализированные веб-сайты: поскольку устройства могут собирать и обмениваться большим объемом данных друг с другом, вы обнаружите, что возможности работы в Интернете изменятся. Веб-сайты смогут автоматически предоставлять клиентам специализированные услуги на основе данных, генерируемых их устройствами и продуктами IoT. Это могло видеть их подключенный холодильник, стиральную машину и другие бытовые приборы, отправляющие данные в их любимый продуктовый онлайн-магазин, так что, когда вы открывали веб-сайт, он автоматически показывал им основные продукты, которых у них было мало. Это, конечно, потребует некоторой сложной внутренней разработки, поскольку веб-сайт продуктового магазина должен быть в состоянии взаимодействовать со всеми брендами и типами устройств на рынке. И пока не будут установлены отраслевые стандарты, это действительно будет очень сложной задачей.
  • Интеграция на всех уровнях. В будущем компании захотят иметь возможность мгновенно реагировать на запросы клиентов. Например, производственные линии будут динамически реагировать на увеличение количества покупок на веб-сайте. Это означает, что любые разрабатываемые вами приложения должны быть интегрированы в целые производственные линии и цепочки поставок. Фактически, эта обширная интеграция является причиной того, что стандартизация является такой серьезной проблемой прямо сейчас.
  • Экраны — не единственный способ: в будущем многие устройства вполне смогут взаимодействовать друг с другом без особого взаимодействия с пользователем. Как и в случае с Nest, пользователи могут взаимодействовать только с простой панелью управления, а остальные данные будут собираться датчиками и приложениями, с которыми пользователи не будут взаимодействовать напрямую. Это означает, что внешний дизайн будет проще, а все остальное будет намного сложнее.
  • Новые соображения по тестированию. При тестировании приложения Интернета вещей вам нужно подумать о совершенно новых концепциях. Смогут ли пользователи управлять своим IoT-устройством, если сеть будет тормозить? Что делать, если сетевые соединения, как между пользователем и устройством, так и между устройством и сервером, замедляются или прерываются? Есть ли способ сохранить функциональность приложения, но снизить энергопотребление? Это лишь некоторые из вопросов, которые разработчики должны будут постоянно задавать себе на этапе тестирования.
Языки, ОС и протоколы, которые вам могут понадобиться знать

Вот где прогнозы могут стать действительно нечеткими. Если развитие языков программирования в прошлом нас чему-то и научило, так это тому, что мы не можем предполагать, что технологии завтрашнего дня будут иметь много общего с сегодняшними. Тем не менее, у нас есть несколько причин полагать, что эти инструменты пригодятся.

  • JavaScript: он уже популярен и уже используется, поэтому многие думают, что популярность JavaScript, и особенно среды Node.js, будет продолжать расти. По крайней мере, это будет одна из самых полезных стрел в вашем колчане разработки IoT.
  • Weave: не столько язык, сколько протокол связи между машинами. Weave работает с ОС Google Brillo, позволяя устройствам дешево и быстро общаться друг с другом. Brillo — это, по сути, урезанная версия Android, что делает ее более полезной для устройств с ограниченными возможностями. Он также требует меньше энергии, чем Android, что делает его более дешевым и привлекательным вариантом для разработки IoT.
  • Swift: это язык Apple с открытым исходным кодом. Он работает с iOS, MacOS и HomeKit (операционная система, которую Apple использует для подключения всех своих IoT-устройств). Если вы хотите попасть на первый этаж во вселенную Apple IoT, вам нужно знать это.
  • Языки, которые еще не были изобретены: мы можем только догадываться о том, какими они будут, и, если верить истории, мы в значительной степени ошибаемся во всех наших предсказаниях.
Вывод

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

Конечно, задача обучения и изобретения новых решений — это то, что привлекает большинство разработчиков в этой области, поэтому будет много интересного — и трудоустройства — на десятилетия вперед. И это, пожалуй, самое важное, что нужно знать веб-разработчикам об Интернете вещей.

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее