En el mundo del desarrollo, cada día nos bombardean con tecnologías que aportan nuevas oportunidades y funcionalidades a los proyectos de software. Han sido muchos, los lectores del blog que nos han pedido una lista con las tecnologías que usamos en el día a día, para desarrollar nuestros proyectos en tiThink. Por eso, hemos escogido esta semana este post, donde ofrecemos un listado de las herramientas de desarrollo web que más estamos utilizando a la hora de programar, dentro del departamento de Transformación Digital.
Como no puede ser de otra forma, en tiThink apostamos por las tecnologías más punteras del mercado y siempre estamos dispuestos a ser los primeros en lanzarnos a probar nuevas herramientas, donde se prometan mayores funcionalidades, desarrollo ágil, buenas prácticas de desarrollo, mejora en rendimiento, etc.
Backend
El Backend en el desarrollo web, es la parte que controla toda la lógica que hay detrás de una aplicación. Sería algo así como el cerebro de nuestra aplicación. En tiThink nos decantamos por el uso de frameworks de backend, ya que hoy en día están más que optimizados y depurados por desarrolladores experimentados y toda la comunidad de personas que estos traen consigo. Si aún no estás al tanto de lo que es un framework, te invitamos a que leas nuestro artículo Framework o librerías: ventajas y desventajas donde explicamos en detalle en qué consisten este tipo de productos.
Laravel
Este framework hace que el odiado lenguaje de programación PHP vuelva a ser entretenido a la hora de programar. Laravel ofrece soluciones directas y sencillas a complejas funcionalidades en una aplicación, como podían ser el modelado de datos, realización de tareas periódicas, adaptación al modelo MVC, entre muchas otras. A todo esto, se le suma una documentación muy trabajada y una comunidad de desarrolladores cada vez más extensa. Además, cabe destacar, que con la reciente versión de PHP 7.0, se ha duplicado el rendimiento de las aplicaciones escritas en este lenguaje de programación.
Django
Este framework también es una de las opciones preferidas por parte de nuestro equipo de desarrollo. En él se unen la sencillez y potencia del lenguaje de programación Python, con toda la lógica de un buen framework de backend. Este framework viene rodeado de una serie de librerías que lo hacen perfecto para las diferentes tareas que pueden presentarse en un desarrollo web. Un ejemplo claro podría ser la creación de una API Rest, donde el ORM de django y la librería Django-Rest-Framework se unen a la perfección para ofrecer una solución ágil y robusta.
Frontend
Si antes hemos dicho que el backend es el cerebro de la aplicación, el frontend sería algo así como el cuerpo. Es la parte visual del software y la manera en la que se nos ofrecen los datos obtenidos desde el backend de una forma gráfica e interactiva. Solemos decir, que el Frontend es la parte de la aplicación web que interactúa con los usuarios, por nos gusta decir que está del lado del cliente.
React
Esta librería ha sido diseñada por el equipo de Facebook y está pegando fuerte en el mundillo del frontend, siendo el preferido por la comunidad de desarrolladores. En tiThink hemos adoptado este software en muchos de los últimos proyectos y ha tenido resultados excelentes de usabilidad e interacción. La filosofía de React es dividir la aplicación en componentes que sean fácilmente reusables en diferentes partes del proyecto, compartiendo información entre ellos a través de unos estados y propiedades. El mayor potencial que vemos en la librería React es que una vez que la aprendes, hay herramientas que te ofrecen trasladar tu código a móvil y a escritorio, con lo que, aprendiendo un único software puedes programar en multiplataforma.
Dentro de poco lanzaremos un Post exclusivo sobre React, donde hablaremos más en profundidad sobre este framework. Te recomendamos que estés atento al blog, si te interesaría saber más sobre esta maravilla.
Futuras Tecnologías
Cómo hemos dicho al principio del post, cada día surgen nuevas herramientas software que cubren una necesidad u otra. Nuestros proyectos cada vez se hacen más grandes y estamos buscando formas de hacer a nuestras aplicaciones fácilmente escalables y ágiles.
Para cubrir esta necesidad, tenemos en el punto de mira a la herramienta de backend NodeJS, un entorno de ejecución de Javascript orientado a eventos síncronos, que permite ejecutar varias operaciones de forma no bloqueante. La idea de hacer una aplicación totalmente en Javascript es algo nuevo en el mercado, ya que inicialmente este lenguaje de programación se diseñó para la parte gráfica. Ya estamos usando NodeJS junto con React en algunos proyectos y los resultados están siendo más que satisfactorios.
OTRAS TECNOLOGÍAS
No nos queremos extender demasiado en todas las herramientas y tecnologías que usamos en cada uno de los proyectos, porque más que un post tendríamos que escribir un libro, tan solo hemos querido destacar las más significativas y con las que vemos que tenemos y tendremos un amplio recorrido de experiencia y conocimiento.
En cuanto a base de datos, control de versiones, testeo, herramientas de despliegue o entornos de desarrollo nos solemos adaptar al proyecto. Incluso muchas veces, el propio cliente nos exige trabajar en alguna tecnología en concreto, para facilitar después el mantenimiento o el entendimiento por su parte. Aun así, os dejamos una lista con las tecnologías en las que somos fuertes y por las que siempre apostamos cuando se trata de empezar un proyecto desde cero.