Ce trebuie să știe dezvoltatorii web despre internetul obiectelor?

Publicat: 2017-10-30

Dezvoltarea web a apărut la începutul erei internetului, când am început să facem ca computere mai rapide și mai puternice să vorbească între ele prin linii telefonice.

Pe măsură ce Internetul a devenit mai sofisticat; dezvoltarea web a devenit mai tehnică și mai profesionistă. Acum, lăsăm în urmă era internetului și trecem în era internetului obiectelor (IoT), în care dispozitivele care nu au fost niciodată considerate computere sunt capabile să vorbească între ele, cu utilizatorii și cu serverele în moduri în care doar suntem capabili să le facem. imagina.

Astăzi, nu ne îndreptăm neapărat către site-uri web de pe ecranele computerelor pentru a cumpăra lucruri. În schimb, îi cerem lui Alexa să cumpere ceva prin Amazon Echo activat prin voce. Nu așteptăm pur și simplu până ajungem acasă pentru a schimba termostatul. Ne conectăm Nest-ul la smartphone și îi spunem să pornească încălzirea atunci când telefonul nostru detectează că suntem la aproximativ 30 de minute distanță de casă.

În acest moment, considerăm că acest nivel de conectivitate este destul de confortabil, dar pe măsură ce Internet of Things Age avansează, ne vom găsi că dispozitivele noastre se sincronizează la serviciu, joacă și acasă în moduri fără precedent. IoT va perturba atât de mult viețile noastre pe măsură ce le cunoaștem, încât este greu să ne imaginăm cu exactitate cum va fi viitorul, dar există un lucru pe care îl știm sigur. IoT a avut deja un impact masiv asupra dezvoltării web, iar impactul său este pe cale să crească.

Asta înseamnă că toți dezvoltatorii web vor trebui să ia în considerare IoT la un moment dat. În interesul de a merge înaintea curbei, am stabilit tot ce trebuie să știe dezvoltatorii web despre Internetul lucrurilor.

Dezvoltarea web și Internetul lucrurilor acum

Acestea sunt zilele Vestului Sălbatic ale dezvoltării IoT. Există multe speculații și experimente, cu puțină standardizare în acest moment (cel puțin cinci organizații majore lucrează la standardele IoT simultan). Deci nu știm exact cum se vor descurca lucrurile. Dar putem vedea că anumite domenii apar din nou și din nou atunci când experții discută despre impactul IoT asupra dezvoltării web astăzi.

Impactul IoT asupra dezvoltării web acum
  • Partea din spate este peste tot : chiar acum, fiecare dispozitiv este construit în propria sa lume mică. Fiecare companie are propriul mod prin care dispozitivele se conectează și vorbesc între ele. Fiecare dispozitiv adună propriul tip de date și fiecare dispozitiv folosește propriile tipuri de comenzi pentru a funcționa. Aceasta înseamnă că o mulțime de dezvoltare a aplicațiilor se concentrează pe pur și simplu ca aplicația dvs. să se integreze bine cu alte aplicații deja stabilite. Node.js ajută în acest sens, deoarece a apărut ca un cadru principal pentru stabilirea comunicațiilor între dispozitivele IoT. Cu toate acestea, problema este cu greu rezolvată.
  • Interfețele au nevoie de simplitate : nimeni nu are timp să realizeze comenzi complexe atunci când vine vorba de aparate, așa că nu există spațiu pentru lipsa de claritate în panoul de control al aparatului de cafea. Cu alte cuvinte, interfețele de utilizator trebuie să fie ușor de preluat și receptive. Toate instrumentele din centura dvs. de utilizare vor fi folosite la proiectarea interfețelor de utilizator pentru dispozitivele IoT, mai ales că majoritatea companiilor vor dori ca produsele lor să fie controlate de pe telefoanele inteligente, precum și de pe ecranele proprii ale dispozitivelor. Comenzile ar trebui să fie la fel de evidente pe telefon ca și pe aparat. Complexitatea ar trebui să apară doar în culise. Ceea ce trebuie să vadă utilizatorul este un design curat, logic.
  • Reduceți latența rețelei : atunci când apăsați un buton de pe imprimantă, vă așteptați să înceapă imprimarea imediat. Dar cu dispozitivele IoT, comanda trece de la ecran la server la dispozitiv, mai degrabă decât de la ecran direct la dispozitiv. Acest pas suplimentar ar putea crea un buffer între comandă și acțiune, în special în cazul conexiunilor lente la rețea. Utilizatorii vor vedea un produs care este fie lent, fie ineficient, pe care nici unul nu îl doresc în viața lor. Așadar, dezvoltatorii IoT trebuie să proiecteze aplicații care pot și vor face față conexiunilor lente și chiar întrerupte, astfel încât utilizatorii să obțină ceea ce își doresc de la dispozitivele lor.
  • Gândește-te la putere : tuturor ne place să ne gândim la putere, nu? Sperăm că răspunsul este „da”, deoarece dezvoltatorii IoT vor trebui să se gândească la câtă putere de calcul ocupă aplicațiile lor în fiecare moment. De ce? Pentru că majoritatea dispozitivelor IoT sunt alimentate cu baterie, fără fir și nu au mult spațiu pentru cipuri de memorie extinse. Cu cât aplicația este mai complexă, cu atât cipul va trebui să consume mai multă putere pentru mai mult timp, ceea ce va distruge bateria și va duce la clienți dezamăgiți care le vor cere banii înapoi. Pe scurt, fiecare parte a designului unei aplicații ar trebui să utilizeze cantitatea minimă absolută de putere.
  • Confidențialitate și securitate : această zonă este puțin dificilă, deoarece confidențialitatea și securitatea sunt atât de subiective. Ideile despre ceea ce este sigur și ce ar trebui păstrat privat se schimbă constant, mai ales când le schimbăm pentru comoditate. De exemplu, cei mai mulți dintre noi se simt neliniștiți cu privire la senzorii implantabili care permit angajatorilor noștri să ne urmărească mișcările, dar angajații startup-ului suedez Epic entre primesc de bunăvoie injecțiile – și chiar găzduiesc petreceri pentru alții care se oferă voluntari pentru a avea și tehnologie implantabilă. Ei citează comoditatea dispozitivelor de identificare implantabile drept principalul lor motivator. Gândiți-vă și la toate temerile legate de cumpărăturile online de la începutul anilor 2000. Multe dintre aceste temeri s-au adeverit, inclusiv furtul de identitate și frauda pe scară largă, dar cei mai mulți dintre noi schimbăm cu bucurie securitatea pentru confortul cumpărăturilor din casele noastre. Totuși, criminalii știu că a avea mai multe dispozitive conectate la rețele penetrabile înseamnă mai multe oportunități de a escroche și de a fura. De aceea, protecția împotriva furtului de identitate, precum și securitatea generală și confidențialitatea trebuie să fie integrate atât în ​​rețelele în sine, cât și în aplicațiile pe care le folosesc dispozitivele. Cu cât trebuie sparte mai multe ziduri, cu atât mai puține stimulente și oportunități au criminalii.
  • Respectarea a ceea ce știi nu te va salva : chiar dacă decideți că nu doriți să lucrați la dezvoltarea IoT, va trebui totuși să luați în considerare IoT atunci când dezvoltați ceva. Gândiți-vă la asta în acest fel: se estimează că 35,6 milioane de oameni au difuzoare cu voce activată în casele lor. În acest moment, au tendința de a le folosi pentru a accesa propriile site-uri web ale companiei (cum ar fi utilizatorii Amazon Echo care comandă lucruri de la Amazon). Dar această capacitate se va extinde, iar utilizatorii se vor aștepta să poată accesa orice site web de pe aproape orice dispozitiv IoT. Așadar, este doar o chestiune de timp până când, la fel ca și designul responsive înainte de acesta, trebuie să presupunem că o mare parte a utilizatorilor unui site web vor veni de pe un dispozitiv IoT și vor construi în consecință.
Limbile pe care trebuie să le știți acum

Deci, marșul dezvoltării IoT este practic inevitabil și va trebui să începeți să utilizați anumite limbi atunci când începeți să dezvoltați pentru IoT. Există multe limbaje de programare care sunt folosite astăzi, dar acestea sunt cele mai frecvent utilizate de dezvoltatorii IoT.

  • C : Aceasta este o alegere comună deocamdată, doar pentru că este un limbaj simplificat care funcționează bine cu dispozitivele care au memorie limitată. Cu toate acestea, odată ce dispozitivele devin mai avansate, capacitățile lui C vor fi depășite.
  • C++ : Aceasta este cea mai complexă dintre limbile utilizate în mod obișnuit acum, deoarece este puternic, dar încă destul de agil. Din păcate, complexitatea sa înseamnă că nu este adoptat prea larg, deoarece majoritatea dispozitivelor IoT nu se pot descurca în acest moment. Deci asta poate însemna că nu va fi adoptat nici în viitor, deoarece dezvoltatorii găsesc modalități de a gestiona problemele de dezvoltare cu limbaje de nivel mai înalt și mai frecvent utilizate.
  • Java : Java este printre cele mai des predate limbaje de dezvoltare, așa că aproape toată lumea știe cum să-l folosească. În plus, deși nu este la fel de puternic ca C++, este totuși mai ușor de gestionat pentru amintirile limitate ale dispozitivelor IoT de astăzi. Combină aceste două lucruri – utilizarea pe scară largă și adecvarea sa pentru majoritatea nevoilor actuale de dezvoltare – și vei avea unul dintre cele mai populare limbaje de dezvoltare.
  • Python : Acesta este celălalt limbaj mare în dezvoltarea IoT chiar acum, din multe dintre aceleași motive ca Java. Este bine stabilit, predat pe scară largă și flexibil. Un lucru important este Raspberry Pi. Fiind principalul limbaj de programare al lui Pi, Python este esențial pentru dezvoltarea IoT. Puterea lui Pi, dimensiunea mică și prețul scăzut înseamnă că este ideal pentru studenți și experimentatori, iar acum este folosit în orice, de la cercetarea robotică până la construirea de camere destul de simple activate de mișcare.
Viitorul IoT și al dezvoltării web

Acesta ar putea fi o perioadă de experimentare și speculații sălbatice, dar există încă câteva schimbări clare la orizont. Site-urile web nu vor fi singurul loc în care consumatorii caută și cumpără produse. Aplicațiile și senzorii de control al inventarului care urmăresc eficiența angajaților de birou vor deveni la fel de obișnuiți în activitățile de zi cu zi ale oamenilor, precum încălzitoarele inteligente și monitoarele pentru copii accesibile pe internet. Pe tărâmul IoT, Google și Apple vor trebui fie să învețe să se joace împreună, fie unul îl va mânca pe celălalt, pentru că în cele din urmă toate acestea vor trebui să funcționeze fără probleme.

Experții sunt destul de siguri, totuși, că cea mai mare provocare pentru dezvoltatorii web în special va fi schimbarea mentalității. În loc să se gândească la dispozitivele individuale și la modul în care ar putea folosi internetul, dezvoltatorii vor trebui să folosească date extinse ale utilizatorilor pentru a modela serviciile, aproape indiferent de produs.

Unde este probabil ca IoT să aibă un impact asupra dezvoltării web în viitor
  • Aplicații pentru rețele, nu doar dispozitive : în prezent, aplicațiile pentru dispozitive IoT acționează ca soluții personalizate pentru acele produse specifice. Dezvoltatorii se gândesc la un lucru grozav pe care și-ar dori să-l facă un dispozitiv și s-au apucat de a construi instrucțiunile pentru asta. În viitor, însă, dezvoltatorii IoT vor trebui să înceapă să gândească mai larg. În loc să veniți cu aplicații pentru dispozitive individuale, va trebui să puteți crea aplicații care funcționează într-o rețea. Gândiți-vă la asta astfel: în prezent, rețele precum Wink conectează toate dispozitivele IoT ale unei case împreună sub o singură telecomandă principală, dar majoritatea aplicațiilor care colectează date, partajează informații sau execută instrucțiuni sunt încă în dispozitivele individuale. În viitor, conectivitatea IoT va vedea cele mai puternice aplicații așezate în rețea, nu în dispozitive. Într-un fel, rețeaua va deveni mai inteligentă, oferind toate analizele, coordonarea și instrucțiunile de date, iar dispozitivele și aparatele vor deveni mai stupide, reduse la simpli colectori de date și adepți de instrucțiuni.
  • Site-uri web din ce în ce mai personalizate : pe măsură ce dispozitivele sunt capabile să colecteze și să partajeze mai multe date între ele, veți descoperi că experiențele de navigare pe internet se vor schimba. Site-urile web vor putea în mod automat să ofere clienților un serviciu personalizat, pe baza datelor generate de dispozitivele și produsele lor IoT. Acest lucru ar putea vedea frigiderul, mașina de spălat și alte electrocasnice conectate trimițând date către magazinul lor alimentar online preferat, astfel încât, atunci când ați deschis site-ul web, le-a arătat automat alimentele de care nu aveau nevoie. Acest lucru ar necesita o dezvoltare sofisticată, desigur, deoarece site-ul magazinului alimentar ar trebui să poată comunica cu fiecare marcă și tip de aparat de pe piață. Și până la stabilirea standardelor din industrie, va fi într-adevăr o comandă foarte grea.
  • Integrare la toate nivelurile : În viitor, companiile vor dori să poată răspunde instantaneu la cerințele clienților. De exemplu, liniile de producție vor răspunde dinamic la o creștere a achizițiilor de site-uri web. Aceasta înseamnă că orice aplicație pe care o dezvoltați va trebui să se integreze în întregi linii de producție și lanțuri de aprovizionare. De fapt, această integrare extinsă este motivul pentru care standardizarea este o provocare atât de mare în acest moment.
  • Ecranele nu sunt singura modalitate : în viitor, multe dispozitive s-ar putea să vorbească între ele fără prea mult în modul de interacțiune a utilizatorului. Ca și în cazul Nest, utilizatorii pot interacționa doar cu un simplu panou de control, iar restul datelor vor fi colectate de senzori și aplicații cu care utilizatorii nu vor interacționa direct. Asta înseamnă că designul front-end va fi mai simplu și totul va fi mult mai complicat.
  • Noi considerații de testare : atunci când testați o aplicație IoT, va trebui să vă gândiți la concepte complet noi. Vor putea utilizatorii să-și controleze dispozitivul IoT dacă rețeaua întârzie? Ce se întâmplă dacă conexiunile de rețea, atât între utilizator și dispozitiv, cât și între dispozitiv și server, încetinesc sau sunt întrerupte? Există vreo modalitate de a păstra funcționalitatea aplicației, dar de a reduce consumul de energie? Acestea sunt doar câteva dintre lucrurile pe care dezvoltatorii vor trebui să le întrebe în mod constant în etapa de testare.
Limbile, sistemul de operare și protocoalele pe care ar putea avea nevoie să le cunoașteți

Aici previziunile pot deveni foarte neclare. Dacă dezvoltarea limbajelor de programare în trecut ne-a învățat ceva, este că nu putem presupune că tehnologia de mâine va avea multe în comun cu cea de astăzi. Cu toate acestea, avem câteva motive pentru a crede că aceste instrumente vor fi utile.

  • JavaScript : este deja popular și este deja folosit, așa că mulți cred că JavaScript, și în special mediul Node.js, vor continua să crească în popularitate. Cel puțin, va fi una dintre cele mai utile săgeți din tolba dvs. de dezvoltare IoT.
  • Weave : Mai puțin o limbă, ci mai mult un protocol de comunicare între mașini, Weave funcționează cu sistemul de operare Brillo de la Google pentru a permite dispozitivelor să comunice între ele ieftin și rapid. Brillo este practic o versiune redusă de Android, ceea ce o face mai utilă pentru dispozitivele cu capacități limitate. De asemenea, necesită mai puțină putere decât Android, ceea ce îl face o opțiune mai ieftină și mai atractivă pentru dezvoltarea IoT.
  • Swift : Acesta este limbajul open source al Apple. Funcționează cu iOS, MacOS și HomeKit (sistemul de operare pe care Apple îl folosește pentru a conecta toate dispozitivele sale IoT). Dacă vrei să intri la parter cu universul IoT al Apple, va trebui să-l cunoști pe acesta.
  • Limbile care nu au fost inventate încă : putem doar să speculam care vor fi acestea și, dacă istoria este ceva de urmat, vom greși aproape în toate predicțiile noastre.
Concluzie

Intrarea în era internetului obiectelor este incitantă și provocatoare în egală măsură. Există lucruri pe care le putem învăța și face acum, dar într-adevăr, mai sunt multe de învățat și de aflat în viitor. Știm că ne îndreptăm către o lume mai perfect conectată, în care mase de date și conexiuni de rețea modelează fiecare parte a vieții noastre, dar ceea ce arată de fapt este o presupunere a oricui. Știm că JavaScript este util acum și ar putea crește pentru a forma coloana vertebrală a dezvoltării IoT, dar asta nu înseamnă neapărat că va fi. Știm că fiecare nouă oportunitate ridică noi provocări și fiecare nouă soluție își creează propriile oportunități și provocări, pe care nici măcar nu putem începe să le anticipăm.

Desigur, provocarea de a învăța și de a inventa noi soluții este cea care atrage majoritatea dezvoltatorilor în domeniu, așa că vor fi multe care să vă mențină interesat – și angajat – pentru decenii viitoare. Și acesta este probabil cel mai important lucru pe care dezvoltatorii web trebuie să îl știe despre Internetul lucrurilor.