También compartimos código de estado e interfaz de usuario principalmente entre objetivos. Incluso tenemos casos en los que se comparte código entre los objetivos web y de TV, aunque en cuanto a la interfaz de usuario se ve completamente diferente. Pero en cuanto al estado, puede ser muy similar y es posible que desees aprovechar tus habilidades allí. Y para compartir, utilizamos diferentes técnicas.
Una de ellas son los Contextos de Creación de React, que son básicamente muy poderosos y sencillos. La idea aquí es que en la base de código común, estás utilizando componentes que están disponibles en tu contexto. Entonces, en este caso, a nivel de objetivo, puedes definir qué componentes pasar y tu código común se vuelve agnóstico a lo que vayas a pasar y puede hacer cumplir la interfaz de esos componentes con TypeScript.
Con las banderas de características y las audiencias asignadas, otra técnica popular y muy poderosa porque básicamente con las banderas de características puedes alternar tu componente, de manera sencilla. Pero con la audiencia, complementaria a esto, puedes definir gradualmente en qué condiciones deseas alternarlo. Y digamos que tienes un incidente con algo, digamos que no has probado que haya una fuga de memoria en tu nueva y elegante función en ciertos objetivos, incluso puedes especificar las versiones para los objetivos en los que deseas desactivarlo. Seguro, tenemos modelos específicos de objetivo. Como legado, también tenemos el intercambio de modelos. No soy un gran fanático de este enfoque, pero el intercambio de modelos, sí, ha estado con nosotros durante un tiempo y todavía está presente, pero la principal desventaja de esto es que debes proporcionar un modelo con una interfaz completamente igual sin ninguna ayuda de TypeScript o cualquier otra cosa.
Y solo quiero recordarte, en las TVs, todos los objetivos son diferentes, por lo que tenemos mucho código compartido, pero eso no significa que esté garantizado que este código compartido vaya a funcionar de inmediato, por lo que necesitamos probar algo. Bueno, utilizar una sala de cine como en esta diapositiva es genial, pero requiere mucho espacio en tu hogar y al menos necesitarás un buen cono de hierro durante el verano. Y para ser sincero contigo, comenzamos con este enfoque donde teníamos salas de cine. Aún tenemos esas en nuestra oficina, pero encontramos algo mejor para el trabajo remoto. Y en esta diapositiva puedes ver una versión simplificada de alto nivel de la arquitectura de nuestro laboratorio virtual remoto, donde puedes ver que hay dos puntos de entrada. Uno es una aplicación web y el otro son pruebas de extremo a extremo. Entonces, con la aplicación web, puedes, sí, es realmente útil para, como, pruebas exploratorias y pruebas manuales cuando las pruebas de extremo a extremo aún pueden acceder a nuestros dispositivos remotos a través de la API. La capa de API es responsable de la autorización, el encolamiento y la intermediación de las solicitudes al servicio de Raspberry Pi. Ahora, en la Raspberry Pi, tenemos esta responsabilidad compartida de controlar la cámara frente al televisor para grabar y controlar el propio televisor para encenderlo, apagarlo, reiniciarlo y controlar el control remoto. Y déjame mostrarte cómo se ve la interfaz. Así que comenzamos en la página, podemos ocupar el dispositivo ahora, el dispositivo se reserva para nosotros. Entonces, cuando estoy haciendo pruebas, nadie más estará usando este dispositivo. Y como puedes ver, puedo usar solo la interfaz web, puedo usar este elegante control remoto para controlarlo. Para algunos de los objetivos, incluso implementamos un depurador. Y para aquellos que trabajaron con Cordova hace muchos años antes de que Chrome introdujera el depurador remoto este complemento puede resultar familiar, pero ha estado duplicado durante un tiempo y estamos respaldando su propia versión. También quiero llamar tu atención sobre el hecho, no se ha cargado, aquí vamos, que los dispositivos, esos dispositivos, se encuentran en diferentes ubicaciones. Entonces, algunos de ellos están ubicados en Polonia, otros en el Reino Unido y definitivamente no en tu hogar.
Comments