Web con gambas, a ver si entre todos lo logramos - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: WebApp/WebForms (https://gambas-es.org/forum-23.html) +--- Tema: Web con gambas, a ver si entre todos lo logramos (/thread-605.html) |
Web con gambas, a ver si entre todos lo logramos - tincho - 14-09-2021 Hola amigos Inicie un proyecto en gitlab para ir poniendo todo los avances, que de momento son escuetos, hasta lograr una web funcional hecha con gambas WebForms. https://gitlab.com/belmotek/base-web A efectos prácticos en adelante me referiré como myweb.gambas al ejecutable creado con el IDE de gambas de un proyecto web que usa el componente gb.web.gui y no gb.web.form. ¿Que es un servidor Web? En pocas palabras, es un servidor de red que se encuentra en un servidor físico (oops, un servidor en un servidor) y espera que un cliente envíe una solicitud. Cuando recibe una solicitud, genera una respuesta y la devuelve al cliente. La comunicación entre un cliente y un servidor se realiza mediante el protocolo HTTP. Un cliente puede ser tu navegador o cualquier otro software que hable HTTP. Fuente: https://ruslanspivak.com/lsbaws-part1 Protocolo de transferencia de hipertexto El Protocolo de transferencia de hipertexto (en inglés, Hypertext Transfer Protocol, abreviado HTTP) es el protocolo de comunicación que permite las transferencias de información a través de archivos (XHML, HTML…) en la World Wide Web. Fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboración que culminó en 1999 con la publicación de una serie de RFC, siendo el más importante de ellos el RFC 2616 que especifica la versión 1.1. HTTP define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. HTTP es un protocolo sin estado, por lo que no guarda ninguna información sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de sesión, y también permite rastrear usuarios, ya que las cookies pueden guardarse en el cliente por tiempo indeterminado. Fuente: https://es.wikipedia.org/wiki/Protocolo_de_transferencia_de_hipertexto Request (solicitud) - Response (respuesta) Grambas contempla estos conceptos en el componente gb.web gb.web.gui Este componente permite desarrollar aplicaciones web siguiendo un modelo similar al de las aplicaciones GUI clásicas. Sustituye al anterior componente gb.web.form, siendo más rápido y fácil de usar. Clases Align, Application, Arrange, Color, Key, Message, Scroll, Select, Session, WebAudio, WebButton, WebCheckBox, WebComboBox, WebContainer, WebControl, WebControlStyle, WebDateBox, WebDateChooser, WebFileButton, WebForm, WebHBox, WebHtml, WebImage, WebLabel, WebListBox, WebMenu, WebProgressBar, WebRadioButton, WebScrollView, WebSeparator, WebSlider, WebSpinBox, WebTable, WebTableData, WebTabPanel, WebTextArea, WebTextBox, WebTimer, WebTree, WebTreeData, WebVBox gb.web This component allows to make a web application based on a CGI script. It manages:
La sesión es el lugar donde guardar las variables globales, como el programa en producción residirá en el el directorio del servidor web, luego cuando un usuario se conecte a esta aplicación, automáticamente se iniciara la sesión en la que se colocaran los parámetros de dicha conexión al servicio web. Usuario, contraseña, y cualquier otro parámetro de cualquier tipo, ya que es Variant Agregar o editar parámetros de una sesión Código: Sesion["usuario"] = "user1" Uso de cokies ?? Seguridad y control de acceso de la aplicación web ?? Problemas y soluciones
Este archivo es transcendental al principio, cuando intentamos desplegar una app.gambas, pero seguramente luego también lo sea, pero es una corazonada. Al copiar la myweb.gambas en el directorio del servidor Apache y hacer todo "correctamente" la aplicación no funcionaba, así que recurrí al archivo log de apache y alli me decía que me faltaban instalar algunos componentes. Procedí a instalarlos y luego todo funciono. [1] Código: <IfModule mod_alias.c> Cómo instalar un servidor Linux, Apache, MySQL y PHP (LAMP) en Ubuntu 20.04 https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04-es Cómo instalar PostgrSQL en Ubuntu 20.04 https://www.digitalocean.com/community/tutorials/how-to-install-postgresql-on-ubuntu-20-04-quickstart-es
RE: Web con gambas, a ver si entre todos lo logramos - tincho - 14-09-2021 Primer problema Esto aparece luego de algunos intentos de ejecutar la pagina, no hay forma de renderizar la pagina otra vez, hay que salir de la sesión y volver a entrar para que todo funcione otra vez. ¿A que se deberá? En la consola sale esto otro: Cita:gb.httpd: bind :: - Address already in use[SOLUCIONADO] Me respondo a mi mismo . El problema se debe a que quedo un proceso escuchando en el puerto 8080 que es el puerto por defecto del servidor httpd de gambas así que cambiando la variable de entorno del programa GB_HTTPD_PORT = 8081, por ejemplo, ya vuelve a funcionar. Saludos. RE: Web con gambas, a ver si entre todos lo logramos - tincho - 15-09-2021 Hola. Ahora estoy echando un vistazo a WebSiteTest, de David Müller Luego de dar vueltas un rato logre ingresar usuario y contraseña ya que no es muy intuitivo. Así que voy a intentar entender como maneja este programa las sesiones para permitir y manejar múltiples usuarios en la misma aplicación. Si alguien sabe como hacerlo y puede proveer un ejemplo seria de gran ayuda. Saludos. RE: Web con gambas, a ver si entre todos lo logramos - Shordi - 15-09-2021 Sorry, yo de eso ni pajolera idea... RE: Web con gambas, a ver si entre todos lo logramos - tincho - 15-09-2021 (15-09-2021, 17:17)Shordi escribió: Sorry, yo de eso ni pajolera idea... Jeje, yo tampoco pero al final es gambas no? Solo les comento que existe este programa y que se puede descargar desde la granja para estudiarlo, porque creo que mientras seamos los que le echemos un vistazo a este programa mejor. Saludos. RE: Web con gambas, a ver si entre todos lo logramos - Shordi - 15-09-2021 Sí, pero el tema de los cgi, configuraciones de apache, carga de módulos del mismo, seguridad web, etc... se me escapa mucho. RE: Web con gambas, a ver si entre todos lo logramos - tercoide - 15-09-2021 no tengo ni la mas remota idea del tema! RE: Web con gambas, a ver si entre todos lo logramos - tincho - 15-09-2021 (15-09-2021, 19:00)Shordi escribió: Sí, pero el tema de los cgi, configuraciones de apache, carga de módulos del mismo, seguridad web, etc... se me escapa mucho. A eso no llegue todavía, lo de ahora se trata de extraer información útil desde estos programas de ejemplo. Ademas seguro que si le echas un vistazo al programa de ejemplo de David lo sacas a la primera, a que si?
(15-09-2021, 19:37)tercoide escribió: no tengo ni la mas remota idea del tema! Si abrís el programa de ejemplo de David Muler vas a poder seguir bastante el código porque no hay ni html ni javascript ni nada de eso son webforms. Si lo ejecutas desde el IDE, este, el ide, ya tiene un servidor embebido para lanzar el servidor web y ves la app desde el navegador. Saludos. RE: Web con gambas, a ver si entre todos lo logramos - tincho - 24-09-2021 Hola amigos. ¿Alguien tiene un ejemplo de como hacer un login en el sistema, en una web hecha en gambas? Saludos. RE: Web con gambas, a ver si entre todos lo logramos - Shordi - 24-09-2021 No. Sorry. En eso de la gambas-web es una de las pocas cosas en las que aún soy virgen... Pero creo recordar que el código del gambas wiki o el del bugtracker, no recuerdo cual, estaba disponible en el gitlab... |