Como comentamos en nuestro primer artículo ver aquí, nosotros comenzamos desarrollando un módulo de apuestas de carreras de caballos internacionales hace 5 años atrás, nuestra filosofía como empresa siempre ha sido tratar de mantenernos en el top de la tecnología. En esa época, el uso de tecnologías como PHP y Java estaban a tope y nosotros estábamos haciendo desarrollos de otros proyectos en esas tecnologías, así que el proyecto inicial fue desarrollado usando las mismas, el core de la aplicación la hicimos en Java usando el Framework Spring, el frontend fue desarrollado en PHP con Bootstrap, y la Base de Datos desde siempre hemos utilizado PostgreSQL.
Para finales de 2019, el módulo estaba siendo bastante utilizado y necesitábamos hacer bastantes ajustes, al mismo que eran solicitados por los clientes nuevos y viejos. Para poder atender con mayor eficiencia la lista de requerimientos que teníamos, decidimos estudiar la posibilidad de migrar nuestro sistema a tecnologías más nuevas y que nos permitieran con la misma programación desplegar el módulo en varias plataformas (Web, Mobile, Desktop).
Cuando iniciamos la investigación estaban en auge tecnologías que, habían nacido de la mano de grandes empresas, comenzamos a investigar sobre las mismas y al final de nuestro análisis nos decantamos por el proyecto React y GraphQl de Facebook y con Node, ahora vamos a definir de qué van estos proyectos.
¿Qué es React?
React (también conocido como React.js o ReactJS) es una biblioteca de JavaScript de front-end de código abierto para construir interfaces de usuario o componentes de IU. Es mantenido por Facebook y una comunidad de desarrolladores y empresas individuales.
React se puede utilizar como base en el desarrollo de aplicaciones móviles o de una sola página. Sin embargo, React solo se ocupa de la administración del estado y la representación de ese estado en el DOM, por lo que la creación de aplicaciones React generalmente requiere el uso de bibliotecas adicionales para el enrutamiento, así como ciertas funciones del lado del cliente.
React intenta ayudar a los desarrolladores a construir aplicaciones que usan datos que cambian todo el tiempo. Su objetivo es ser sencillo, declarativo y fácil de combinar. React sólo maneja la interfaz de usuario en una aplicación; React es la Vista en un contexto en el que se use el patrón MVC (Modelo-Vista-Controlador) o MVVM (Modelo-vista-modelo de vista). También puede ser utilizado con las extensiones de React-based que se encargan de las partes no-UI (que no forman parte de la interfaz de usuario) de una aplicación web.
Según el servicio de análisis JavaScript (en inglés «JavaScript analytics service»), Libscore, React actualmente está siendo utilizado en las páginas principales de Imgur, Bleacher Informe, Feedly, Airbnb, SeatGeek, HelloSign, BetPredator, entre otras.
¿Qué es GraphQL?
GraphQL es un lenguaje de consulta y manipulación de datos para APIs, y un entorno de ejecución para realizar consultas con datos existentes. GraphQL fue desarrollado internamente por Facebook en 2012 antes de ser liberado públicamente en 2015. El 7 de noviembre de 2018, el proyecto GraphQL fue transferido de Facebook a la recién establecida Fundación GraphQL, alojada por la Fundación Linux. Desde 2012, el crecimiento de GraphQL ha seguido la línea de tiempo de adopción tal como fue propuesta por Lee Byron, creador de GraphQL, con exactitud. El objetivo de Byron es hacer GraphQL esté presente en todas las plataformas web, presente en BetPredator, así que estamos aportando Lee jejejeje.
¿Qué es Node?
Node.js es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor (pero no limitándose a ello) basado en el lenguaje de programación JavaScript, asíncrono, con Entrada/Salida de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google. Fue creado con el enfoque de ser útil en la creación de programas de red altamente escalables, como por ejemplo, servidores web. Fue creado por Ryan Dahl en 2009 y su evolución está apadrinada por la empresa Joyent, que además tiene contratado a Dahl en plantilla
Finalmente, lo único que mantuvimos de nuestro desarrollo inicial fue la base de datos en PostgreSQL.
¿Qué es PostgreSQL?
PostgreSQL también llamado Postgres, es un sistema de gestión de bases de datos relacional orientado a objetos y de código abierto, publicado bajo la licencia PostgreSQL.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
En modo resumen y contestando la pregunta del título del artículo, el desarrollo de www.betpredator.com utiliza las tecnologías: React + GrahpQL + Node + PostgreSQL, lo que nos ha permitido ser más eficientes y estar a la altura del reto de proporcionar un sistema de apuestas innovador para nuestros clientes. Vamos con todo y con el uso de tecnologías adecuadas seguiremos avanzando. Nosotros nos convertimos en DEPREDADORES a nivel tecnológico, ¿qué esperas tú? DEJA DE SER UNA PRESA Y CONVIÉRTETE EN UN DEPREDADOR en www.betpredator.com.