¿Qué necesitan saber los desarrolladores web sobre el Internet de las cosas?
Publicado: 2017-10-30El desarrollo web surgió al comienzo de la era de Internet, cuando comenzamos a hacer que las computadoras más rápidas y poderosas se comuniquen entre sí a través de líneas telefónicas.
A medida que Internet se volvió más sofisticado; el desarrollo web se volvió más técnico y más profesional. Ahora, estamos dejando atrás la era de Internet y entrando en la era de Internet de las cosas (IoT), en la que los dispositivos que nunca se consideraron computadoras pueden comunicarse entre sí, con los usuarios y con los servidores de formas en las que apenas somos capaces de hacerlo. imaginar.
Hoy en día, no necesariamente nos dirigimos a sitios web en las pantallas de las computadoras para comprar cosas. En cambio, le pedimos a Alexa que compre algo a través de nuestro Amazon Echo activado por voz. No esperamos simplemente hasta que estemos en casa para cambiar el termostato. Vinculamos nuestro Nest a nuestro teléfono inteligente y le decimos que encienda la calefacción cuando nuestro teléfono detecta que estamos a unos 30 minutos de la casa.
En este momento, encontramos este nivel de conectividad bastante cómodo, pero a medida que avanza la era de Internet de las cosas, encontraremos que nuestros dispositivos se sincronizan en el trabajo, el juego y el hogar de formas sin precedentes. IoT será tan perjudicial para nuestras vidas tal como las conocemos que es difícil imaginar con precisión cómo será el futuro, pero hay una cosa que sabemos con certeza. IoT ya ha tenido un impacto masivo en el desarrollo web, y su impacto solo crecerá.
Eso significa que todos los desarrolladores web deberán considerar IoT en algún momento. Con el fin de adelantarnos a la curva, hemos establecido todo lo que los desarrolladores web necesitan saber sobre el Internet de las cosas.
Desarrollo web e Internet de las cosas ahora
Estos son los días del Lejano Oeste del desarrollo de IoT. Hay mucha especulación y experimentación, con poca estandarización en este momento (al menos cinco organizaciones importantes están trabajando en estándares de IoT simultáneamente). Así que no sabemos exactamente cómo resultarán las cosas. Pero podemos ver que ciertas áreas surgen una y otra vez cuando los expertos discuten el impacto de IoT en el desarrollo web actual.
El impacto de IoT en el desarrollo web ahora
- El back-end está por todas partes : en este momento, cada dispositivo está construido en su propio pequeño mundo. Cada empresa tiene su propia forma de que los dispositivos se conecten y hablen entre sí. Cada dispositivo recopila su propio tipo de datos y cada dispositivo utiliza su propio tipo de comandos para funcionar. Eso significa que muchos centros de desarrollo de aplicaciones se centran simplemente en hacer que su aplicación encaje bien con otras aplicaciones ya establecidas. Node.js ayuda con esto, ya que se ha convertido en un marco líder para establecer comunicaciones entre dispositivos IoT. Aún así, el problema está difícilmente resuelto.
- Las interfaces necesitan simplicidad : nadie tiene tiempo para descifrar comandos complejos cuando se trata de electrodomésticos, por lo que no hay espacio para la falta de claridad en el panel de control de una cafetera. En otras palabras, las interfaces de usuario deben ser fáciles de aprender y receptivas. Todas las herramientas en su cinturón de usabilidad se utilizarán al diseñar las interfaces de usuario para dispositivos IoT, especialmente porque la mayoría de las empresas querrán que sus productos se controlen desde teléfonos inteligentes y desde las propias pantallas de los dispositivos. Los controles deben ser tan obvios en el teléfono como lo son en la máquina. La complejidad solo debería venir detrás de escena. Lo que el usuario necesita ver es un diseño limpio y lógico.
- Mitigar la latencia de la red : cuando presiona un botón en su impresora, espera que comience a imprimir de inmediato. Pero con los dispositivos IoT, el comando va de la pantalla al servidor y al dispositivo, en lugar de ir directamente de la pantalla al dispositivo. Ese paso adicional podría crear un búfer entre el comando y la acción, especialmente con conexiones de red lentas. Los usuarios verán un producto que es lento o ineficaz, ninguno de los cuales quieren en sus vidas. Por lo tanto, los desarrolladores de IoT tienen que diseñar aplicaciones que puedan y puedan manejar conexiones lentas e incluso interrumpidas, para que los usuarios obtengan lo que quieren de sus dispositivos.
- Piensa en el poder : a todos nos encanta pensar en el poder, ¿verdad? Con suerte, la respuesta es 'sí' porque los desarrolladores de IoT tendrán que pensar en cuánta potencia de cómputo consumen sus aplicaciones en cada punto. ¿Por qué? Porque la mayoría de los dispositivos IoT funcionan con baterías, son inalámbricos y no tienen mucho espacio para chips de memoria extensos. Cuanto más compleja sea la aplicación, más energía tendrá que consumir el chip durante más tiempo, lo que agotará la batería y provocará clientes decepcionados que pedirán que les devuelvan su dinero. En resumen, cada parte del diseño de una aplicación debe usar la cantidad mínima absoluta de energía.
- Privacidad y seguridad : esta área es un poco difícil porque la privacidad y la seguridad son muy subjetivas. Las ideas sobre lo que es seguro y lo que debe mantenerse en privado cambian constantemente, especialmente cuando las intercambiamos por conveniencia. Por ejemplo, la mayoría de nosotros nos sentimos incómodos con los sensores implantables que permiten a nuestros empleadores rastrear nuestros movimientos, pero los empleados de la startup sueca Epic entre están dispuestos a recibir las inyecciones, e incluso organizan fiestas para otros que también se ofrecen como voluntarios para tener tecnología implantable. Citan la conveniencia de los dispositivos de identificación implantables como su principal motivador. Piense también en todos los temores en torno a las compras en línea a principios de la década de 2000. Muchos de esos temores se han hecho realidad, incluido el robo de identidad y el fraude generalizado, pero la mayoría de nosotros cambia felizmente nuestra seguridad por la comodidad de comprar desde nuestros hogares. Aún así, los delincuentes saben que tener más dispositivos conectados a redes penetrables significa más oportunidades para estafar y robar. Es por eso que la protección contra el robo de identidad, así como la seguridad y la privacidad en general, deben integrarse tanto en las propias redes como en las aplicaciones que utilizan los dispositivos. Cuantos más muros se deban derribar, menos incentivos y oportunidades tendrán los delincuentes.
- Cumplir con lo que sabe no lo salvará : incluso si decide que no quiere trabajar en el desarrollo de IoT, aún tendrá que considerar IoT cuando desarrolle cualquier cosa. Piénselo de esta manera: se estima que 35,6 millones de personas tienen altavoces habilitados para voz en sus hogares. En este momento, tienden a usarlos para acceder a los propios sitios web de la empresa (como los usuarios de Amazon Echo que ordenan cosas de Amazon). Pero esta capacidad se expandirá y los usuarios esperarán poder acceder a cualquier sitio web desde casi cualquier dispositivo IoT. Por lo tanto, es solo cuestión de tiempo antes de que, al igual que el diseño receptivo anterior, tenga que asumir que una gran proporción de los usuarios de un sitio web provendrán de un dispositivo IoT y se construirán en consecuencia.
Los idiomas que necesita saber ahora
Por lo tanto, la marcha del desarrollo de IoT es básicamente inevitable y deberá comenzar a usar ciertos lenguajes cuando comience a desarrollar para IoT. Hay muchos lenguajes de programación que se utilizan hoy en día, pero estos son los que emplean con mayor frecuencia los desarrolladores de IoT.
- C : Esta es una opción común por ahora, solo porque es un lenguaje simplificado que funciona bien con dispositivos que tienen memoria limitada. Sin embargo, una vez que los dispositivos sean más avanzados, las capacidades de C serán superadas.
- C++ : este es el más complejo de los lenguajes de uso común ahora, ya que es poderoso pero aún bastante ágil. Desafortunadamente, su complejidad significa que no se está adoptando demasiado, ya que la mayoría de los dispositivos IoT no pueden manejarlo en este momento. Eso puede significar que tampoco se adoptará en el futuro, ya que los desarrolladores encuentran formas de manejar los problemas de desarrollo con lenguajes de mayor nivel y de uso más común.
- Java : Java se encuentra entre los lenguajes de desarrollo que se enseñan con mayor frecuencia, por lo que casi todos saben cómo usarlo. Además, aunque no es tan poderoso como C ++, es más fácil de manejar para las memorias limitadas de los dispositivos IoT de hoy. Combine estas dos cosas, su amplio uso y su idoneidad para la mayoría de las necesidades de desarrollo actuales, y tendrá uno de los lenguajes de desarrollo más populares.
- Python : este es el otro gran lenguaje en el desarrollo de IoT en este momento, por muchas de las mismas razones que Java. Está bien establecido, ampliamente enseñado y flexible. Una gran cosa a su favor es la Raspberry Pi. Como el principal lenguaje de programación de Pi, Python es fundamental para el desarrollo de IoT. La potencia, el tamaño pequeño y el precio bajo de Pi significan que es ideal para estudiantes y experimentadores, y ahora se usa en todo, desde la investigación robótica hasta la construcción de cámaras bastante simples activadas por movimiento.
El futuro del IoT y el desarrollo web
Este podría ser un momento de experimentación y especulación salvaje, pero todavía hay algunos cambios claros en el horizonte. Los sitios web no serán el único lugar donde los consumidores investiguen y compren productos. Las aplicaciones de control de inventario y los sensores que rastrean la eficiencia de los trabajadores de oficina se volverán tan comunes en las actividades cotidianas de las personas como los calentadores inteligentes y los monitores de bebés con acceso a Internet. En el ámbito de IoT, Google y Apple tendrán que aprender a jugar juntos, o uno se comerá al otro, porque eventualmente todo esto tendrá que funcionar a la perfección.
Sin embargo, los expertos están bastante seguros de que el mayor desafío para los desarrolladores web en particular será el cambio de mentalidad. En lugar de pensar en dispositivos individuales y cómo podrían usar Internet, los desarrolladores necesitarán usar una gran cantidad de datos de usuario para dar forma a los servicios, casi independientemente del producto.
Dónde es probable que IoT afecte el desarrollo web en el futuro
- Aplicaciones para redes, no solo para dispositivos : en este momento, las aplicaciones para dispositivos IoT actúan como soluciones a medida para esos productos específicos. Los desarrolladores piensan en algo genial que les gustaría que hiciera un dispositivo y se ponen a construir las instrucciones para eso. Sin embargo, en el futuro, los desarrolladores de IoT tendrán que empezar a pensar de manera más amplia. En lugar de crear aplicaciones para dispositivos individuales, deberá poder crear aplicaciones que funcionen en una red. Piénselo de esta manera: en este momento, las redes como Wink conectan todos los dispositivos IoT de un hogar bajo un control remoto maestro, pero la mayoría de las aplicaciones que recopilan datos, comparten información o ejecutan instrucciones todavía están dentro de los dispositivos individuales. En el futuro, la conectividad IoT verá las aplicaciones más poderosas ubicadas dentro de la red, no dentro de los dispositivos. En cierto sentido, la red se volverá más inteligente, proporcionando todo el análisis de datos, la coordinación y las instrucciones, y los dispositivos y aparatos se volverán más tontos, reducidos a simples recolectores de datos y seguidores de instrucciones.
- Sitios web cada vez más personalizados : a medida que los dispositivos puedan recopilar y compartir más datos entre sí, descubrirá que las experiencias de navegación en Internet cambiarán. Los sitios web podrán brindar automáticamente a los clientes un servicio personalizado, basado en los datos generados por sus dispositivos y productos IoT. Esto podría hacer que su refrigerador, lavadora y otros electrodomésticos conectados enviaran datos a su tienda de comestibles en línea favorita, de modo que cuando abriera el sitio web, automáticamente les mostraría los alimentos básicos que les faltaban. Por supuesto, esto requeriría un desarrollo back-end sofisticado, ya que el sitio web de la tienda de comestibles tendría que poder comunicarse con todas las marcas y tipos de electrodomésticos del mercado. Y hasta que se establezcan los estándares de la industria, será una tarea muy difícil.
- Integración a todos los niveles : en el futuro, las empresas querrán poder responder instantáneamente a las demandas de los clientes. Por ejemplo, las líneas de producción responderán dinámicamente a un aumento en las compras del sitio web. Eso significa que cualquier aplicación que desarrolle tendrá que integrarse en líneas de producción y cadenas de suministro completas. De hecho, esta amplia integración es la razón por la cual la estandarización es un desafío tan importante en este momento.
- Las pantallas no son la única forma : en el futuro, muchos dispositivos pueden comunicarse entre sí sin mucha interacción con el usuario. Al igual que con Nest, los usuarios solo pueden interactuar con un panel de control simple, y el resto de los datos serán recopilados por sensores y aplicaciones con los que los usuarios no interactuarán directamente. Eso significa que el diseño frontal será más simple y todo lo demás será mucho más complicado.
- Nuevas consideraciones de prueba : cuando pruebe una aplicación de IoT, deberá pensar en conceptos completamente nuevos. ¿Podrán los usuarios controlar su dispositivo IoT si la red se retrasa? ¿Qué sucede si las conexiones de red, tanto entre el usuario y el dispositivo como entre el dispositivo y el servidor, son lentas o se interrumpen? ¿Hay alguna manera de mantener la funcionalidad de la aplicación pero reducir el uso de energía? Estas son solo algunas de las cosas que los desarrolladores tendrán que preguntarse constantemente en la etapa de prueba.
Los idiomas, el sistema operativo y los protocolos que podría necesitar saber
Aquí es donde las predicciones pueden volverse realmente confusas. Si el desarrollo de los lenguajes de programación en el pasado nos ha enseñado algo, es que no podemos asumir que la tecnología del mañana tendrá mucho en común con la de hoy. Aún así, tenemos algunas razones para pensar que estas herramientas serán útiles.
- JavaScript : ya es popular y ya se usa, por lo que muchos piensan que JavaScript, y en particular el entorno Node.js, seguirá creciendo en popularidad. Como mínimo, será una de las flechas más útiles en su carcaj de desarrollo de IoT.
- Weave : Menos un lenguaje y más un protocolo de comunicación de máquina a máquina, Weave funciona con el sistema operativo Brillo de Google para permitir que los dispositivos se comuniquen entre sí de forma económica y rápida. Brillo es básicamente una versión reducida de Android, lo que lo hace más útil para dispositivos con capacidades limitadas. También requiere menos energía que Android, lo que lo convierte en una opción más económica y atractiva para el desarrollo de IoT.
- Swift : Este es el lenguaje de código abierto de Apple. Funciona con iOS, MacOS y HomeKit (el sistema operativo que utiliza Apple para conectar todos sus dispositivos IoT). Si desea ingresar a la planta baja con el universo IoT de Apple, deberá conocer este.
- Los idiomas que aún no se han inventado : solo podemos especular sobre cuáles serán, y si la historia sirve de algo, estaremos bastante equivocados en todas nuestras predicciones.
Conclusión
Entrar en la era del Internet de las cosas es emocionante y desafiante a partes iguales. Hay cosas que podemos aprender y hacer ahora, pero en realidad, hay mucho más que aprender y descubrir en el futuro. Sabemos que nos estamos moviendo hacia un mundo más conectado sin problemas, donde una gran cantidad de datos y conexiones de red dan forma a cada parte de nuestras vidas, pero nadie sabe cómo se ve eso en realidad. Sabemos que JavaScript es útil ahora y podría convertirse en la columna vertebral del desarrollo de IoT, pero eso no significa necesariamente que lo hará. Sabemos que cada nueva oportunidad genera nuevos desafíos, y cada nueva solución crea sus propias oportunidades y desafíos, que ni siquiera podemos comenzar a anticipar.
Por supuesto, el desafío de aprender e inventar nuevas soluciones es lo que atrae a la mayoría de los desarrolladores al campo, por lo que habrá mucho para mantenerlo interesado y empleado durante las próximas décadas. Y eso es probablemente lo más importante que los desarrolladores web deben saber sobre el Internet de las cosas.