¡Hola a todos! ¿Cómo están? ¡Bienvenidos continuando con el curso de NativePHP! En esta clase, exploraremos un poco más lo que es el nuevo marco de trabajo de PHP para crear aplicaciones de escritorio. Cómo trabajar con ventanas en NativePHP.
¡Empecemos!
Estructura de la aplicación
Si ya trabajaste con Laravel, la estructura de NativePHP se te va ser muy familiar, de hecho NativePHP trabaja con Laravel y toda la estructura básica de directorios esta presente. Donde se encuentran las carpetas de los controladores, las rutas, los modelos, la base de datos, etc.
La principal diferencia y la más importante es que NativePHP trabaja con ventanas y no depende de un navegador web para ejecutar una aplicación.
Trabajar con ventanas
NativePHP permite abrir una aplicación en ventanas de una sistema operativo como Linux o Mac (sin la necesidad de contar con un navegador web). Esta ventana se puede ir ajustando en tamaño y diseño de la misma (Menús, botones, textos, entradas de texto, etc.).
NativePHP trabaja con el archivo “NativeAppServiceProvider.php” para la configuración de las ventanas, esta se encuentra en la ruta “/app/providers”. Es ahí donde iremos ajustando por ejemplo, el título de cada ventana, el largo y ancho, los tamaños mínimos y máximos, el color de la ventana, etc.
Poner título a la ventana
En el archivo “NativeAppServiceProvider.php” en la función boot() agregaremos un título para poderlo visualizar en nuestra venta. Por ejemplo añadimos el título “Curso de Native PHP”.
Window::open()->title("Curso de NativePHP");

Guardamos los cambios realizados y automáticamente se reflejan en la ventana de la aplicación (el servidor local de NativePHP debe de estar ejecutándose para reflejar los cambios).

Configurar el tamaño de la ventana
En el mismo archivo “NativeAppServiceProvider.php” podemos configurar el ancho y largo de la ventana, con las sentencias Width y Height, añadimos el siguiente código en la función boot().
Window::open() ->width(1200) ->height(700);

Botones de minimizar, maximizar y cerrar
Podemos configurar los botones por defecto que tiene una ventana (minimizar, maximizar y cerrar).
Window::open() ->maximizable(false) ->maximizable(false) ->closable(false);
Ventana redimensionable, enfocable y movible
Podemos configurar la ventana con aspecto como redimensionable (puede ocupar toda la pantalla), enfocable (puede poner el foco en la ventana de las demás aplicaciones) movible (la que ventana puede moverse de una lado a otro en pantalla).
Window::open() ->resizable(false) ->focusable(false) ->movable(false);
Existen muchos más configuraciones y eventos que podemos utilizar en las ventanas, que lo iremos viendo a lo largo del curso. Hoy vimos los aspectos más básicos y comunes que podemos configurar para crear nuestras aplicaciones de escritorio.
En la siguiente clase ya empezaremos a tocar más código y a desarrollar una pequeña aplicación de “Sistema de registro y seguimiento de pacientes” utilizando NativePHP, en la siguiente clase empezaremos con la base de datos y las migraciones en NativePHP.
¡Te espero en la siguiente clase!
Saludos y éxitos.

Victor Peña
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.