A medida que la programación madura y el desarrollo de aplicaciones se vuelve más complejo, los desarrolladores necesitan algo más que una comprensión de los lenguajes de programación. Necesitan conocer los frameworks que facilitan la creación de aplicaciones en estos lenguajes.

Un framework es un conjunto de herramientas, clases y funciones que sirve como plataforma sobre la que construir una aplicación completa. Hay algunas tareas que se dan en todas las aplicaciones: entrada, renderización de la pantalla, manejo de errores, por ejemplo. Los frameworks se encargan de aspectos básicos como éstos para que los desarrolladores puedan centrarse en resolver los problemas relacionados con su dominio específico. Sin embargo, un framework es un término amplio, por lo que diferentes frameworks harán cosas diferentes.

Como reclutador técnico, deberías ser capaz de entender qué son los frameworks y cuáles son los más comunes. Si estás familiarizado con el término, probablemente los conozcas como frameworks de JavaScript front-end. Como veremos, muchos lenguajes de programación tienen frameworks que simplifican el proceso de desarrollo.

Los diez mejores frameworks

Explora todas las tecnologías etiquetadas en Stack Overflow en la herramienta online gratuita.

En el gráfico anterior, puedes ver el cambio en el uso de las etiquetas en Stack Overflow para los diez frameworks mencionados a continuación a lo largo de unos diez años. Los frameworks suben y bajan de popularidad a medida que se crean nuevos y los antiguos caen en desgracia.

Sin más preámbulos, aquí están diez de los frameworks más populares en uso hoy en día.

React

Facebook creó y abrió React en 2013, y ha crecido rápidamente en popularidad desde entonces. Está construido a partir de JavaScript y diseñado como una base modular para componentes de interfaz de usuario reutilizables. Por sí mismo, React no es realmente un marco, pero tiene un enorme ecosistema de bibliotecas de ayuda que proporcionan una mayor funcionalidad. También existe React-Native, que compila el código nativo de iOS y Android, por lo que los desarrolladores de aplicaciones ya no necesitan crear tres bases de código frontales distintas.

Angular

Angular (antes AngularJS) surgió de un proyecto de Google. A diferencia de React, ofrece a los desarrolladores un framework completo como librería de primera mano. La versión actual utiliza TypeScript (aunque soporta JavaScript y Dart), que es un superconjunto de JavaScript. Anteriormente, era sólo JavaScript, pero para atender las necesidades de los usuarios, reconstruyeron el lenguaje desde cero a partir de la versión 2. Es increíblemente popular porque la configuración «todo en uno» y la estricta comprobación de la sintaxis ofrecen a los desarrolladores muchas herramientas de apoyo y promueven la coherencia del código. Con todo en un solo paquete, no hay necesidad de recurrir a código de terceros con sus potenciales vulnerabilidades y escollos legales. Pero para algunas aplicaciones, esto puede ser un gran punto negativo, ya que todo el framework de Angular puede ser una carga pesada si no necesitas toda su funcionalidad. Incluso con el rediseño de la versión 2, Angular sigue siendo uno de los frameworks de front-end más populares y, gracias a Angular Universal, se está abriendo paso también en las aplicaciones de back-end.

Django

Django es un framework web completamente basado en Python desarrollado inicialmente en 2003 por programadores web que trabajaban en un periódico de Kansas. Gracias a ser gratuito y de código abierto, ha gozado de una popularidad constante. Simplifica muchas tareas comunes de desarrollo web, como la serialización de datos, el almacenamiento en caché y la autenticación, gracias al diseño modular y al maduro ecosistema de componentes disponibles. Cubre toda la pila de desarrollo web, pero puede ser utilizado como backend sólo si se prefiere otro marco de front-end.

Laravel

Laravel es un framework web gratuito de código abierto basado en PHP creado hace unos ocho años. Inicialmente se basó en Symfony y se creó para solucionar las carencias de características que el creador Taylor Otwell encontró en el framework CodeIgniter. Proporciona soporte avanzado para cosas como la autenticación, la interacción con bases de datos relacionales y la gestión de dependencias. Con un sistema de empaquetado modular y una tonelada de herramientas y aplicaciones adicionales que soportan el ecosistema, Laravel proporciona un marco de trabajo de pila completa diseñado para facilitar el desarrollo.

Ruby on Rails

Como uno de los primeros frameworks de back-end, Ruby on Rails influyó en muchas de las tecnologías de desarrollo web que le siguieron. Debido a su temprana aparición, Ruby facilitó gran parte de las tecnologías estándar que crean la web -HTTP, JSON, CSS, JavaScript, etc.- y se basa en las filosofías de desarrollo de software de CoC (convención sobre configuración) y DRY (no te repitas). Juntos, estos significan que Ruby intenta definir los modelos de datos y la lógica de la aplicación en un solo lugar y sólo cuando esa definición se desvía de la norma.

Vue.js

Dependiendo de cuánto quieras adoptar, Vue.js puede servir como cualquier cosa entre una simple biblioteca de JavaScript o un marco completo de front-end. Este enfoque de adopción incremental -diseñado como respuesta a la pesada carga requerida por AngularJS- significa que las aplicaciones que sólo necesitan pequeñas porciones de la funcionalidad de Vue no necesitan ralentizar su aplicación importando todo. Pero para aquellos que lo deseen, Vue y las herramientas asociadas pueden formar la columna vertebral de aplicaciones web complejas.

Spring

Mientras que la mayoría de los frameworks discutidos aquí se basan en lenguajes de programación web-first, Spring es un framework para Java, que puede ser utilizado como parte de una aplicación web o una aplicación nativa de escritorio o móvil. Gestiona operaciones de bajo nivel para aplicaciones complejas, como la inyección de dependencias, las interacciones con la base de datos y la gestión de transacciones, al tiempo que facilita la modularización del código con lo que se denomina programación orientada a aspectos. Aunque Spring se puede utilizar con cualquier aplicación Java, se incluye con frecuencia en aplicaciones web de back-end.

Express

Express (o Express.js) funciona como un marco web para Node.js, que es en sí mismo un entorno de ejecución para JavaScript, es decir, ejecuta JavaScript fuera de un navegador. Es completamente gratuito y de código abierto, y sirve como parte del back-end de la pila estándar de MEAN. Al igual que muchos frameworks modernos, la biblioteca principal es pequeña, y la mayor parte de la funcionalidad se gestiona mediante plugins. Esta flexibilidad y versatilidad ha llevado a que varios frameworks se construyan sobre Express, por lo que no ocupa un lugar más alto en el gráfico anterior.

ASP.NET

Microsoft creó y abrió ASP.NET como una forma de crear el sucesor de Active Server Pages (.asp). En lugar de basarse en un único lenguaje, ASP.NET se ejecuta en cualquier lenguaje que utilice .NET. Como tal, lo convierte en un sólido marco de trabajo de back-end para las empresas que ejecutan una pila de Microsoft (como nosotros). Debido a que se basa en lenguajes compilados, es rápido y escalable.

Meteor

Puede que pienses que el espacio del marco de trabajo de JavaScript libre y de código abierto ya está lo suficientemente lleno, pero Meteor logra hacer un hueco en la clasificación porque hace que las aplicaciones en tiempo real sean fáciles de escribir, es un marco de trabajo de pila completa y simplifica la reutilización del código para las versiones móviles. Permite crear prototipos rápidos y reducir el código de una aplicación, al tiempo que simplifica la propagación de los cambios de código a todos los clientes. Sin embargo, Meteor puede haber tenido sus quince minutos de fama, ya que los frameworks van y vienen rápidamente en estos días.

Hay muchos otros frameworks por ahí, así como bibliotecas populares que no son frameworks (¡hola jQuery!), así que por favor no tomes esta lista como exhaustiva. Pero debería darte un marco de referencia (juego de palabras) al discutir estos con los candidatos y los gerentes de contratación.

Nueva llamada a la acción

Categorías: Articles

0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *