Co twórcy stron internetowych powinni wiedzieć o Internecie rzeczy?
Rozwój sieci pojawił się na początku ery Internetu, kiedy zaczęliśmy tworzyć szybsze, potężniejsze komputery, które komunikowały się ze sobą przez linie telefoniczne.
Gdy Internet stał się bardziej wyrafinowany; tworzenie stron internetowych stało się bardziej techniczne i bardziej profesjonalne. Teraz zostawiamy za sobą erę Internetu i przechodzimy do ery Internetu rzeczy (IoT), w której urządzenia, które nigdy nie były uważane za komputery, mogą komunikować się ze sobą, z użytkownikami i z serwerami w sposób, który dopiero co potrafimy wyobrażać sobie.
Dziś niekoniecznie odwiedzamy strony internetowe na ekranach komputerów, aby coś kupić. Zamiast tego prosimy Alexę, aby kupiła coś za pośrednictwem naszego aktywowanego głosem Amazon Echo. Nie czekamy po prostu na wymianę termostatu, aż wrócimy do domu. Łączymy nasze Nest ze smartfonem i każemy mu włączyć ogrzewanie, gdy nasz telefon wyczuje, że dzieli nas około 30 minut od domu.
W tej chwili uważamy, że ten poziom łączności jest całkiem wygodny, ale wraz z postępem ery Internetu rzeczy nasze urządzenia będą synchronizować się w pracy, zabawie i domu na niespotykany dotąd sposób. IoT będzie tak destrukcyjny dla naszego życia, jakie znamy, że trudno dokładnie wyobrazić sobie, jaka będzie przyszłość, ale jest jedna rzecz, której jesteśmy pewni. IoT wywarł już ogromny wpływ na tworzenie stron internetowych, a jego wpływ ma tylko wzrosnąć.
Oznacza to, że wszyscy twórcy stron internetowych będą musieli w pewnym momencie rozważyć IoT. Aby wyprzedzić konkurencję, przedstawiliśmy wszystko, co twórcy stron internetowych powinni wiedzieć o Internecie rzeczy.
Tworzenie stron internetowych i Internet rzeczy teraz
Oto czasy Dzikiego Zachodu rozwoju IoT. Istnieje wiele spekulacji i eksperymentów, a standaryzacja jest obecnie niewielka (co najmniej pięć dużych organizacji pracuje jednocześnie nad standardami IoT). Nie wiemy więc, jak dokładnie potoczą się sprawy. Widzimy jednak, że pewne obszary pojawiają się raz po raz, gdy eksperci omawiają wpływ IoT na tworzenie sieci w dzisiejszych czasach.
Wpływ IoT na tworzenie stron internetowych teraz
- Zaplecze jest wszędzie: w tej chwili każde urządzenie jest zbudowane w swoim własnym małym świecie. Każda firma ma swój własny sposób łączenia się urządzeń i komunikowania się ze sobą. Każde urządzenie gromadzi własny rodzaj danych, a każde urządzenie używa własnego rodzaju poleceń do działania. Oznacza to, że wiele centrów rozwoju aplikacji skupia się na tym, aby Twoja aplikacja dobrze współgrała z innymi już istniejącymi aplikacjami. Node.js pomaga w tym, ponieważ stał się wiodącą platformą do nawiązywania komunikacji między urządzeniami IoT. Mimo to problem prawie nie jest rozwiązany.
- Interfejsy wymagają prostoty: nikt nie ma czasu na wymyślanie skomplikowanych poleceń, jeśli chodzi o urządzenia, więc nie ma miejsca na brak przejrzystości w panelu sterowania ekspresu do kawy. Innymi słowy, interfejsy użytkownika muszą być łatwe do odczytania i responsywne. Wszystkie narzędzia w twoim pasku użyteczności zostaną wykorzystane podczas projektowania interfejsów użytkownika dla urządzeń IoT, zwłaszcza że większość firm chce, aby ich produkty były kontrolowane zarówno ze smartfonów, jak i z własnych ekranów urządzeń. Elementy sterujące powinny być tak oczywiste na telefonie, jak na maszynie. Złożoność powinna pojawiać się tylko za kulisami. To, co użytkownik musi zobaczyć, to czysty, logiczny projekt.
- Łagodzenie opóźnień w sieci: po naciśnięciu przycisku na drukarce oczekuje się, że natychmiast rozpocznie ona drukowanie. Ale w przypadku urządzeń IoT polecenie przechodzi z ekranu na serwer do urządzenia, a nie z ekranu bezpośrednio do urządzenia. Ten dodatkowy krok może utworzyć bufor między poleceniem a akcją, zwłaszcza w przypadku wolnych połączeń sieciowych. Użytkownicy zobaczą produkt, który jest albo powolny, albo nieskuteczny, a żadnego z nich nie chcą w swoim życiu. Dlatego programiści IoT muszą projektować aplikacje, które mogą i będą obsługiwać powolne, a nawet przerywane połączenia, aby użytkownicy mogli uzyskać to, czego chcą od swoich urządzeń.
- Pomyśl o władzy: Wszyscy uwielbiamy myśleć o władzy, prawda? Miejmy nadzieję, że odpowiedź brzmi „tak”, ponieważ programiści IoT będą musieli pomyśleć o tym, ile mocy obliczeniowej zużywają ich aplikacje w każdym momencie. Czemu? Ponieważ większość urządzeń IoT jest zasilana bateryjnie, bezprzewodowo i nie ma dużo miejsca na rozbudowane układy pamięci. Im bardziej złożona aplikacja, tym więcej mocy chip będzie musiał zużywać przez dłuższy czas, co spowoduje wyczerpanie baterii i doprowadzi do rozczarowanych klientów, którzy proszą o zwrot pieniędzy. Krótko mówiąc, każda część projektu aplikacji powinna zużywać absolutnie minimalną ilość energii.
- Prywatność i ochrona: Ten obszar jest nieco trudny, ponieważ prywatność i bezpieczeństwo są bardzo subiektywne. Pomysły na to, co jest bezpieczne, a co powinno być prywatne, nieustannie się zmieniają, zwłaszcza gdy wymieniamy je dla wygody. Na przykład większość z nas czuje się nieswojo z powodu wszczepialnych czujników, które pozwalają naszym pracodawcom śledzić nasze ruchy, ale pracownicy szwedzkiego start-upu Epic entre chętnie przyjmują zastrzyki – a nawet organizują przyjęcia dla innych, którzy również chcą mieć wszczepialną technologię. Jako główny motywator wymieniają wygodę wszczepialnych urządzeń identyfikacyjnych. Pomyśl też o wszystkich obawach związanych z zakupami online na początku XXI wieku. Wiele z tych obaw się spełniło, w tym kradzież tożsamości i powszechne oszustwa, ale większość z nas z radością wymienia swoje bezpieczeństwo na wygodę robienia zakupów w domu. Nadal, przestępcy wiedzą, że posiadanie większej liczby urządzeń podłączonych do sieci, które można przeniknąć, oznacza więcej okazji do oszustw i kradzieży. Dlatego ochrona przed kradzieżą tożsamości, a także ogólne bezpieczeństwo i prywatność muszą być wbudowane zarówno w same sieci, jak i aplikacje, z których korzystają urządzenia. Im więcej ścian trzeba włamać, tym mniej motywacji i możliwości mają przestępcy.
- Trzymanie się tego, co wiesz, nie uratuje cię: nawet jeśli zdecydujesz, że nie chcesz pracować nad rozwojem IoT, nadal będziesz musiał rozważyć IoT, kiedy coś opracujesz. Pomyśl o tym w ten sposób: szacuje się, że 35,6 miliona ludzi ma w swoich domach głośniki obsługujące głos. W tej chwili zwykle używają ich do uzyskiwania dostępu do własnych stron internetowych firmy (jak użytkownicy Amazon Echo zamawiający rzeczy z Amazon). Ale ta możliwość będzie się rozszerzać, a użytkownicy będą oczekiwać, że będą mogli uzyskać dostęp do dowolnej strony internetowej z niemal dowolnego urządzenia IoT. Więc to tylko kwestia czasu, zanim, podobnie jak w przypadku projektowania responsywnego, będziesz musiał założyć, że duża część użytkowników witryny będzie pochodzić z urządzenia IoT i odpowiednio ją zbuduje.
Języki, które musisz teraz znać
Tak więc marsz rozwoju IoT jest w zasadzie nieunikniony i będziesz musiał zacząć używać pewnych języków, gdy zaczniesz tworzyć dla IoT. Istnieje wiele języków programowania, które są obecnie używane, ale to te są najczęściej używane przez programistów IoT.
- C: Obecnie jest to częsty wybór, ponieważ jest to usprawniony język, który dobrze współpracuje z urządzeniami o ograniczonej pamięci. Jednak gdy urządzenia staną się bardziej zaawansowane, możliwości C zostaną przewyższone.
- C++: Jest to obecnie najbardziej złożony z powszechnie używanych języków, ponieważ jest potężny, ale wciąż dość zwinny. Niestety, jego złożoność oznacza, że nie jest on zbyt szeroko stosowany, ponieważ większość urządzeń IoT nie jest w stanie go obecnie obsłużyć. Może to oznaczać, że nie zostanie przyjęty również w przyszłości, ponieważ programiści wymyślają sposoby radzenia sobie z problemami programistycznymi z językami wyższego poziomu i częściej używanymi.
- Java: Java jest jednym z najczęściej nauczanych języków programowania, więc prawie każdy wie, jak go używać. Co więcej, choć nie jest tak wydajny jak C++, jest jednak łatwiejszy w obsłudze dla ograniczonych pamięci dzisiejszych urządzeń IoT. Połącz te dwie rzeczy – jego szerokie zastosowanie i dopasowanie do większości aktualnych potrzeb programistycznych – i masz jeden z najpopularniejszych języków programowania.
- Python: Jest to obecnie drugi duży język w rozwoju IoT, z wielu tych samych powodów, co Java. Jest dobrze ugruntowany, szeroko nauczany i elastyczny. Jedną wielką rzeczą, która się dzieje, jest Raspberry Pi. Jako główny język programowania Pi, Python ma kluczowe znaczenie dla rozwoju IoT. Moc Pi, mały rozmiar i niska cena oznaczają, że jest idealny dla uczących się i eksperymentatorów, a obecnie jest używany we wszystkim, od badań robotyki po budowę całkiem prostych kamer aktywowanych ruchem.
Przyszłość IoT i rozwoju sieci
To może być czas eksperymentów i dzikich spekulacji, ale wciąż na horyzoncie widać wyraźne zmiany. Witryny internetowe nie będą jedynym miejscem, w którym konsumenci wyszukują i kupują produkty. Aplikacje i czujniki do kontroli zapasów, które śledzą wydajność pracowników biurowych, staną się tak powszechne w codziennych czynnościach ludzi, jak inteligentne grzejniki i elektroniczne nianie z dostępem do Internetu. W dziedzinie IoT Google i Apple albo będą musiały nauczyć się grać razem, albo jedno zje drugie, bo ostatecznie wszystko będzie musiało działać bezproblemowo.
Eksperci są jednak pewni, że największym wyzwaniem w szczególności dla twórców stron internetowych będzie zmiana sposobu myślenia. Zamiast zastanawiać się nad poszczególnymi urządzeniami i sposobem, w jaki mogą korzystać z Internetu, programiści będą musieli wykorzystywać obszerne dane użytkowników do kształtowania usług, prawie niezależnie od produktu.
Gdzie IoT może mieć wpływ na rozwój sieci w przyszłości
- Aplikacje dla sieci, nie tylko dla urządzeń: W tej chwili aplikacje na urządzenia IoT działają jak rozwiązania na zamówienie dla tych konkretnych produktów. Deweloperzy wymyślają fajną rzecz, którą chcieliby zrobić z urządzeniem, i zabrali się za tworzenie instrukcji do tego. Jednak w przyszłości programiści IoT będą musieli zacząć myśleć szerzej. Zamiast wymyślać aplikacje dla pojedynczych urządzeń, musisz mieć możliwość tworzenia aplikacji działających w sieci. Pomyśl o tym w ten sposób: w tej chwili sieci takie jak Wink łączą wszystkie urządzenia IoT w domu pod jednym głównym pilotem, ale większość aplikacji, które zbierają dane, udostępniają informacje lub wykonują instrukcje, nadal znajduje się w poszczególnych urządzeniach. W przyszłości łączność IoT sprawi, że najpotężniejsze aplikacje będą znajdować się w sieci, a nie w urządzeniach. W pewnym sensie sieć stanie się bardziej inteligentna,
- Coraz bardziej spersonalizowane strony internetowe: w miarę jak urządzenia będą mogły gromadzić i udostępniać między sobą coraz więcej danych, przekonasz się, że sposób przeglądania Internetu ulegnie zmianie. Strony internetowe będą automatycznie mogły dostarczać klientom usługi dostosowane do ich potrzeb, w oparciu o dane generowane przez ich urządzenia i produkty IoT. Dzięki temu ich podłączona lodówka, pralka i inne urządzenia wysyłały dane do ich ulubionego internetowego sklepu spożywczego, więc po otwarciu strony internetowej automatycznie pokazywała im zszywki, których brakowało. Wymagałoby to oczywiście zaawansowanego rozwoju zaplecza, ponieważ witryna sklepu spożywczego musiałaby być w stanie komunikować się z każdą marką i rodzajem urządzenia na rynku. I dopóki nie zostaną ustalone standardy branżowe, będzie to naprawdę bardzo trudne zadanie.
- Integracja na wszystkich poziomach: W przyszłości firmy będą chciały móc natychmiast reagować na wymagania klientów. Na przykład linie produkcyjne będą dynamicznie reagować na wzrost zakupów w witrynie. Oznacza to, że wszelkie opracowane przez Ciebie aplikacje będą musiały zostać zintegrowane z całymi liniami produkcyjnymi i łańcuchami dostaw. W rzeczywistości ta rozległa integracja jest powodem, dla którego standaryzacja jest obecnie tak dużym wyzwaniem.
- Ekrany to nie jedyny sposób: w przyszłości wiele urządzeń może komunikować się ze sobą bez większego wpływu na interakcję użytkownika. Podobnie jak w przypadku Nest, użytkownicy mogą wchodzić w interakcje tylko z prostym panelem kontrolnym, a reszta danych będzie gromadzona przez czujniki i aplikacje, z którymi użytkownicy nie będą wchodzić w bezpośrednią interakcję. Oznacza to, że projektowanie front-endu będzie prostsze, a wszystko inne będzie znacznie bardziej skomplikowane.
- Nowe zagadnienia dotyczące testowania: podczas testowania aplikacji IoT trzeba będzie pomyśleć o zupełnie nowych koncepcjach. Czy użytkownicy będą mogli kontrolować swoje urządzenia IoT w przypadku opóźnień w sieci? Co się stanie, jeśli połączenia sieciowe, zarówno między użytkownikiem a urządzeniem, jak i między urządzeniem a serwerem, spowalniają lub są przerywane? Czy istnieje sposób na zachowanie funkcjonalności aplikacji przy jednoczesnym zmniejszeniu zużycia energii? To tylko niektóre z rzeczy, o które programiści będą musieli stale zadawać sobie pytania na etapie testowania.
Języki, system operacyjny i protokoły, które warto znać
W tym miejscu prognozy mogą być naprawdę rozmyte. Jeśli rozwój języków programowania w przeszłości czegoś nas nauczył, to tego, że nie możemy zakładać, że jutrzejsza technologia będzie miała wiele wspólnego z dzisiejszą. Mimo to mamy kilka powodów, by sądzić, że te narzędzia będą przydatne.
- JavaScript: jest już popularny i używany, więc wielu uważa, że JavaScript, a zwłaszcza środowisko Node.js, będzie nadal zyskiwać na popularności. Przynajmniej będzie to jedna z najbardziej użytecznych strzał w twoim kołczanie rozwoju IoT.
- Weave: Mniej język, a bardziej protokół komunikacji maszyna-maszyna, Weave współpracuje z systemem operacyjnym Brillo firmy Google, aby umożliwić urządzeniom tanią i szybką komunikację między sobą. Brillo to w zasadzie okrojona wersja Androida, dzięki czemu jest bardziej użyteczna na urządzeniach o ograniczonych możliwościach. Wymaga również mniej energii niż Android, co czyni go tańszą i bardziej atrakcyjną opcją dla rozwoju IoT.
- Swift: To jest język open source firmy Apple. Działa z iOS, MacOS i HomeKit (systemem operacyjnym, którego Apple używa do łączenia wszystkich swoich urządzeń IoT). Jeśli chcesz wejść na parter z wszechświatem Apple IoT, musisz znać ten.
- Języki, które jeszcze nie zostały wynalezione: możemy tylko spekulować, jakie to będą języki, a jeśli historia ma się wydarzyć, mylimy się we wszystkich naszych przewidywaniach.
Wniosek
Wejście do epoki Internetu przedmiotów jest w równym stopniu ekscytujące, co wymagające. Są rzeczy, których możemy się teraz nauczyć i zrobić, ale tak naprawdę w przyszłości jest znacznie więcej do nauczenia się i odkrycia. Wiemy, że przenosimy się do lepiej połączonego świata, w którym masy danych i połączeń sieciowych kształtują każdą część naszego życia, ale nikt nie może zgadywać, jak to faktycznie wygląda. Wiemy, że JavaScript jest teraz przydatny i może stać się podstawą rozwoju IoT, ale to niekoniecznie oznacza, że tak się stanie. Wiemy, że każda nowa szansa generuje nowe wyzwania, a każde nowe rozwiązanie stwarza własne możliwości i wyzwania, których nawet nie jesteśmy w stanie przewidzieć.
Oczywiście wyzwaniem, jakim jest uczenie się i wymyślanie nowych rozwiązań, jest to, co przyciąga większość programistów w tej dziedzinie, więc będzie wiele rzeczy, które Cię zainteresują — i zatrudnią — na nadchodzące dziesięciolecia. I to jest prawdopodobnie najważniejsza rzecz, jaką twórcy stron internetowych powinni wiedzieć o Internecie rzeczy.