martes, 11 de octubre de 2022

El proyecto:

La idea sería desarrollar un pequeño framework MVC con PHP.

Que es un Framework:

Un framework es un conjunto de clases interrelacionadas que tiene como objetivo dar un "marco" de desarrollo a un tipo específico de aplicaciones. La idea es que esas clases no ayuden en tareas varias que nos evitan repetir código centralizando tareas generales. 

Que es MVC:

MVC es un patrón de diseño de software que se corresponde con las siglas de 

Modelo-Vista-Controlador

En desarrollo de sistemas la idea es manejarnos por las llamadas "buenas prácticas" y una premisa fundamental es justamente dividir responsabilidades entre componentes comunicados entre sí.

Vista: 

En sistemas interactivos (requieren operación humana) llamamos Vista a la interfaz al usuario (UI). En desarrollo web la UI se desplegará en un navegador (Chrome, Firefox... ) y mostrará las diferentes "páginas" que componen el proyecto. En la UI podemos obtener desde el servidor y a requerimiento información formateada según lo solicitado o bien cargar y enviar datos desde el dispositivo cliente hacia el servidor.

Controlador:

El controlador es un componente que captura los requerimientos enviados desde el cliente, y los deriva a las clases que deben darle tratamiento. Un caso clásico es la vista requiere datos, el requerimiento llega al controlador, el controlador es invocado con la clase, el método y los parámetros enviados, luego el controlador deriva el pedido a otra clase como ser el Modelo.

Modelo:

La clase Modelo tiene como objetivo tomar requerimientos enviados desde el Controlador, y procesar datos referentes a la solicitud. Por ejemplo, la clase Modelo_Cliente puede ser invocada con el método "Obtener_Todos". El Modelo accede a las fuentes de datos (por ejemplo un motor SQL) obtiene los registros solicitados y los retorno como un array de datos al Controlador, a su vez el controlador formatea los datos (por ejemplo en JSON) y los retorna a la Vista.

Esta apertura entre diferentes componentes de acuerdo a la tarea que corresponde nos da flexibilidad en el diseño y separan el "cómo se obtiene y maneja la información" (Modelo) a el "cómo se muestra la información" (Vista). Todo esto con la coordinación necesaria de un intermediario (Controlador).

Hay un cuarto componente que no se menciona en MVC pero es fundamental para procesar este circuito.

Router:

El router es una rutina que toma la URL (Uniform Resource Locator) o sea un dirección web que se invoca en el requerimiento. 

Una URL básica sería por ejemplo 

http://www.misitiox123.com/ 

En MVC junto con la URL "raíz" adicionamos separados por barra, la clase a invocar y el método de esa clase

Supongamos que queremos obtener todos los datos de los clientes cargados en la base de datos. la idea sería invocar algo cómo 

http://www.misitiox123.com/clientes/obtenertodos

donde http://www.misitiox123.com/ es la raíz, "clientes" es la "clase" a invocar y "obtener datos" es el método de la clase que se requiere ejecutar.

el router actúa como un "parser" o decodificador de la URL para obtener cual es la clase y cual es el método.



 

Bienvenidos!

 Hola,

el propósito de este Blog es repasar algunos conceptos sobre desarrollo de aplicaciones de negocios (administrativas) en entorno web. Esta iniciativa surge a partir de la inquietud de desarrolladores que vienen de plataformas de tipo escritorio y quieren dar el paso en el cambio de tecnología.

Quienes aún desarrollan en ambientes visuales de escritorio ya sea con bases de datos locales o con algún motor de tipo cliente servidor están a costumbrados a que en un solo entorno manejan casi todos sus recursos para genera su aplicación. Diseñadores de Formularios, diseñadores de Reportes, Menús, editor de texto para plasmar código, etc. 

En desarrollo web la forma de encarar un proyecto es bastante diferente por lo cual, se deberán adaptar a una forma de trabajo y otras herramientas. 

Que necesitamos para comenzar:

En principio necesitaremos un paquete integrado que incluya un servidor web local, un lenguaje de programación para "backend", nosotros usaremos PHP, un motor de base de datos, puede ser MySQL o MariaDB (también podría ser PostgreSQL o Firebird) pero iremos por lo más usado y un editor de texto. 

Que paquetes podemos usar:

En mi caso actualmente estoy utilizando WAMP pero las otras alternativas son iguales de buenas, lo importante es que el paquete que elijamos nos permita instalar en 32 o 64 bits y contenga las últimas versiones de los aplicativos que lo componen.

A su vez como editor de texto para código también los hay varios
Yo utilizo VSC dado la potencia y facilidad que brinda y la cantidad de "plugins" que dispone, pero también todos los mencionados son muy buenos.

Entonces, manos a la obra! A instalar los aplicactivos para comenzar con nuestros primeros proyectos.



El proyecto:

La idea sería desarrollar un pequeño framework MVC con PHP. Que es un Framework: Un framework es un conjunto de clases interrelacionadas que...