Was müssen Webentwickler über das Internet der Dinge wissen?

Veröffentlicht: 2017-10-30

Die Webentwicklung entstand zu Beginn des Internetzeitalters, als wir damit begannen, schnellere und leistungsfähigere Computer über Telefonleitungen miteinander kommunizieren zu lassen.

Als das Internet ausgefeilter wurde; Die Webentwicklung wurde technischer und professioneller. Jetzt lassen wir das Internetzeitalter hinter uns und bewegen uns in das Zeitalter des Internets der Dinge (IoT), in dem Geräte, die nie als Computer galten, in der Lage sind, miteinander, mit Benutzern und Servern auf eine Weise zu kommunizieren, zu der wir gerade erst in der Lage sind vorstellen.

Heutzutage besuchen wir nicht unbedingt Websites auf Computerbildschirmen, um Dinge zu kaufen. Stattdessen bitten wir Alexa, etwas über unser sprachaktiviertes Amazon Echo zu kaufen. Wir warten nicht einfach, bis wir zu Hause sind, um den Thermostat zu wechseln. Wir verbinden unser Nest mit unserem Smartphone und sagen ihm, dass es die Heizung einschalten soll, wenn unser Telefon erkennt, dass wir etwa 30 Minuten vom Haus entfernt sind.

Im Moment finden wir dieses Maß an Konnektivität ziemlich komfortabel, aber mit fortschreitendem Zeitalter des Internets der Dinge werden wir feststellen, dass unsere Geräte auf beispiellose Weise zwischen Arbeit, Freizeit und Zuhause synchronisiert werden. IoT wird unser Leben, wie wir es kennen, so störend beeinflussen, dass es schwer ist, sich genau vorzustellen, wie die Zukunft aussehen wird, aber eines wissen wir mit Sicherheit. Das IoT hat bereits einen massiven Einfluss auf die Webentwicklung gehabt, und sein Einfluss wird noch zunehmen.

Das bedeutet, dass alle Webentwickler irgendwann IoT in Betracht ziehen müssen. Um immer einen Schritt voraus zu sein, haben wir alles zusammengestellt, was Webentwickler über das Internet der Dinge wissen müssen.

Webentwicklung und das Internet der Dinge jetzt

Dies sind die Tage des Wilden Westens der IoT-Entwicklung. Es wird viel spekuliert und experimentiert, mit wenig Standardisierung im Moment (mindestens fünf große Organisationen arbeiten gleichzeitig an IoT-Standards). Wir wissen also nicht genau, wie sich die Dinge entwickeln werden. Aber wir können sehen, dass bestimmte Bereiche immer wieder auftauchen, wenn Experten die Auswirkungen des IoT auf die Webentwicklung heute diskutieren.

Die Auswirkungen des IoT auf die Webentwicklung jetzt
  • Das Backend ist überall verstreut : Im Moment ist jedes Gerät in seiner eigenen kleinen Welt gebaut. Jedes Unternehmen hat seine eigene Methode, wie sich Geräte verbinden und miteinander kommunizieren können. Jedes Gerät sammelt seine eigene Art von Daten, und jedes Gerät verwendet seine eigenen Arten von Befehlen, um zu funktionieren. Das bedeutet, dass sich viele App-Entwicklungen darauf konzentrieren, Ihre App einfach gut mit anderen bereits etablierten Apps zu verzahnen. Node.js hilft dabei, da es sich zu einem führenden Framework für den Aufbau der Kommunikation zwischen IoT-Geräten entwickelt hat. Trotzdem ist das Problem kaum gelöst.
  • Schnittstellen brauchen Einfachheit : Niemand hat Zeit, um komplexe Befehle zu erarbeiten, wenn es um Geräte geht, daher ist auf dem Bedienfeld einer Kaffeemaschine kein Platz für mangelnde Übersichtlichkeit. Mit anderen Worten, Benutzeroberflächen müssen einfach zu verstehen und reaktionsschnell sein. Bei der Gestaltung der Benutzeroberflächen für IoT-Geräte kommen alle Werkzeuge Ihres Usability-Gürtels zum Einsatz, zumal die meisten Unternehmen möchten, dass ihre Produkte sowohl von Smartphones als auch von den eigenen Bildschirmen der Geräte aus gesteuert werden. Die Bedienelemente sollten auf dem Telefon genauso offensichtlich sein wie auf der Maschine. Die Komplexität sollte nur hinter den Kulissen eintreten. Was der Benutzer sehen muss, ist ein sauberes, logisches Design.
  • Netzwerklatenz mindern : Wenn Sie eine Taste auf Ihrem Drucker drücken, erwarten Sie, dass er sofort mit dem Drucken beginnt. Aber bei IoT-Geräten geht der Befehl vom Bildschirm zum Server zum Gerät und nicht vom Bildschirm direkt zum Gerät. Dieser zusätzliche Schritt kann einen Puffer zwischen dem Befehl und der Aktion erzeugen, insbesondere bei langsamen Netzwerkverbindungen. Benutzer werden ein Produkt sehen, das entweder langsam oder ineffektiv ist, was sie beides nicht in ihrem Leben wollen. Daher müssen IoT-Entwickler Apps entwerfen, die mit langsamen und sogar unterbrochenen Verbindungen umgehen können und werden, damit Benutzer von ihren Geräten das bekommen, was sie wollen.
  • Denken Sie an die Macht : Wir alle lieben es, an Macht zu denken, richtig? Hoffentlich lautet die Antwort „Ja“, denn IoT-Entwickler müssen sich an jeder Stelle Gedanken darüber machen, wie viel Rechenleistung ihre Apps verbrauchen. Wieso den? Denn die meisten IoT-Geräte sind batteriebetrieben, drahtlos und haben nicht viel Platz für umfangreiche Speicherchips. Je komplexer die App, desto mehr Strom muss der Chip länger verbrauchen, was den Akku zehrt und zu enttäuschten Kunden führt, die ihr Geld zurück verlangen. Kurz gesagt, jeder Teil des Designs einer App sollte die absolut minimale Menge an Energie verbrauchen.
  • Datenschutz und Sicherheit : Dieser Bereich ist etwas schwierig, da Datenschutz und Sicherheit so subjektiv sind. Die Vorstellungen darüber, was sicher ist und was geheim gehalten werden sollte, ändern sich ständig, insbesondere wenn wir sie gegen Bequemlichkeit eintauschen. Zum Beispiel fühlen sich die meisten von uns unwohl bei implantierbaren Sensoren, die es unseren Arbeitgebern ermöglichen, unsere Bewegungen zu verfolgen, aber die Mitarbeiter des schwedischen Startups Epic entre lassen sich bereitwillig die Injektionen geben – und veranstalten sogar Partys für andere, die sich freiwillig für implantierbare Technologie entscheiden. Sie nennen den Komfort von implantierbaren ID-Geräten als ihre Hauptmotivation. Denken Sie auch an all die Ängste rund um das Online-Shopping in den frühen 2000er Jahren. Viele dieser Befürchtungen haben sich bewahrheitet, darunter Identitätsdiebstahl und weit verbreiteter Betrug, aber die meisten von uns tauschen ihre Sicherheit gerne gegen die Bequemlichkeit des Einkaufens von zu Hause aus ein. Kriminelle wissen jedoch, dass mehr Geräte, die mit durchdringbaren Netzwerken verbunden sind, mehr Gelegenheiten für Betrug und Diebstahl bedeuten. Aus diesem Grund müssen Schutz vor Identitätsdiebstahl sowie allgemeine Sicherheit und Datenschutz sowohl in die Netzwerke selbst als auch in die von den Geräten verwendeten Apps integriert werden. Je mehr Mauern durchbrochen werden müssen, desto weniger Anreiz und Gelegenheit haben Kriminelle.
  • Es wird Sie nicht retten, sich an das zu halten, was Sie wissen : Selbst wenn Sie sich entscheiden, nicht an der IoT-Entwicklung zu arbeiten, müssen Sie das IoT dennoch berücksichtigen, wenn Sie etwas entwickeln. Stellen Sie sich das so vor: Schätzungsweise 35,6 Millionen Menschen haben sprachaktivierte Lautsprecher in ihren Häusern. Im Moment neigen sie dazu, sie zu verwenden, um auf die eigenen Websites des Unternehmens zuzugreifen (wie Amazon Echo-Benutzer, die Dinge bei Amazon bestellen). Diese Funktion wird jedoch erweitert, und die Benutzer werden erwarten, dass sie von nahezu jedem IoT-Gerät aus auf jede Website zugreifen können. Es ist also nur eine Frage der Zeit, bis man wie zuvor beim Responsive Design davon ausgehen muss, dass ein Großteil der Nutzer einer Website von einem IoT-Gerät kommt und entsprechend baut.
Die Sprachen, die Sie jetzt kennen müssen

Der Vormarsch der IoT-Entwicklung ist also im Grunde unvermeidlich, und Sie müssen mit der Verwendung bestimmter Sprachen beginnen, wenn Sie mit der Entwicklung für das IoT beginnen. Heutzutage werden viele Programmiersprachen verwendet, aber diese sind die am häufigsten von IoT-Entwicklern eingesetzten.

  • C : Dies ist derzeit eine gängige Wahl, nur weil es sich um eine optimierte Sprache handelt, die gut mit Geräten mit begrenztem Speicher funktioniert. Sobald die Geräte jedoch fortschrittlicher werden, werden die Fähigkeiten von C übertroffen.
  • C++ : Dies ist die komplexeste der derzeit am häufigsten verwendeten Sprachen, da sie leistungsfähig, aber immer noch recht agil ist. Leider bedeutet seine Komplexität, dass es nicht allzu weit verbreitet ist, da die meisten IoT-Geräte derzeit nicht damit umgehen können. Das kann bedeuten, dass es auch in Zukunft nicht übernommen wird, da Entwickler Wege finden, Entwicklungsprobleme mit höheren und häufiger verwendeten Sprachen zu lösen.
  • Java : Java gehört zu den am häufigsten gelehrten Entwicklungssprachen, sodass fast jeder weiß, wie man es benutzt. Darüber hinaus ist es, obwohl es nicht so leistungsfähig wie C++ ist, dennoch einfacher für die begrenzten Speicher der heutigen IoT-Geräte zu handhaben. Kombinieren Sie diese beiden Dinge – ihre breite Verwendung und ihre Eignung für die meisten aktuellen Entwicklungsanforderungen – und Sie haben eine der beliebtesten Entwicklungssprachen.
  • Python : Dies ist derzeit die andere große Sprache in der IoT-Entwicklung, aus vielen der gleichen Gründe wie Java. Es ist gut etabliert, breit gelehrt und flexibel. Eine große Sache, die dafür spricht, ist der Raspberry Pi. Als Hauptprogrammiersprache des Pi ist Python von zentraler Bedeutung für die IoT-Entwicklung. Die Leistung, die geringe Größe und der niedrige Preis des Pi machen ihn ideal für Lernende und Experimentatoren, und er wird jetzt in allen Bereichen eingesetzt, von der Robotikforschung bis zum Bau ziemlich einfacher bewegungsaktivierter Kameras.
Die Zukunft von IoT und Webentwicklung

Dies mag eine Zeit des Experimentierens und wilder Spekulationen sein, aber es gibt noch einige klare Veränderungen, die sich am Horizont abzeichnen. Websites werden nicht der einzige Ort sein, an dem Verbraucher Produkte recherchieren und kaufen. Bestandskontroll-Apps und -Sensoren, die die Effizienz von Büroangestellten verfolgen, werden im Alltag der Menschen ebenso alltäglich sein wie intelligente Heizungen und über das Internet zugängliche Babyphone. Im Bereich IoT müssen Google und Apple entweder lernen, zusammenzuspielen, oder einer frisst den anderen, denn schließlich muss das alles reibungslos funktionieren.

Experten sind sich jedoch ziemlich sicher, dass die größte Herausforderung insbesondere für Webentwickler das Umdenken sein wird. Anstatt über einzelne Geräte und deren Nutzung des Internets nachzudenken, müssen Entwickler umfangreiche Nutzerdaten nutzen, um Dienste fast unabhängig vom Produkt zu gestalten.

Wo sich IoT in Zukunft wahrscheinlich auf die Webentwicklung auswirken wird
  • Apps für Netzwerke, nicht nur für Geräte : Im Moment fungieren Apps für IoT-Geräte wie maßgeschneiderte Lösungen für diese spezifischen Produkte. Entwickler denken an eine coole Sache, die sie sich von einem Gerät wünschen, und machen sich daran, die Anweisungen dafür zu erstellen. In Zukunft müssen IoT-Entwickler jedoch breiter denken. Anstatt Apps für einzelne Geräte zu entwickeln, müssen Sie in der Lage sein, Apps zu erstellen, die über ein Netzwerk funktionieren. Stellen Sie sich das so vor: Derzeit verbinden Netzwerke wie Wink alle IoT-Geräte eines Hauses unter einer zentralen Fernbedienung, aber die meisten Apps, die Daten sammeln, Informationen austauschen oder Anweisungen ausführen, befinden sich immer noch in den einzelnen Geräten. In Zukunft wird die IoT-Konnektivität die leistungsstärksten Apps im Netzwerk und nicht in den Geräten sehen. In gewissem Sinne wird das Netzwerk intelligenter werden, indem es die gesamte Datenanalyse, Koordination und Anweisungen bereitstellt, und die Geräte und Anwendungen werden dümmer und auf einfache Datensammler und Befehlsfolger reduziert.
  • Zunehmend personalisierte Websites : Da Geräte in der Lage sind, mehr Daten zu sammeln und untereinander auszutauschen, werden Sie feststellen, dass sich die Erfahrungen beim Surfen im Internet ändern werden. Websites können Kunden automatisch einen maßgeschneiderten Service bieten, basierend auf den Daten, die von ihren IoT-Geräten und -Produkten generiert werden. Dies könnte sehen, wie ihr angeschlossener Kühlschrank, ihre Waschmaschine und andere Geräte Daten an ihren bevorzugten Online-Lebensmittelladen senden, sodass ihnen beim Öffnen der Website automatisch die Grundnahrungsmittel angezeigt werden, die ihnen zur Neige gehen. Dies würde natürlich eine ausgeklügelte Backend-Entwicklung erfordern, da die Website des Lebensmittelgeschäfts in der Lage sein müsste, mit jeder Marke und Art von Geräten auf dem Markt zu kommunizieren. Und bis Industriestandards festgelegt sind, wird das in der Tat eine sehr große Aufgabe sein.
  • Integration auf allen Ebenen : In Zukunft wollen Unternehmen sofort auf Kundenanforderungen reagieren können. Beispielsweise reagieren Produktionslinien dynamisch auf eine Zunahme der Website-Käufe. Das bedeutet, dass alle Apps, die Sie entwickeln, in ganze Produktionslinien und Lieferketten integriert werden müssen. Tatsächlich ist diese umfassende Integration der Grund, warum die Standardisierung derzeit eine so große Herausforderung darstellt.
  • Bildschirme sind nicht der einzige Weg : In Zukunft können viele Geräte ohne viel Benutzerinteraktion miteinander kommunizieren. Wie bei Nest können Benutzer nur mit einem einfachen Bedienfeld interagieren, und der Rest der Daten wird von Sensoren und Apps gesammelt, mit denen Benutzer nicht direkt interagieren. Das bedeutet, dass das Front-End-Design einfacher und alles andere viel komplizierter wird.
  • Neue Überlegungen zum Testen : Wenn Sie eine IoT-Anwendung testen, müssen Sie über völlig neue Konzepte nachdenken. Können Benutzer ihr IoT-Gerät steuern, wenn das Netzwerk verzögert wird? Was ist, wenn Netzwerkverbindungen, sowohl zwischen dem Benutzer und dem Gerät als auch zwischen dem Gerät und dem Server, langsam oder unterbrochen sind? Gibt es eine Möglichkeit, die Funktionalität der App beizubehalten, aber den Stromverbrauch zu reduzieren? Dies sind nur einige der Dinge, die sich Entwickler in der Testphase ständig stellen müssen.
Die Sprachen, Betriebssysteme und Protokolle, die Sie möglicherweise kennen sollten

Hier können Vorhersagen wirklich unscharf werden. Wenn uns die Entwicklung von Programmiersprachen in der Vergangenheit etwas gelehrt hat, dann, dass wir nicht davon ausgehen können, dass die Technologie von morgen viel mit der heutigen gemeinsam haben wird. Dennoch haben wir einige Gründe zu der Annahme, dass diese Tools nützlich sein werden.

  • JavaScript : Es ist bereits beliebt und wird bereits verwendet, daher glauben viele, dass JavaScript und insbesondere die Node.js-Umgebung weiterhin an Popularität gewinnen werden. Zumindest wird es einer der nützlichsten Pfeile in Ihrem IoT-Entwicklungsköcher sein.
  • Weave : Weave ist weniger eine Sprache als vielmehr ein Maschine-zu-Maschine-Kommunikationsprotokoll und arbeitet mit Googles Brillo OS zusammen, damit Geräte kostengünstig und schnell miteinander kommunizieren können. Brillo ist im Grunde eine abgespeckte Version von Android, was es für Geräte mit eingeschränkten Fähigkeiten nützlicher macht. Es benötigt auch weniger Strom als Android, was es zu einer günstigeren und attraktiveren Option für die IoT-Entwicklung macht.
  • Swift : Dies ist die Open-Source-Sprache von Apple. Es funktioniert mit iOS, MacOS und HomeKit (das Betriebssystem, das Apple verwendet, um alle seine IoT-Geräte zu verbinden). Wenn Sie in das IoT-Universum von Apple einsteigen möchten, müssen Sie dieses kennen.
  • Die Sprachen, die noch nicht erfunden wurden : Wir können nur darüber spekulieren, was das sein wird, und wenn man die Geschichte betrachtet, werden wir uns mit all unseren Vorhersagen ziemlich irren.
Fazit

Der Eintritt in das Zeitalter des Internets der Dinge ist spannend und herausfordernd zugleich. Es gibt Dinge, die wir jetzt lernen und tun können, aber in Zukunft gibt es noch viel mehr zu lernen und herauszufinden. Wir wissen, dass wir uns in eine nahtlos vernetztere Welt bewegen, in der Massen von Daten und Netzwerkverbindungen jeden Teil unseres Lebens prägen, aber wie das tatsächlich aussieht, ist unklar. Wir wissen, dass JavaScript jetzt nützlich ist und sich zum Rückgrat der IoT-Entwicklung entwickeln könnte, aber das bedeutet nicht unbedingt, dass dies der Fall sein wird. Wir wissen, dass jede neue Gelegenheit neue Herausforderungen mit sich bringt, und jede neue Lösung schafft ihre eigenen Chancen und Herausforderungen, die wir nicht einmal ansatzweise vorhersehen können.

Natürlich ist es die Herausforderung, neue Lösungen zu lernen und zu erfinden, was die meisten Entwickler auf diesem Gebiet anzieht, also wird es viel geben, was Sie für die kommenden Jahrzehnte interessiert – und beschäftigt – halten wird. Und das ist wahrscheinlich das Wichtigste, was Webentwickler über das Internet der Dinge wissen müssen.