O que os desenvolvedores da Web precisam saber sobre a Internet das Coisas?
Publicados: 2017-10-30O desenvolvimento da Web surgiu no início da Era da Internet, quando começamos a fazer computadores mais rápidos e poderosos conversarem entre si por linhas telefônicas.
À medida que a Internet se tornou mais sofisticada; desenvolvimento web tornou-se mais técnico e mais profissional. Agora, estamos deixando para trás a Era da Internet e entrando na Era da Internet das Coisas (IoT), onde dispositivos que nunca foram considerados computadores são capazes de conversar entre si, com usuários e servidores de maneiras que só agora estamos conseguindo. Imagine.
Hoje, não vamos necessariamente a sites em telas de computador para comprar coisas. Em vez disso, pedimos ao Alexa para comprar algo por meio do Amazon Echo ativado por voz. Não esperamos simplesmente chegar em casa para trocar o termostato. Conectamos nosso Nest ao nosso smartphone e dizemos para ligar o aquecimento quando nosso telefone detecta que estamos a cerca de 30 minutos de casa.
No momento, achamos esse nível de conectividade bastante confortável, mas à medida que a era da Internet das Coisas avança, encontraremos nossos dispositivos sincronizando no trabalho, no lazer e em casa de maneiras sem precedentes. A IoT será tão disruptiva para nossas vidas como as conhecemos que é difícil imaginar com precisão como será o futuro, mas há uma coisa que sabemos com certeza. A IoT já teve um enorme impacto no desenvolvimento da Web, e seu impacto só deve crescer.
Isso significa que todos os desenvolvedores da Web precisarão considerar a IoT em algum momento. No interesse de estar à frente da curva, definimos tudo o que os desenvolvedores da Web precisam saber sobre a Internet das Coisas.
Desenvolvimento Web e a Internet das Coisas Agora
Estes são os dias do Velho Oeste do desenvolvimento da IoT. Há muita especulação e experimentação, com pouca padronização no momento (pelo menos cinco grandes organizações estão trabalhando em padrões de IoT simultaneamente). Portanto, não sabemos exatamente como as coisas vão se desenrolar. Mas podemos ver que certas áreas surgem repetidamente quando especialistas discutem o impacto da IoT no desenvolvimento da web hoje.
O impacto da IoT no desenvolvimento da Web agora
- O back-end está em todo lugar : agora, cada dispositivo é construído em seu próprio pequeno mundo. Cada empresa tem sua própria maneira de os dispositivos se conectarem e conversarem entre si. Cada dispositivo reúne seu próprio tipo de dados e cada dispositivo usa seus próprios tipos de comandos para funcionar. Isso significa que muitos centros de desenvolvimento de aplicativos simplesmente fazem com que seu aplicativo combine bem com outros aplicativos já estabelecidos. O Node.js ajuda nisso, pois surgiu como uma estrutura líder para estabelecer comunicações entre dispositivos IoT. Ainda assim, o problema dificilmente é resolvido.
- Interfaces precisam de simplicidade : Ninguém tem tempo para descobrir comandos complexos quando se trata de eletrodomésticos, então não há espaço para falta de clareza no painel de controle de uma cafeteira. Em outras palavras, as interfaces de usuário devem ser fáceis de entender e responsivas. Todas as ferramentas em seu cinto de usabilidade serão usadas ao projetar as interfaces de usuário para dispositivos IoT, especialmente porque a maioria das empresas deseja que seus produtos sejam controlados a partir de telefones inteligentes, bem como das próprias telas dos dispositivos. Os controles devem ser tão óbvios no telefone quanto na máquina. A complexidade só deve vir nos bastidores. O que o usuário precisa ver é um design limpo e lógico.
- Reduza a latência da rede : quando você pressiona um botão na impressora, espera que ela comece a imprimir imediatamente. Mas com dispositivos IoT, o comando vai da tela para o servidor para o dispositivo, em vez de da tela diretamente para o dispositivo. Essa etapa extra pode criar um buffer entre o comando e a ação, especialmente com conexões de rede lentas. Os usuários verão um produto que é lento ou ineficaz, nenhum dos quais eles desejam em suas vidas. Portanto, os desenvolvedores de IoT precisam projetar aplicativos que possam e lidarão com conexões lentas e até interrompidas, para que os usuários obtenham o que desejam de seus dispositivos.
- Pense no poder : Todos nós adoramos pensar no poder, certo? Espero que a resposta seja 'sim', porque os desenvolvedores de IoT terão que pensar em quanto poder de computação seus aplicativos ocupam em todos os pontos. Por quê? Porque a maioria dos dispositivos IoT são alimentados por bateria, sem fio e não têm muito espaço para chips de memória extensos. Quanto mais complexo o aplicativo, mais energia o chip terá que consumir por mais tempo, o que esgotará a bateria e levará a clientes decepcionados que pedirão seu dinheiro de volta. Em suma, cada parte do design de um aplicativo deve usar a quantidade mínima absoluta de energia.
- Privacidade e segurança : Esta área é um pouco difícil porque privacidade e segurança são muito subjetivas. As ideias sobre o que é seguro e o que deve ser mantido privado estão mudando constantemente, especialmente quando as trocamos por conveniência. Por exemplo, a maioria de nós se sente desconfortável com sensores implantáveis que permitem que nossos empregadores rastreiem nossos movimentos, mas os funcionários da startup sueca Epic estão dispostos a receber as injeções – e até mesmo organizar festas para outros que se voluntariam para ter tecnologia implantável também. Eles citam a conveniência dos dispositivos de identificação implantáveis como seu principal motivador. Pense também em todos os medos em torno das compras online no início dos anos 2000. Muitos desses medos se tornaram realidade, incluindo roubo de identidade e fraude generalizada, mas a maioria de nós troca alegremente nossa segurança pela conveniência de fazer compras em casa. Ainda assim, os criminosos sabem que ter mais dispositivos conectados a redes penetráveis significa mais oportunidades para fraudar e roubar. É por isso que a proteção contra roubo de identidade, bem como a segurança e a privacidade gerais, precisam ser incorporadas às próprias redes e aos aplicativos que os dispositivos usam. Quanto mais muros precisam ser arrombados, menos incentivos e oportunidades os criminosos têm.
- Manter o que você sabe que não o salvará : mesmo que você decida que não quer trabalhar no desenvolvimento de IoT, ainda terá que considerar a IoT ao desenvolver qualquer coisa. Pense desta forma: estima-se que 35,6 milhões de pessoas tenham alto-falantes habilitados para voz em suas casas. No momento, eles tendem a usá-los para acessar os próprios sites da empresa (como usuários do Amazon Echo que fazem pedidos da Amazon). Mas essa capacidade se expandirá e os usuários esperarão poder acessar qualquer site de praticamente qualquer dispositivo IoT. Portanto, é apenas uma questão de tempo até que, como o design responsivo, você tenha que assumir que uma grande proporção dos usuários de um site virá de um dispositivo IoT e será construído de acordo.
Os idiomas que você precisa saber agora
Portanto, a marcha do desenvolvimento da IoT é basicamente inevitável e você precisará começar a usar certas linguagens quando começar a desenvolver para IoT. Existem muitas linguagens de programação que estão sendo usadas hoje, mas essas são as mais frequentemente empregadas pelos desenvolvedores de IoT.
- C : Esta é uma escolha comum por enquanto, apenas porque é uma linguagem simplificada que funciona bem com dispositivos com memória limitada. Quando os dispositivos ficarem mais avançados, no entanto, os recursos do C serão superados.
- C++ :Esta é a mais complexa das linguagens comumente usadas agora, pois é poderosa, mas ainda bastante ágil. Infelizmente, sua complexidade significa que não está sendo adotado muito amplamente, pois a maioria dos dispositivos IoT não pode lidar com isso no momento. Portanto, isso pode significar que também não será adotado no futuro, pois os desenvolvedores descobrem maneiras de lidar com problemas de desenvolvimento com linguagens de nível mais alto e mais usadas.
- Java : Java está entre as linguagens de desenvolvimento mais comumente ensinadas, então quase todo mundo sabe como usá-lo. Além disso, embora não seja tão poderoso quanto o C++, é mais fácil lidar com as memórias limitadas dos dispositivos IoT atuais. Combine essas duas coisas – seu amplo uso e sua adequação às necessidades de desenvolvimento mais atuais – e você terá uma das linguagens de desenvolvimento mais populares.
- Python : Esta é a outra grande linguagem no desenvolvimento de IoT no momento, por muitos dos mesmos motivos que Java. É bem estabelecido, amplamente ensinado e flexível. Uma grande coisa para isso é o Raspberry Pi. Como a principal linguagem de programação do Pi, o Python é central para o desenvolvimento da IoT. O poder, o tamanho pequeno e o baixo preço do Pi significam que é ideal para alunos e experimentadores, e agora é usado em tudo, desde pesquisa de robótica até a construção de câmeras ativadas por movimento bastante simples.
O Futuro da IoT e do Desenvolvimento Web
Este pode ser um momento de experimentação e especulação selvagem, mas ainda há algumas mudanças claras no horizonte. Os sites não serão o único lugar onde os consumidores pesquisam e compram produtos. Aplicativos de controle de estoque e sensores que rastreiam a eficiência dos funcionários de escritório se tornarão tão comuns nas atividades cotidianas das pessoas quanto aquecedores inteligentes e babás eletrônicas acessíveis pela Internet. No domínio da IoT, Google e Apple terão que aprender a jogar juntos, ou um comerá o outro, porque eventualmente tudo isso terá que funcionar perfeitamente.
Os especialistas têm certeza, no entanto, de que o maior desafio para os desenvolvedores da Web em particular será a mudança de mentalidade. Em vez de pensar em dispositivos individuais e como eles podem usar a Internet, os desenvolvedores precisarão usar dados extensivos do usuário para moldar os serviços, quase independentemente do produto.
Onde a IoT provavelmente afetará o desenvolvimento da Web no futuro
- Aplicativos para redes, não apenas dispositivos : no momento, os aplicativos para dispositivos IoT funcionam como soluções sob medida para esses produtos específicos. Os desenvolvedores pensam em uma coisa legal que gostariam que um dispositivo fizesse e começaram a construir as instruções para isso. No futuro, no entanto, os desenvolvedores de IoT terão que começar a pensar de forma mais ampla. Em vez de criar aplicativos para dispositivos únicos, você precisará criar aplicativos que funcionem em uma rede. Pense desta forma: no momento, redes como o Wink conectam todos os dispositivos IoT de uma casa sob um controle remoto mestre, mas a maioria dos aplicativos que coletam dados, compartilham informações ou executam instruções ainda estão dentro dos dispositivos individuais. No futuro, a conectividade IoT verá os aplicativos mais poderosos instalados na rede, não nos dispositivos. De certa forma, a rede se tornará mais inteligente, fornecendo toda a análise de dados, coordenação e instruções, e os dispositivos e dispositivos ficarão mais burros, reduzidos a simples coletores de dados e seguidores de instruções.
- Sites cada vez mais personalizados : à medida que os dispositivos são capazes de coletar e compartilhar mais dados entre si, você descobrirá que as experiências de navegação na Internet mudarão. Os sites automaticamente poderão fornecer aos clientes um serviço personalizado, com base nos dados gerados por seus dispositivos e produtos IoT. Isso poderia ver sua geladeira, máquina de lavar e outros aparelhos conectados enviando dados para sua mercearia on-line favorita, para que, quando você abrisse o site, mostrasse automaticamente os grampos em que estavam com pouca quantidade. Isso exigiria algum desenvolvimento de back-end sofisticado, é claro, já que o site do supermercado teria que ser capaz de se comunicar com todas as marcas e tipos de aparelhos no mercado. E até que os padrões da indústria sejam definidos, isso será realmente uma tarefa muito difícil.
- Integração em todos os níveis : No futuro, as empresas desejarão poder responder instantaneamente às demandas dos clientes. Por exemplo, as linhas de produção responderão dinamicamente a um aumento nas compras no site. Isso significa que qualquer aplicativo que você desenvolver terá que se integrar a linhas de produção e cadeias de suprimentos inteiras. Na verdade, essa extensa integração é o motivo pelo qual a padronização é um grande desafio no momento.
- As telas não são a única maneira : no futuro, muitos dispositivos podem conversar entre si sem muito em termos de interação do usuário. Assim como no Nest, os usuários podem interagir apenas com um painel de controle simples, e o restante dos dados será coletado por sensores e aplicativos com os quais os usuários não interagem diretamente. Isso significa que o design do front-end será mais simples e todo o resto será muito mais complicado.
- Novas considerações de teste : ao testar um aplicativo de IoT, você precisará pensar em conceitos totalmente novos. Os usuários poderão controlar seu dispositivo IoT se a rede estiver atrasada? E se as conexões de rede, tanto entre o usuário e o dispositivo quanto entre o dispositivo e o servidor, ficarem lentas ou interrompidas? Existe uma maneira de manter a funcionalidade do aplicativo, mas reduzir o uso de energia? Essas são apenas algumas das coisas que os desenvolvedores terão que se perguntar constantemente na fase de testes.
Os idiomas, SO e protocolos que você pode precisar saber
É aqui que as previsões podem ficar realmente confusas. Se o desenvolvimento de linguagens de programação no passado nos ensinou alguma coisa, é que não podemos presumir que a tecnologia de amanhã terá muito em comum com a de hoje. Ainda assim, temos algumas razões para pensar que essas ferramentas serão úteis.
- JavaScript : já é popular e já está sendo usado, muitos pensam que o JavaScript, e particularmente o ambiente Node.js, continuará a crescer em popularidade. No mínimo, será uma das setas mais úteis em seu quiver de desenvolvimento de IoT.
- Weave : Menos uma linguagem e mais um protocolo de comunicação máquina a máquina, o Weave funciona com o Brillo OS do Google para permitir que os dispositivos se comuniquem de maneira barata e rápida. O Brillo é basicamente uma versão simplificada do Android, tornando-o mais útil para dispositivos com recursos limitados. Também requer menos energia do que o Android, tornando-se uma opção mais barata e atraente para o desenvolvimento de IoT.
- Swift : Esta é a linguagem de código aberto da Apple. Funciona com iOS, MacOS e HomeKit (o sistema operacional que a Apple está usando para conectar todos os seus dispositivos IoT). Se você quiser entrar no térreo com o universo IoT da Apple, precisará conhecer este.
- As linguagens que ainda não foram inventadas : podemos apenas especular sobre quais serão, e se a história é algo a seguir, estaremos muito errados em todas as nossas previsões.
Conclusão
Entrar na era da Internet das Coisas é emocionante e desafiador em medidas iguais. Há coisas que podemos aprender e fazer agora, mas, na verdade, há muito mais para aprender e descobrir no futuro. Sabemos que estamos nos movendo para um mundo mais conectado, onde massas de dados e conexões de rede moldam cada parte de nossas vidas, mas o que isso realmente parece é uma incógnita. Sabemos que o JavaScript é útil agora e pode crescer para formar a espinha dorsal do desenvolvimento da IoT, mas isso não significa necessariamente que será. Sabemos que cada nova oportunidade traz novos desafios, e cada nova solução cria suas próprias oportunidades e desafios, que nem podemos começar a antecipar.
Claro, o desafio de aprender e inventar novas soluções é o que atrai a maioria dos desenvolvedores para o campo, então haverá muito para mantê-lo interessado – e empregado – nas próximas décadas. E essa é provavelmente a coisa mais importante para os desenvolvedores da Web saberem sobre a Internet das Coisas.