Introducción al desarrollo de Gnome

El generador de desarrollo Gnome ayuda a resolver problemas y crear interfaces gráficas de usuario en tiempo real. Gnome Builder es un ecosistema sólido que es posible que desee probar antes de pasar a cualquier otra cosa. Le da a los desarrolladores más poder y flexibilidad. Anteriormente, el desarrollo de aplicaciones gnome estaba limitado por SUGAR debido a la falta de disponibilidad de enlaces de python y la falta de mantenimiento y empaque.

Estudiemos mucho más sobre el desarrollo de Gnome en detalle:

Hola chicos. Entonces, hoy estaríamos hablando sobre el infame desarrollo de Gnome. Entonces, si eres nuevo en Python y Linux, entonces este no es el lugar perfecto para ti. Necesitas regresar y aclarar algunos conceptos básicos. Pero, si eres un programador básico de Python y sabes al menos cómo trabajar en fedora o ubuntu, entonces este tutorial es exactamente para ti.

Las personas que tienen experiencia en otros lenguajes de programación, este blog puede ayudarlos, pero tener al menos los conceptos básicos correctos les dará una comprensión clara de cómo funciona esto. Entonces, ¿empezamos?

Desarrollo de gnomos

Lo primero que necesitaríamos es un entorno estable de Python. El que estoy usando y sugeriría usar es Python 2.7. Aunque la gente hoy en día usa Python 3.3 o 3.4, sugeriría usar 2.7, porque sigue siendo la versión de python más utilizada en el mundo y extremadamente estable y compatible. Pensé que Python 3.4 es compatible, pero hay algunas cosas que todavía rompen Python 3.4, que obviamente no queremos.

Lo segundo sería un Python GTK adecuado. La última versión estable a partir de ahora es Python GTK +. Aunque antes de continuar, uno debe leer GNOME HIG, que son las pautas de interfaz humana, sobre cómo diseñar una aplicación Gnome efectiva con la ayuda de Python. Pero de nuevo, si fuera tan fácil, no estarías aquí en primer lugar.

Gnome HIG no es tan fácil de entender. Por lo tanto, en este blog, intentaré dar la mejor comprensión posible y hacerlo lo más simple posible. Pero una vez, has entendido todo de este blog, y cuando digo todo, lo digo en serio. Entonces, después de completar este blog, seguramente sugeriría que lea las Directrices de interfaz humana de GNOME.

Para comenzar con GTK +, proporcione un número n de posibilidades, así como patrones de diseño comunes para crear una interfaz de usuario efectiva. Entonces, suponiendo que sepa cómo crear y ejecutar archivos de Python, continuaré. Comenzar con las aplicaciones de gnome en Windows es extremadamente fácil. Entonces, dado que entendía bien la creación de aplicaciones de interfaz gráfica de usuario de Python utilizando pyqt y Tkinter, pensé que sería fácil desarrollar aplicaciones de interfaz gráfica de usuario de gnome, pero fue exactamente lo contrario.

La parte más difícil fue comenzar. Todos los tutoriales que vi cuando aprendí era solo una entrada directa a la forma de GUI, pero no era una forma fácil para los principiantes. Me estaba poniendo cada vez más irritado por los códigos desesperados que había escrito cuando comencé a entender realmente la GUI de Gnome. Por lo tanto, después de una larga búsqueda, finalmente me decidí por PyGTK / GTK + y Glade.

Ambos son multiplataforma, por lo que trabajar, instalarlos y compilarlos exactamente no es un gran problema. Pero, dado que este es un blog para principiantes, no entraré en muchos detalles sobre Glade y otras cosas. Sugeriría ir con una herramienta Visual Grep que es muy simple. Cuando estaba aprendiendo a desarrollar aplicaciones de gnome, no sabía sobre V-Grep. Pero ahora, he simplificado esto para ti. También puede usar grep desde una línea de comando. Pero a veces, solo necesitas algo simple en lugar de ser extremadamente increíble y complicado.

Cursos recomendados

  • Capacitación de certificación en línea en VB.NET
  • Capacitación en certificación de ciencia de datos
  • Entrenamiento ISTQB
  • Curso profesional de Kali Linux

No puedo hacerlo más simple que usar la Cita de Albert Einstein:

“Si no puedes explicárselo a un niño de seis años, no lo entiendes tú mismo”.

Obviamente, la cita es un concepto amplio, pero no estamos aquí para hablar de la cita, ¿verdad?

Lo siguiente que debes entender es el concepto IDE. Obviamente, necesitarías un IDE adecuado. Entonces, como principiante, sugeriría usar PyCharm Community Edition. Pycharm es un entorno de desarrollo integrado que es extremadamente robusto con soporte completo para la finalización de pestañas y códigos, refactorización y depuración.

Si bien hay otros IDE como Adjuta y Eclipse, también se pueden usar para la pila de desarrollo GTK + Gnome, pero ninguno de ellos está tan fuertemente enfocado en el desarrollo como PyCharm.

GTK3 utiliza enlaces introspectivos que pueden ser problemáticos para algunos IDE. Pero Pycharm lo maneja con encanto al generar un esqueleto que también se conoce como sus módulos. Pero en caso de que no sea nuestra elección, siempre puede usar un paquete llamado faker que hace lo mismo.

Pero si intenta ejecutar una aplicación dentro de PyCharm usando faker, fallará, la razón es que los archivos falsos suplantan la aplicación GTK real. Pero aún así, es un comercio justo. No puedes obtener todo lo que quieres sin perder algo.

Una forma alternativa sería usar el generador de desarrollo Gnome IDE. Es un IDE que hace que la construcción de bases Gnome sea extremadamente simple.

A continuación se muestra cómo se ve el generador de desarrollo Gnome: Una captura de pantalla de mi PC:

Una mirada al desarrollador de desarrollo de Gnome y sabrá que esto funciona muy de cerca con GNOME3 HIG con una interfaz mínima. Aunque con una interfaz minimalista, incluye muchas características que harán que las aplicaciones gnome se vean como Loki frente a Hulk. Obtén el punto. ¡Si! Así es exactamente como es.

Y hablando de PyGTK, que también es impresionante, pero no exactamente del tipo principiante, contiene el proyecto PyGObject que es extremadamente interesante. PyGTk también admite la capacidad de moverse entre Python y C, lo que significa que puede crear rápidamente prototipos en python, y luego simplemente compilarlo en C para mejorar el rendimiento.

Los módulos que se ejecutan sobre el código principal de PyGObject no tienen que preocuparse por admitir las API de C Python. Solo necesitan comprender los conceptos básicos de la introspección de GObject, como las API de anotación y modelado, para que sean envolventes. Esta comprensión básica en realidad hace que los desarrolladores de GObject escriban API públicas más claras al restringir el uso o limitar a API privadas, algunos de los patrones de código más esotéricos que C permite.

Esto es importante para comprender el poder que la introspección brinda a los desarrolladores de aplicaciones y módulos. Ahora, si desea proporcionar un nuevo módulo de Python, no tiene que comprender la API de C Python; simplemente puede usar su conocimiento de GObject para crear una API accesible desde Python o cualquier otro lenguaje con soporte de Introspección, como JavaScript. Vala incluso tiene soporte para Introspección, por lo que puede escribir objetos en Vala y acceder a ellos a través de Python.

No tenemos un solo tiempo de ejecución, por lo que, desafortunadamente, no puede mezclar lenguajes de secuencias de comandos, pero la mayoría de los proyectos que usan introspección se escribirán exclusivamente en un lenguaje de secuencias de comandos o usarán un lenguaje compilado para su base y un lenguaje de secuencias de comandos para una rápida creación de prototipos, como lenguaje adhesivo o para complementos. El mayor desafío ha sido coordinar con las diferentes bibliotecas y aplicaciones que admiten o son compatibles con PyGObject.

La introspección es muy nueva y con eso vienen dolores de crecimiento. Sin embargo, antes de que los desarrolladores vinculantes pudieran trabajar en una burbuja, poniéndose al día con lo que los desarrolladores de API agregaron o cambiaron, vieron mejor. Sin embargo, ahora todo está tan altamente integrado que los desarrolladores vinculantes tienen que trabajar estrechamente con los desarrolladores de API.

Esto puede causar mucha frustración y un poco de trabajo extra para todos los involucrados, pero a la larga, la colaboración más estrecha se revelará en una mejor experiencia para el usuario final.

Si he aprendido algo en GNOME a lo largo de los años, lo que importa es el usuario final y el uso de Introspección ayuda a avanzar hacia ese objetivo.

Hablando del usuario final, hemos llegado al final de este blog. Para ser precisos, cuanto más digo, más confuso es pensar cuál usar exactamente al comenzar a aprender. El generador de desarrollo de Gnome es simple y tiene muchas características. Pero Python tiene un soporte extremo y sugeriría ir con eso, aunque a veces puede ser un poco complicado.

Artículos recomendados

Aquí hay algunos artículos que lo ayudarán a obtener más detalles sobre el desarrollo de Gnome a través de la Programación de Python, así que solo vaya al enlace.

  1. Carrera profesional en Python
  2. Nuevo futuro de Python: deberías estar usándolo (mejor)
  3. Python o Go
  4. Características asombrosas de Kali Linux vs Ubuntu
  5. 10 consejos simples pero útiles sobre programación en Python (trucos)