tercoide   29-06-2023, 14:03
#1
Siguiendo con mi búsqueda de un lenguaje que cumpla las siguientes consignas:

-OpenSource
-GPL3
-Orientado a objetos
-Compilado a código rápido
-Multiplataforma
-Con una IDE decente para programar
-Parecido a Gambas
-Con una comunidad activa

y habiendo descartado a al resto, di con Vala que cumple con todas esas características. Tal vez la única (gran) contra es que esta atado a Glib, la librería base de Gnome.

Armar el sistema de trabajo para empezar a escribir código es la parte que Gb nos resuelve de entrada con la IDE y es lo que frena a muchos puesto que se requiere un gran conocimiento de cosas que no manejamos habitualmente, pero Gnome nos soluciono la existencia con Builder, que usando en conjunto a Glade y Meson , nos arma un entorno de desarrollo en un par de clicks.

Dejo un link para los interesados:

https://wiki.gnome.org/Apps/Builder/Downloads

y un ejemplo de uso:
Última modificación: 29-06-2023, 14:04 por tercoide.

"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
tincho   30-06-2023, 10:22
#2
(29-06-2023, 14:03)tercoide escribió: Gnome nos soluciono la existencia con Builder, que usando en conjunto a Glade y Meson

Bueno eso de que nos soluciono la vida...
Yo no logro hacerlo funcionar bien, algo pasa con GTK 4.
Resulta que Glade no es compatible el archivo .ui que genera Builder cuando creas un proyecto, en este caso con Vala, pero pasa lo mismo con otros lenguajes.
Pero seguramente se pueda solucionar de alguna manera, basta dar con la "formula" de librerías y versiones adecuadas.
Algo de esto puse en otro tema
https://gambas-es.org/showthread.php?tid=1249

Saludos.

1 Saludo.
tercoide   30-06-2023, 12:44
#3
Las siguientes son preguntas que me hice y un link que hay en ese hilo que puso Tincho responden para GJS, pero son validas para Vala:

¿Qué es GTK?

GTK es un conjunto de herramientas de aplicación. Proporciona widgets e instalaciones para crear potentes aplicaciones gráficas. Está escrito en C, pero proporciona enlaces de lenguaje a muchos otros lenguajes de programación. Es por eso que podemos usar GTK con GJS.

Se basa en varias otras bibliotecas que también tendremos que usar:

GLib: biblioteca central con tipos de datos, bucle principal, funciones de utilidad
Gio: acceso al sistema de archivos, comunicación D-Bus, configuración de la aplicación
GObject: sistema de objetos, lea más abajo


¿Qué es GObject?

GObject es una biblioteca orientada a objetos para C. Dado que JavaScript también es un lenguaje orientado a objetos, GJS tiene instalaciones que nos permiten usar GObjects como objetos de JavaScript. Por ejemplo, los widgets de GTK son GObjects y podemos crear instancias de ellos, acceder a sus propiedades y llamar a sus métodos como clases regulares de JavaScript.

¿Qué es Meson?

Meson es un sistema de construcción. Se encargará de que instalemos los archivos de nuestra aplicación en los lugares correctos. Además, se envía con módulos que facilitan aún más la realización de algunas tareas necesarias.

El uso de un sistema de compilación bien conocido garantiza que las personas que deseen compilar y distribuir nuestra aplicación no tengan problemas.

¿Qué es Flatpack?

Flatpak nos brinda un entorno conocido para desarrollar y distribuir aplicaciones de escritorio. Se basa en tiempos de ejecución: si una aplicación se compila y ejecuta con un tiempo de ejecución específico en su computadora, también se compilará y ejecutará en la computadora de otra persona si usan Flatpak con el mismo tiempo de ejecución.

En este libro, usaremos el tiempo de ejecución de GNOME, ya que proporciona las dependencias GJS, GTK4 y Meson que necesitamos para nuestra aplicación. Se divide en dos: la plataforma, que solo contiene las bibliotecas necesarias para ejecutar aplicaciones, y el SDK, que contiene las bibliotecas y herramientas necesarias para crear aplicaciones.

Nuestro uso de Flatpak será muy básico, consulte la documentación oficial de Flatpak para obtener más información sobre sus capacidades.

"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
tincho   30-06-2023, 13:40
#4
Hay un interesante proyecto que se llama Workbench

[Imagen: BVCR5lI.png]

https://github.com/sonnyp/Workbench
https://flathub.org/apps/re.sonny.Workbench
flatpak install flathub re.sonny.Workbench
flatpak run re.sonny.Workbench

Los formularios Gambas usan un formato similar a Blueprint [1]

Código:
using Gtk 4.0;

template MyAppWindow : ApplicationWindow {
default-width: 600;
default-height: 300;
title: _("Hello, Blueprint!");

[titlebar]
HeaderBar {}

Label {
label: bind MyAppWindow.main_text;
}
}

Mientras que un formulario Gambas es algo así

Código:
# Gambas Form File 3.0

{ Form Form
  MoveScaled(0,0,37.5,75)
  Text = ("Hello Gambas !!")
  Arrangement = Arrange.Fill
  { Label1 Label
    MoveScaled(21,38,8,3)
    Expand = True
    Alignment = Align.Center
    Text = ("Text")
  }
}


[1] https://jwestman.pages.gitlab.gnome.org/...-compiler/
Última modificación: 30-06-2023, 14:00 por tincho.

1 Saludo.
guizans   05-07-2023, 12:07
#5
A apriori Vala parece un buen lenguaje. Pero tiene el mismo defecto de Gambas, la documentación. La oficial parece que está completa pero me parece algo escueta. He estado viendo como conectar a una base de datos SQLite3 y no he entendido casi nada. Supongo que soy algo obtuso, pero si quiero probar un determinado lenguaje me parece una pérdida de tiempo tener que estar con prueba y error.

Por el resto me parece un lenguaje muy bueno.
tercoide   05-07-2023, 13:13
#6
(30-06-2023, 13:40)tincho escribió: Hay un interesante proyecto que se llama Workbench

Lo voy a mirar, investigar una IDE como Builder pero con el agregado de previsualizar. Muy interesante.

"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
  
Usuarios navegando en este tema: 4 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.