>

Entrevista a Xavier Barata de King Of App

Patricia Carmona     Entrevistas    07/06/2016

En los últimos años la demanda de aplicaciones móviles ha crecido exponencialmente y la oferta de desarrolladores nativos no es capaz de cubrir la demanda de apps del mercado. Ante esta situación, nació King Of App, una plataforma open source que permite crear fácilmente aplicaciones móviles. Xavier Barata, su CEO, nos cuenta qué es, cómo surgió y qué tecnologías se utilizan en King Of App.

1. ¿Qué es King of App?

King Of App es el Wordpress de la Apps, el primer Content Management System Open Source que permite a gente sin conocimientos de programación nativa de móvil crear apps totalmente customizables. Y a la gente con conocimientos de programación web acceder por primera vez al código y modificar todo aquello que necesiten.

Hemos creado una tecnología open source, única, que es como un puzle. Funciona con un motor común que no hace falta programar cada vez y permitiendo conectar 3 tipos de piezas:

- Servicios: Te ayudar a gestionar tu app, dándote acceso a analíticas, servicios de loggin, notificaciones push, publicidad, ….

- Plantillas: Te permite hacer cambios en el diseño de tu app.

- Módulos: Permiten insertar y mostrar cualquier contenido de cualquier fuente en tu app.

2. ¿Cómo surgió la idea?

Todos los socios venimos del mundo de la publicidad, incluso antes teníamos agencias propias. Cada vez que nos pedían en la agencia presupuestos para confeccionar una app, nos venían rechazados porque eran demasiado caros.

Este problema lo tenía todos nuestros colegas del sector, hoy en día diseñadores y programadores web crean más de 50MM de webs cada año, y los desarrolladores de apps solo crean 500 K.

Pero diseñadores y programadores web no pueden desarrollar apps porque no tienen suficientes conocimientos y tenemos que acabar buscando desarrolladores nativos que están saturados delante de tanta demanda, por eso los precios siguen creciendo.

Además todos los estudios nos dicen que el mercado va a crecer exponencialmente. Este mercado está moviendo anualmente más de $20B en 2015 y todas las predicciones dicen que va a crecer por encima de los $70B en 2017. Así que pensamos como lo va a hacer si los desarrolladores nativos están saturados de tanta demanda?

Nosotros delante de este problema buscamos una solución en Estado Unidos, al igual que en 2006 implantamos Joomla y Wordpress, pero no encontramos nada parecido. Así que llegamos a este punto decidimos desarrollarlo nosotros mismos.

Nuestra tecnología permite a diseñadores y programadores web crear apps con los mismos conocimientos que crean webs, dándoles acceso al mercado y solucionando este problema, ya que además el coste medio por app es de 230 euros.

3. ¿Cualquier usuario puede crear una app o debe tener unos conocimientos?

Nuestra tecnología está enfocada a profesionales, si es verdad que no es necesario tener conocimientos de programación para poder confeccionar una app, nuestra principal ventaja es que al ser Open source cualquiera con conocimientos html, css o javascript puede personalizar aún más la app. Del mismo modo, si el usuario es un desarrollador avanzado puede integrar piezas desarrolladas con Polymer, React JS, …

4. ¿Cuánto tiempo puede llevar crear una app completamente?

Si uno tiene los contenidos preparados, o bien los importa desde algún CMS como Wordpress, Joomla, Magento, Shopify, … El proceso de desarrollo es muy rápido y con 10 minutos puede tener una app básica con notificaciones push, publicidad o analíticas funcionando y lista para enviar a los markets.

Aunque el nivel de personalización que cada uno quiera para su app puede hacer variar el tiempo de confección de su app, dependiendo de la complejidad de la misma.

5. ¿Cuál es la diferencia fundamental de King of App frente a otras plataformas de creación de apps?

Nosotros somos la primera plataforma Open Source, es decir los usuarios pueden acceder al código para personalizar lo que necesiten, o bien crear piezas a medida y ensamblarlas.

Otras características ligada al Open Source es que crearse una app es gratis y no ponemos ningún tipo de marca de King of app, y en nuestro Marketplace pueden encontrar más variedad de plantillas que luego podrán personalizar desde el código si lo desean y somos las plataforma con más módulos del mercado.

En el Marketplace también podrán elegir con proveedores de servicios en tan solo un click, el proveedor de publicidad que puedan sacar más revenue o entre diferentes servicios de notificaciones push, eligiendo proveedor según funcionalidades o precio.

6. Cuéntanos el stack tecnológico de King of App: lenguaje de programación, base de datos e integraciones con otras plataformas.

El proyecto está dividido en 4 partes diferenciadas y cada uno de ellos tiene una funcionalidad y por lo tanto un stack diferente:

La primera pieza es el builder, es una interfaz de usuario que permite configurar las aplicaciones de una forma sencilla. Esta configuración se guarda en formato JSON para posteriormente crear la aplicación móvil. Está codificada utilizando AngularJS y SASS para los estilos.

La segunda pieza es el visualizer, es la piedra angular del proyecto. A partir del fichero de configuración genera las diferentes vistas y comportamiento de la aplicación móvil. Esta creada con AngularJS aunque permite utilizar módulos hechos con Angular, Polymer o jQuery.

La tercera son los KoApp Components, son una serie de componentes HTML5 creados con Polymer que permiten cambiar la estética de las aplicaciones en tiempo real.

Dado que nuestras aplicaciones no tienen un backend definido, no necesitamos que nuestros módulos utilicen una infraestructura definida. Sin embargo, para nuestra propia base de datos utilizamos MongoDB que se puede consumir a través de una API Rest escrita en NodeJS.

La infraestructura está alojada en Amazon AWS y utilizamos servicios como S3 para almacenar ficheros, CloudFront para publicar todos los ficheros publicos, SQS para el sistema de tareas que utilizamos para la compilación automática y mucho más.

7. ¿Cómo fue la primera versión de King of App?

La primera versión era un sistema cerrado, en el que no existía el concepto de plugin. Esto lo hacía excesivamente rígido y nada personalizable. Estaba construido con Symfony2 (PHP) y MySQL.

8. ¿Cuál ha sido el reto tecnológico más importante que os habéis encontrado hasta ahora?

El proyecto en sí ha sido un gran reto a nivel tecnológico, no podría quedarme con una sola parte. Destacaría:

  • Crear un sistema de carga asíncrono y reutilizable de módulos en AngularJS que además permite utilizar otros frameworks.
  • Tener un sistema de elementos de maquetación que se comportan de forma dinámica.
  • Proteger una tecnología frontend para minimizar las posibilidades de saltarse las licencias de uso.

9. ¿Cuál ha sido el mayor error tecnológico que habéis cometido?

Esto es algo de lo que nunca se puede estar 100% seguro, pero creo que el desarrollo podría haberse simplificado mucho si hubiésemos utilizado Angular2 para crear la carga asíncrona de módulos.

También es cierto que cuando comenzamos el proyecto Angular2 estaba en una versión muy inestable.

10. ¿Qué próximos hitos de desarrollo tenéis marcados?

Acabamos de levantar 1,5 M que nos permiten ampliar el equipo, estamos buscando gente para llegar a un equipo de 25 personas. Abrir oficinas en Nueva York, para expandir nuestra marca al mercado americano y crecer como una comunidad Open Source.