Що веб-розробникам потрібно знати про Інтернет речей?
Веб-розробка з’явилася на початку ери Інтернету, коли ми почали створювати швидші та потужніші комп’ютери, які спілкуються один з одним через телефонні лінії.
Оскільки Інтернет ставав все більш складним; веб-розробка стала більш технічною та більш професійною. Зараз ми залишаємо позаду епоху Інтернету та переходимо до епохи Інтернету речей (IoT), де пристрої, які ніколи не вважалися комп’ютерами, можуть спілкуватися один з одним, користувачами та серверами так, як ми лише зараз можемо уявіть собі.
Сьогодні ми не обов’язково заходимо на веб-сайти з екрана комп’ютера, щоб купити щось. Натомість ми просимо Alexa купити щось через наш голосовий Amazon Echo. Ми не просто чекаємо, поки прийдемо вдома, щоб змінити термостат. Ми підключаємо наш Nest до нашого смартфона та наказуємо йому ввімкнути опалення, коли наш телефон відчуває, що ми приблизно за 30 хвилин від дому.
Наразі ми вважаємо цей рівень підключення досить комфортним, але з настанням епохи Інтернету речей ми побачимо, що наші пристрої синхронізуються між роботою, розвагою та вдома безпрецедентними способами. Інтернет речей буде настільки руйнівним для нашого життя, яким ми його знаємо, що важко точно уявити, яким буде майбутнє, але є одна річ, яку ми знаємо напевно. IoT вже мав величезний вплив на веб-розробку, і його вплив буде тільки зростати.
Це означає, що всім веб-розробникам колись доведеться розглянути 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, малий розмір і низька ціна означають, що він ідеально підходить для тих, хто навчається та експериментаторів, і зараз його використовують у всьому, починаючи від досліджень робототехніки і закінчуючи створенням досить простих камер, що активуються рухом.
Майбутнє IoT та веб-розробки
Це може бути час експериментів і диких спекуляцій, але на горизонті все ще є певні зміни. Веб-сайти не будуть єдиним місцем, де споживачі шукатимуть і купуватимуть продукти. Програми та датчики для контролю запасів, які відстежують ефективність офісних працівників, стануть такими ж поширеними у повсякденній діяльності людей, як розумні обігрівачі та доступні в Інтернеті радіоняні. У царині IoT Google і Apple доведеться або навчитися грати разом, або один з’їсть інший, тому що врешті-решт це все працюватиме без проблем.
Однак експерти майже впевнені, що найбільшою проблемою для веб-розробників стане зміна мислення. Замість того, щоб думати про окремі пристрої та про те, як вони можуть використовувати Інтернет, розробникам потрібно буде використовувати великі дані користувачів для формування послуг, майже незалежно від продукту.
Де IoT може вплинути на веб-розробку в майбутньому
- Програми для мереж, а не лише для пристроїв: Наразі програми для пристроїв Інтернету речей діють як індивідуальні рішення для цих конкретних продуктів. Розробники придумали круту річ, яку вони хотіли б зробити з пристроєм, і взялися за створення інструкцій для цього. Однак у майбутньому розробникам IoT доведеться мислити ширше. Замість того, щоб створювати програми для окремих пристроїв, вам потрібно мати можливість створювати програми, які працюють у мережі. Подумайте про це так: на даний момент такі мережі, як Wink, об’єднують усі пристрої IoT у домі разом під одним головним пультом дистанційного керування, але більшість додатків, які збирають дані, обмінюються інформацією чи виконують інструкції, все ще знаходяться на окремих пристроях. У майбутньому завдяки підключенню до Інтернету речей найпотужніші програми будуть розміщені в мережі, а не на пристроях. У певному сенсі мережа стане більш розумною,
- Дедалі персоналізовані веб-сайти: оскільки пристрої зможуть збирати та обмінюватися між собою більшою кількістю даних, ви побачите, що перегляд Інтернету зміниться. Веб-сайти зможуть автоматично надавати клієнтам індивідуальні послуги на основі даних, створених їхніми пристроями та продуктами IoT. Це може спостерігати, як їхні підключені холодильники, пральні машини та інші прилади надсилають дані до їхнього улюбленого продуктового онлайн-магазину, тож коли ви відкриваєте веб-сайт, він автоматично показує їм основні продукти, яких у них мало. Звичайно, для цього знадобиться складна розробка серверної частини, оскільки веб-сайт продуктового магазину повинен мати можливість спілкуватися з усіма брендами та видами приладів на ринку. І поки галузеві стандарти не будуть встановлені, це справді буде дуже складним завданням.
- Інтеграція на всіх рівнях: у майбутньому компанії захочуть мати можливість миттєво реагувати на запити клієнтів. Наприклад, виробничі лінії динамічно реагуватимуть на збільшення покупок на веб-сайті. Це означає, що будь-які програми, які ви розробляєте, повинні будуть інтегруватися в цілі виробничі лінії та ланцюги поставок. Насправді ця широка інтеграція є причиною того, чому стандартизація зараз є таким серйозним викликом.
- Екрани — не єдиний спосіб: у майбутньому багато пристроїв цілком можуть спілкуватися один з одним без особливої взаємодії з користувачем. Як і у випадку з Nest, користувачі можуть взаємодіяти лише з простою панеллю керування, а решта даних збиратимуть датчики та програми, з якими користувачі не взаємодіятимуть безпосередньо. Це означає, що інтерфейсний дизайн стане простішим, а все інше – набагато складнішим.
- Нові міркування щодо тестування: коли ви тестуєте програму IoT, вам доведеться подумати про абсолютно нові концепції. Чи зможуть користувачі керувати своїм пристроєм IoT, якщо мережа гальмує? Що робити, якщо мережеві з’єднання як між користувачем і пристроєм, так і між пристроєм і сервером сповільнюються або перериваються? Чи є спосіб зберегти функціональність програми, але зменшити споживання енергії? Це лише кілька речей, про які розробникам доведеться постійно задавати собі питання на етапі тестування.
Мови, ОС і протоколи, які вам можуть знадобитися
Саме тут прогнози можуть бути дуже нечіткими. Якщо розробка мов програмування в минулому чогось навчила нас, то це те, що ми не можемо припустити, що технології завтрашнього дня матимуть багато спільного з сьогоднішніми. Тим не менш, у нас є кілька причин думати, що ці інструменти стануть у нагоді.
- JavaScript: він уже популярний і вже використовується, тому багато хто вважає, що популярність JavaScript, а особливо середовища Node.js, продовжуватиме зростати. Принаймні, це буде одна з найкорисніших стрілок у вашому сагайдаку розробки IoT.
- Weave: не мова, а більше міжмашинний протокол зв’язку, Weave працює з ОС Brillo від Google, щоб дозволити пристроям спілкуватися один з одним дешево та швидко. Brillo — це, по суті, урізана версія Android, що робить її більш корисною для пристроїв з обмеженими можливостями. Він також потребує менше енергії, ніж Android, що робить його дешевшим і привабливішим варіантом для розробки IoT.
- Swift: це мова Apple з відкритим кодом. Він працює з iOS, MacOS і HomeKit (операційна система, яку Apple використовує для підключення всіх своїх пристроїв IoT). Якщо ви хочете потрапити на перший поверх із всесвітом Apple IoT, вам потрібно знати це.
- Мови, які ще не винайшли: ми можемо лише здогадуватися про те, якими вони будуть, і якщо врахувати історію, ми помиляємось у всіх своїх прогнозах.
Висновок
Вступ в епоху Інтернету речей водночас і захоплюючий, і складний. Є речі, які ми можемо навчитися та зробити зараз, але насправді є ще багато чого, чого потрібно навчитися та зрозуміти в майбутньому. Ми знаємо, що ми рухаємося до світу з більш безперебійним зв’язком, де масиви даних і мережевих з’єднань формують кожну частину нашого життя, але як це насправді виглядає, залишається тільки здогадуватися. Ми знаємо, що JavaScript зараз корисний і може стати основою розробки IoT, але це не обов’язково означає, що так і буде. Ми знаємо, що кожна нова можливість породжує нові виклики, а кожне нове рішення створює власні можливості та виклики, які ми навіть не можемо передбачити.
Звісно, більшість розробників приваблює до цієї галузі завдання навчання та винайдення нових рішень, тож у вас буде багато, що зацікавить вас і допоможе вам працювати протягом десятиліть. І це, мабуть, найважливіше, що веб-розробники повинні знати про Інтернет речей.