¿Te has preguntado alguna vez si son las clases necesarias para la programación? Como podrás notar cuanto más te adentres en el mundo del código, programar es mucho más que escribir algunas líneas de código y entender mucha teoría.
A medida que te vuelves un experto, la programación deja de ser una actividad de blancos y negros en la que hay un método correcto para cada acción a ejecutar.
En realidad, como verás en distintos lenguajes de programación, hay muchas formas de llegar a un mismo resultado. En este post, discutiremos si son o no las clases necesarias para la programación, uno de los elementos que definen nuestra forma de escribir código.
Un poco de contexto sobre las clases en programación
Como habrás podido leer en nuestro post sobre los componentes en React, existen dos tipos de componentes en esta librería de JavaScript: aquellos de tipo función y aquellos de tipo clase. En general, hoy en día trabajamos mucho más con los componentes de tipo función y te recomendamos esta práctica. La razón detrás de este uso es que los componentes de tipo función nos permiten ahorrar líneas de código y evitar el, a veces tedioso, comando .this.
En nuestro post sobre qué es this en JavaScript, te explicamos que este comando es una forma de referirnos al objeto que estamos modificando o describiendo.
En este sentido, podemos crear comandos como this.propiedad, que nos permiten acceder a una propiedad de este objeto sin tener que llamarlo por su nombre.
Sin embargo, especialmente en comparación a otros lenguajes de programación como Java, el uso de this no siempre es tan claro en JavaScript. Por ello, poder evitar el uso de este comando nos lleva a utilizar más el componente de tipo función.
Las razones que nos llevan a utilizar el componente de tipo función sobre el componente de tipo clase son las mismas razones que han alejado a React de las clases. Además de estas, React tiene en cuenta que las clases no existen dentro de JavaScript como tal.
Es decir, aunque podemos insertar clases dentro de JavaScript, estas realmente se comportan como funciones de manera interna. Además, los componentes de tipo función en React nos permiten manejar acciones mucho más complejas, aún más cuando introducimos hooks.
Los hooks en React existen exactamente para poder utilizar esta librería sin clases. El hecho de que React, siendo una de las librerías más populares en el mundo de la programación, haya tomado esta decisión, nos lleva a preguntarnos: ¿son las clases necesarias para la programación?
¿Son las clases necesarias para la programación?
Aunque React haya decidido alejar su código core de las clases, esto no significa que no sigan siendo un contenido vigente. Gracias a etiquetas como className, React nos permite seguir utilizando las clases para definir componentes y estilizar objetos.
A esta forma de actualizar un programa se le llama retrocompatible. Es decir, la lógica antigua de React sigue estando disponible para ser utilizada. De hecho, todavía existen algunos detalles que son mejores con clases que con funciones.
Por ello, el debate de si son o no las clases necesarias para la programación termina siendo un tema personal.
Las clases nos permiten ejecutar una programación mucho más orientada a objetos, mientras que las funciones nos permiten ejecutar una programación funcional. El código de React se orienta a una programación funcional. Es decir, nos lleva a generar nuevos valores en vez de modificar los elementos ya existentes. Esto es mucho mejor para el frontend que para el backend.
Por ello, veremos que las clases necesarias para la programación dependen de en qué lugar de este mundo nos encontramos y qué preferencias personales tenemos.
Ahora que sabes nuestra opinión sobre si son o no las clases necesarias para la programación, te invitamos a seguir aprendiendo con nosotros sobre el extenso mundo del desarrollo web. Para ello, te invitamos a formar parte de nuestro Desarrollo Web Full Stack Bootcamp, un programa de formación intensiva donde aprenderás a desarrollar con lenguajes como JSX, JavaScript, CSS y HTML. Allí, además, aprenderás todo lo necesario para convertirte en un experto del desarrollo web en pocos meses. ¿A qué esperas para unirte? ¡Hazlo ya!