El estilo de programación que utiliza Flutter se llama Programación Declarativa, inspirado en el estilo de programación de React y que va de la mano con el paradigma de Programación Funcional.
Existen dos tipos de estilos de programación:
Programación Imperativa: es el estilo de programación que más se utiliza en lenguajes de programación tradicionales como Lenguaje C, Java, PHP o JavaScript. En general la programación imperativa se fundamenta en el uso de métodos de clases que reciben parámetros o argumentos sencillos para realizar tareas específicas.
Programación Declarativa: este estilo de programación utiliza como parámetros estructuras un poco más complejas formadas por datos compuestos, objetos, pares propiedad-valor, etc. que en cierta forma es más fácil de leer y más comprensible para el desarrollador. Este estilo de programación es el que usa Flutter.
Básicamente ambos estilos de programación hacen lo mismo, producen los mismos resultados, su diferencia radica esencialmente en la legibilidad y la organización del código.
Después de 20 años, los grandes de la industria comienzan a darse cuenta de los beneficios de programar en forma declarativa. Antes de su retiro de Microsoft, el propio Bill Gates aconsejó que “Deberíamos estar haciendo las cosas en forma declarativa y no estar escribiendo tanto código procedural”.
Es cierto, sin embargo había que dar varios pasos para poder llegar a esto debido a que si bien programas de forma declarativa, por detrás hay varias capas de abstracción que hacen el trabajo imperativo.
#Programación imperativa
Paradigmas tradicionales:
-POO.
-Programación estructurada.
#Programación declarativa
Código más entendible por medio de la asignación de propiedades.
Imperativa: El lenguaje expresa el "Cómo hace las cosas" (paso a paso de instrucciones para obtener el resultado esperado).
Declarativo: El lenguaje describe el resultado sin tener que especificar cómo o en qué orden lo hace (descriptivo) . (Ejemplos consultas SQL, JSX de REACT, o el ejemplo de flitter.)
Ahora, Dart no es 100% declarativo, pero en definitiva es más legible y recomendado usar una sintaxis declarativa para programación de UIs.
La principal diferencia entre ambos paradigmas es que en la programación imperativa se describe paso a paso un conjunto de instrucciones que han de ejecutarse con la finalidad de variar el estado del programa y resolver un problema para hallar una solución. Es decir, se describe un algoritmo en el que se detallan los pasos secuenciales necesarios a seguir para la resolución de un problema.
Hola, una consulta: puesto que Dart es un lenguaje de programación orientado a objetos y Flutter trabaja con el paradigma de programación declarativa, como logran trabajar en equipo al momento de desarrollar.
Eso es algo que me interesa saber desde que me enteré sobre estos detalles.
Flutter usa dart que es oop, el paradigma declarativo en flutter es mas una forma de escribir el codigo, por debajo esta usando clases como Widget, RenderObject, etc
Básicamente ambos estilos de programación hacen lo mismo, producen los mismos resultados, su diferencia radica esencialmente en la legibilidad y la organización del código.
Y pensar los beneficios que trae un simple cambio en la legibilidad y organización.
✨ La programación declarativa consiste en instruir a un programa sobre lo que debe hacerse, en lugar de decirle cómo hacerlo. Este paradigma es una mejora notable sobre el enfoque imperativo.