Introduzione allo sviluppo di Gnome

Il generatore di sviluppo di Gnome aiuta a risolvere i problemi e a creare GUI in tempo reale. Gnome Builder è un solido ecosistema che potresti voler provare prima di affrontare qualsiasi altra cosa. Offre agli sviluppatori maggiore potenza e flessibilità. In precedenza, lo sviluppo di app di gnome era limitato da SUGAR a causa dell'indisponibilità di attacchi in pitone e della mancanza di manutenzione e packaging.

Studiamo molto di più sullo sviluppo di Gnome in dettaglio:

Ciao ragazzi. Quindi, oggi parleremmo del famigerato sviluppo di Gnome. Quindi, se non conosci Python e Linux, questo non è il posto perfetto per te. Devi tornare indietro e ottenere alcune basi cancellate. Ma se sei un programmatore di Python di base e se sai almeno come lavorare su Fedora o Ubuntu, questo tutorial è esattamente per te.

Le persone che hanno un background di altri linguaggi di programmazione, questo blog possono aiutarli, ma avere almeno le basi giuste darà loro una chiara comprensione di come funziona esattamente. Quindi, iniziamo?

Sviluppo di gnomi

La prima cosa di cui avremmo bisogno è un ambiente Python stabile. Quello che sto usando e che suggerirei di usare è Python 2.7. Anche se oggigiorno le persone usano Python 3.3 o 3.4, suggerirei di usare 2.7, perché è ancora la versione di Python più utilizzata al mondo ed estremamente stabile e compatibile. Thought Python 3.4 è compatibile, ma ci sono alcune cose che rompono ancora Python 3.4, che ovviamente non vogliamo.

La seconda cosa sarebbe una vera Python GTK. L'ultima versione e stabile al momento è Python GTK +. Sebbene prima di procedere oltre, è necessario leggere GNOME HIG, che è Human Interface Guidelines, su come progettare un'app Gnome efficace con l'aiuto di Python. Ma ancora una volta, se fosse così facile, non saresti qui in primo luogo.

Gnome HIG non è così facile da capire. Quindi, in questo blog, cercherò di fornire la migliore comprensione possibile e di renderlo il più semplice possibile. Ma una volta hai capito tutto da questo blog e quando dico tutto lo intendo. Quindi, dopo aver completato questo blog, ti suggerirei sicuramente di leggere le Linee guida per l'interfaccia umana di GNOME.

Per iniziare con GTK + fornire n numero di possibilità e modelli di progettazione comuni per creare un'interfaccia utente efficace. Quindi, supponendo che tu sappia come creare e suonare i file Python, procederò in avanti. Iniziare con le app di gnome in Windows è estremamente facile. Quindi, dal momento che avevo una buona conoscenza della creazione di app GUI python usando pyqt e Tkinter, ho pensato che sarebbe stato facile sviluppare app GUI gnome, ma era esattamente il contrario.

La parte più difficile è stata iniziare. Tutti i tutorial che ho visto durante l'apprendimento erano solo un accesso diretto alla GUI, ma senza un modo semplice per i principianti. Stavo diventando sempre più estremamente irritato dal modo in cui avevo scritto i codici senza speranza quando ho iniziato a capire davvero la GUI di Gnome. Quindi, dopo una lunga ricerca, ho finalmente optato per PyGTK / GTK + e Glade.

Entrambi sono multipiattaforma, quindi lavorare, installarli e compilarli esattamente non è un grosso problema. Ma, poiché questo è un blog per principianti, non entrerò nei dettagli di Glade e roba del genere. Suggerirei di utilizzare uno strumento Visual Grep che è molto semplice. Quando stavo imparando a sviluppare app di gnome, non sapevo di V-Grep. Ma ora, ho semplificato questo per te. Puoi anche usare grep da una riga di comando. Ma a volte, hai solo bisogno di qualcosa di semplice piuttosto che essere estremamente fantastico e complicato.

Corsi consigliati

  • Formazione sulla certificazione online in VB.NET
  • Formazione sulla certificazione di data science
  • Formazione ISTQB
  • Corso professionale Kali Linux

Non posso renderlo più semplice dell'uso della citazione di Albert Einstein:

"Se non riesci a spiegarlo a un bambino di sei anni, non lo capisci da solo."

Ovviamente, la citazione è un concetto ampio, ma non siamo qui per parlare della citazione, vero?

La prossima cosa che devi capire è il concetto IDE. Avresti ovviamente bisogno di un IDE adeguato. Quindi, come principiante, suggerirei di usare PyCharm Community Edition. Pycharm è un ambiente di sviluppo integrato estremamente robusto con pieno supporto per il completamento di tab e code, refactoring e debugging.

Mentre ci sono altri IDE come Adjuta ed Eclipse, anche loro possono essere usati per lo stack di sviluppo GTK + Gnome, ma nessuno di essi è fortemente focalizzato sullo sviluppo come PyCharm.

GTK3 utilizza attacchi introspettivi che possono essere problematici per alcuni IDE. Ma Pycharm lo gestisce con fascino generando uno scheletro che è anche noto come i suoi moduli. Ma nel caso in cui non fosse la nostra scelta, puoi sempre usare un pacchetto chiamato faker che fa la stessa cosa.

Ma se provi a eseguire un'app all'interno di PyCharm usando faker, fallirà, il motivo per cui i file faker sostituiscono la vera applicazione GTK. Ma comunque, è un commercio equo. Non puoi ottenere tutto ciò che desideri senza perdere qualcosa.

Un modo alternativo sarebbe usare l'IDE del builder di sviluppo di Gnome. È un IDE che rende estremamente semplice la costruzione della base di Gnome.

Di seguito è riportato l'aspetto del generatore di sviluppo di Gnome: Una schermata dal mio PC:

Uno sguardo al generatore di sviluppo di Gnome e saprai che funziona in modo estremamente stretto con GNOME3 HIG con un'interfaccia minima. Anche se con un'interfaccia minimalista, include molte funzionalità che faranno apparire le applicazioni gnome come Loki di fronte a Hulk. Ottieni il punto. Si! È esattamente così.

E a proposito di PyGTK, che è anche fantastico, ma non esattamente un tipo per principianti, contiene il progetto PyGObject che è estremamente interessante. PyGTk supporta anche la possibilità di spostarsi tra Python e C, il che significa che è possibile creare rapidamente prototipi in Python e quindi semplicemente compilarlo in C per migliorare le prestazioni.

I moduli in esecuzione sul codice PyGObject principale non devono preoccuparsi di supportare le API C Python. Devono solo comprendere i concetti base di GObject Introspection come le API di annotazione e modellazione in modo che siano avvolgibili. Questa comprensione di base in realtà rende gli sviluppatori di GObject a scrivere API pubbliche più chiare limitando l'uso o limitandosi alle API private, alcuni dei modelli di codice più esoterici consentiti da C.

Questo è importante per comprendere il potere che Introspection offre agli sviluppatori di applicazioni e moduli. Ora, se si desidera fornire un nuovo modulo Python, non è necessario comprendere l'API C Python; puoi semplicemente utilizzare le tue conoscenze su GObject per creare un'API accessibile da Python o da qualsiasi altra lingua con supporto Introspection, come JavaScript. Vala ha anche il supporto per Introspection, quindi puoi scrivere oggetti in Vala e accedervi tramite Python.

Non abbiamo un unico runtime, quindi, sfortunatamente, non puoi mescolare i linguaggi di scripting, ma la maggior parte dei progetti che usano l'introspezione o saranno scritti esclusivamente in un linguaggio di scripting o utilizzeranno un linguaggio compilato per la loro base e un linguaggio di scripting per una rapida prototipazione, come linguaggio colla o per plugin. La più grande sfida è stata il coordinamento con le diverse librerie e applicazioni che supportano o sono supportate da PyGObject.

L'introspezione è nuovissima e da ciò derivano crescenti dolori. Prima che gli sviluppatori vincolanti potessero funzionare in una bolla, raggiungendo qualsiasi cosa gli sviluppatori API aggiunti o modificati, tuttavia, vedevano meglio. Tuttavia, ora tutto è così altamente integrato che gli sviluppatori di binding devono lavorare a stretto contatto con gli sviluppatori API.

Ciò può causare molta frustrazione e un po 'di lavoro extra per tutti i soggetti coinvolti, ma a lungo termine, una collaborazione più stretta si rivelerà in una migliore esperienza per l'utente finale.

Se nel corso degli anni ho imparato qualcosa in GNOME, è l'utente finale che conta e l'utilizzo di Introspection aiuta a raggiungere questo obiettivo.

Parlando dell'utente finale, siamo arrivati ​​alla fine di questo blog. Per essere precisi, più dico, più può diventare confuso pensare a quale usare esattamente quando si inizia a imparare. Il generatore di sviluppo di Gnome è semplice e ha molte funzionalità. Ma Python ha un supporto estremo e suggerirei di farlo anche se a volte può diventare un po 'disordinato.

Articoli consigliati

Ecco alcuni articoli che ti aiuteranno a ottenere maggiori dettagli sullo sviluppo di Gnome tramite la programmazione in Python, quindi passa attraverso il link.

  1. Carriere in Python
  2. Nuovo futuro di Python: dovresti usarlo (il migliore)
  3. Python o Go
  4. Funzionalità incredibili di Kali Linux vs Ubuntu
  5. 10 consigli semplici ma utili sulla programmazione Python (trucchi)

Categoria: