Platzi está comprometido con lograr que la educación sea en línea por defecto y que podamos tener el siguiente millón de profesionales en la industria tecnológica. Por esa razón es nuestro deber llevar los cursos a la mayor cantidad de dispositivos posibles como teléfonos Android, iOS, Chromecast.
En la actualidad soy el Product Manager de la aplicación móvil tanto en Android como en iOS y te quiero contar retos interesantes que hemos tenido y que estamos teniendo -y batallando- con la aplicación móvil.
Para comenzar, me gustaría contarte todas las características de Platzi que tenemos disponible en la Play Store:
Si tienes una suscripción podrás disfrutar de todos los cursos y carreras. Si estás disfrutando del curso de Programación Básica también tienes acceso a través de la aplicación en Android.
Una de las características más solicitadas es la descarga de las clases, desde la aplicación puedes descargar clases de manera individual o si deseas, puedes descargar todo el curso con un solo tap.
Esta característica está disponible para todos los dispositivos Android sin acceso al usuario root. Activar root en un celular Android no es buena idea si piensas en la seguridad de tu información.
Tenemos más de 100 cursos y debe existir una manera sencilla de poder encontrar lo que deseas, desde la aplicación móvil podrás buscar entre todos los cursos que Platzi te ofrece.
Sumado a la descargas de cursos, el modo offline te permite poder disfrutar de los cursos de Platzi estés donde estés, en el metro, el autobús hacia la universidad o el trabajo, una reunión familiar. El modo offline se activa cuando la aplicación detecta que has perdido conexión a internet y te permite navegar a todas las clases que hayas descargado en tu celular.
Seguimos mejorando la aplicación para Android y iOS y queremos tu opinión, puedes escribir en los comentarios al finalizar este artículo la característica que deseas para la aplicación.
Durante el desarrollo de la aplicación hemos tenido grandes momentos y algunos momentos un poco amargos, te contaré todo lo que hemos aprendido y lo que estamos resolviendo para que tengas la mejor experiencia con la aplicación en tu celular.
Cuando empezamos a desarrollar la aplicación para Android y iOS hicimos desarrollo tanto en Java como en Swift, esto nos permitió tener una aplicación 100% nativa. Sin embargo, es complejo escalar la aplicación en características o hacer cambios grandes en diseño porque hay que hacerlo dos veces. Esto último no es necesariamente malo pero dentro del equipo creíamos que podíamos hacer algo mejor para atacar ese problema y allí empezamos a trabajar con React Native.
En Platzi el 90% de nuestro front-end está construido en React, era natural escoger una tecnología como React Native por todo el conocimiento adquirido en los últimos cuatro años de trabajo con React.
Leonidas Esteban (@LeonidasEsteban en Twitter) se postuló junto a Victor Aliaga (@8766Dart en Twitter, Backend - Android/iOS developer) para migrar toda la aplicación móvil actual a React Native.
Fue complejo pero al final se logró, el 30 de Agosto de 2017 teníamos ya nuestra primera versión de la app de Platzi hecha 100% en React Native + algo de código nativo.
Y desde entonces hemos tenido mejoras sustanciales sobre todo en UI. Muchos más usuarios activos están usando la aplicación en Android en este momento versus cuando teníamos la aplicación 100% nativa en Java + Swift, ¿Por qué? Porque lanzamos actualizaciones mucho más seguido y los usuarios se enteran más de nosotros. Christian Van Der Henst (COO de Platzi nos insistía mucho en ese punto y sencillamente tenía razón), así que actualicen constantemente la aplicación y verán como aumenta la cantidad de usuarios en su aplicación.
No es un secreto la cantidad de versiones de Android y la fragmentación que existe, esto no es culpa del usuario.
Al existir tantas versiones de Android en una cantidad enorme de dispositivos hace que transmitir video sea algo complejo.
En la aplicación web de Platzi nosotros ofrecemos diferentes opciones de videos según el navegador, actualmente usamos nuestro propio CDN más un proveedor adicional en caso de que el CDN principal falle y tenemos como protocolos de transmisión:
-Si usas un navegador que no está en la lista probablemente estás disfrutando las clases de Platzi a través de HLS.-
Para el caso de aplicación para Android tenemos una opción de protocolo, HLS/ HLS en algunas versiones de Android tiene algunos problemas y estamos mejorando la transmisión de los videos para aumentar la compatibilidad con la mayor cantidad de dispositivos con Android posibles.
Hemos aprendido de muchos dispositivos desde gama baja hasta gama alta y en Android cada dispositivo es un mundo. Si deseas comentar en este artículo puedes dejar al final el modelo de celular y la versión de Android que usas.
Este es un punto clave en cualquier aplicación, los usuarios necesitan tener una aplicación que tenga tiempos de respuestas muy corto para disfrutar al máximo la experiencia de las animaciones, transiciones, reproducción de videos.
En Platzi nos hemos tomado esto muy en serio y hemos logrado optimizar la aplicación para una gran cantidad de dispositivos, probablemente en algunos celulares puede existir algún lag y podrá ser normal porque hay que tener en cuenta las aplicaciones en background.
Aún así no nos rendimos y dejamos al usuario la responsabilidad de eliminar lo que no use de la memoria o las aplicaciones en segundo plano para que ejecute mejor la aplicación, por esa razón seguimos investigando y tratando de sacarle el mejor provecho a React Native junto a complementos nativos para aumentar al máximo la velocidad de ejecución con la menor cantidad de recursos posible en cada dispositivo.
Sin duda cualquier sistema, sin excepción podrá tener algún error o bug en el ciclo de vida de dicha aplicación y es por eso que se debe crear una estrategia para reaccionar lo más rápido posible ante cualquier error.
En web es más sencillo porque un deploy se puede hacer en cualquier momento y ya todos los usuarios tendrán disponible el cambio, en Platzi hacemos en promedio unos 15 despliegues -deploys- al día.
Esto no es tan sencillo en el caso de aplicaciones móviles ya que depende del tiempo de respuesta de cada tienda, en el caso de Android es un poco más sencillo que en iOS porque puede estar disponible en cuestión de minutos un cambio, aunque hay que tener en cuenta que los usuarios no actualizan todos los días las aplicaciones así que pasarán algunos días hasta que todos los usuarios puedan tener la versión más actualizada de la aplicación.
Muchos usuarios en Android o iOS usarán el sistema de review de la tienda de aplicaciones para reportar un bug, esto es normal, muchos de ellos actualizarán el review una vez se haya solucionado el problema y por eso es importante contactarlos para que puedan darnos más estrellas.
No podemos tapar el sol con un dedo, Android es la mayoría en el mercado de sistemas operativos para celulares. Antes se creía que se debía lanzar primero en iOS y luego Android, ahora mismo eso no aplica y se debe tratar de dar una experiencia similar tanto en Android como en iOS.
Más allá de la fragmentación y la cantidad abismal de dispositivos, la gran mayoría de nuestros usuarios usan Android, por lo tanto seguiremos trabajando para que disfruten el mejor contenido de Platzi en sus celulares.
Si aún no tienes instalada la aplicación, puedes hacerlo a través de la Play Store https://play.google.com/store/apps/details?id=com.platzi.platzi&hl=es. No olvides calificar la aplicación con cinco estrellas. Te lo agradeceremos con cada actualización futura.
Si deseas ayudarnos, probando la aplicación en sus versiones Beta, puedes ingresar a esta URL con tu cuenta de Google -la misma que usas en Play Store- y registrarte para ser Beta tester de nuestra aplicación en Android. https://play.google.com/apps/testing/com.platzi.platzi
Hola como esta, soy una afortunada al poder contar con Platzi, siempre e soñado con mi propia empresa y se que platzi es el camino correcto para avanzar, quiero desarrollar un proyecto comprendo la diferencia entre aps híbrida, bridge y nativas, quisiera su valiosa opinión en esto: Mi proyecto requiere de una aplicación que pueda obtener acceso al giroscopio, acelerómetro, GPS, cámara, brújula, servicios de geoposición en tiempo real.
¿Podría llevarse a cabo con Reac Native? que tecnologia me aconsejan teniendo en cuenta Kotlin, Dart, Java, React Native, y React Native sí podría utilizar eficazmente estos recursos?
Espero algun dia presentarles este proyecto. Gracias Platzi y comunidad.
Aun no se les ocurre hacer una App para usar en Windows?.. Pesan demasiado los vídeos para poder descargar los que necesito en el celular :S en cambio en la Laptop hay mucho espacio y es más cómodo de ver…
Quitaron el soporte para Chromecast, que mala onda