Inleiding tot de ontwikkeling van Gnome

De Gnome-ontwikkelaar helpt bij het oplossen van problemen en het creëren van GUI's in realtime. Gnome Builder is een solide ecosysteem dat je misschien wilt proberen voordat je verdergaat met iets anders. Het geeft ontwikkelaars meer kracht en flexibiliteit. Voorheen werd de ontwikkeling van gnome-apps beperkt door SUGAR vanwege de onbeschikbaarheid van python-bindingen en gebrek aan onderhoud en verpakking.

Laten we veel meer over de ontwikkeling van Gnome in detail bestuderen:

Hallo jongens. Dus vandaag zouden we het hebben over de beruchte Gnome-ontwikkeling. Dus, als je nieuw bent in python en Linux, dan is dit niet de perfecte plek voor jou. Je moet teruggaan en wat basiskennis krijgen. Maar als je een eenvoudige python-programmeur bent en als je op zijn minst weet hoe je aan fedora of ubuntu moet werken, dan is deze tutorial precies voor jou.

Mensen met een achtergrond van andere programmeertalen, deze blog kan hen helpen, maar als ze op zijn minst over de basisrechten beschikken, krijgen ze een duidelijk inzicht in hoe dit precies werkt. Dus, beginnen we?

Kabouter ontwikkeling

Het eerste dat we nodig zouden hebben, is een stabiele python-omgeving. Degene die ik gebruik en ik zou willen voorstellen is Python 2.7. Hoewel mensen tegenwoordig Python 3.3 of 3.4 gebruiken, stel ik voor 2.7 te gebruiken, omdat het nog steeds 's werelds meest gebruikte versie van python is en uiterst stabiel en compatibel. Gedachte Python 3.4 is compatibel, maar er zijn dingen die python 3.4 nog steeds breken, maar dat willen we natuurlijk niet.

Het tweede ding zou een echte Python GTK zijn. De nieuwste en stabiele release vanaf nu is Python GTK +. Hoewel je, voordat je verder gaat, de GNOME HIG, dat zijn Human Interface Guidelines, moet lezen over het ontwerpen van een effectieve Gnome-app met behulp van python. Maar nogmaals, als het zo gemakkelijk was, zou je hier niet in de eerste plaats zijn.

Gnome HIG is niet zo gemakkelijk te begrijpen. Daarom zal ik in deze blog proberen het best mogelijke begrip te geven en het zo eenvoudig mogelijk te maken. Maar ooit heb je alles begrepen van deze blog, en als ik alles zeg, meen ik het. Dus na het voltooien van deze blog, zou ik je zeker aanraden om GNOME Human Interface Guidelines te lezen.

Geef om te beginnen met GTK + een aantal mogelijkheden en algemene ontwerppatronen om een ​​effectieve gebruikersinterface te creëren. Dus, ervan uitgaande dat je weet hoe je python-bestanden moet maken en gebruiken, zal ik verder gaan. Aan de slag met gnome-apps in Windows is uiterst eenvoudig. Omdat ik een goed begrip had van het maken van python GUI-apps met pyqt en Tkinter, dacht ik dat het gemakkelijk zou zijn om gnome GUI-apps te ontwikkelen, maar het was precies het tegenovergestelde.

Het moeilijkste was om te beginnen. Alle tutorials die ik zag toen leren gewoon een directe toegang tot de GUI-manier was, maar zonder gemakkelijke manier voor beginners. Ik raakte meer en meer extreem geïrriteerd door hoe hopeloze codes die ik had geschreven toen ik Gnome GUI begon te begrijpen. Daarom besloot ik na lang zoeken uiteindelijk voor PyGTK / GTK + en Glade.

Beide zijn platformonafhankelijk, dus werken, installeren en compileren is niet erg. Maar omdat dit een blog voor beginners is, zal ik niet veel in detail treden over Glade en zo. Ik zou willen voorstellen om te gaan met een Visual Grep-tool die heel eenvoudig is. Toen ik leerde om gnome-apps te ontwikkelen, wist ik niets van V-Grep. Maar nu heb ik dit voor u vereenvoudigd. U kunt ook grep gebruiken vanaf een opdrachtregel. Maar soms heb je gewoon iets eenvoudigs nodig in plaats van dat het extreem geweldig en ingewikkeld is.

Aanbevolen cursussen

  • Online certificeringstraining in VB.NET
  • Data Science Certification-training
  • ISTQB-training
  • Professionele Kali Linux-cursus

Ik kan het niet eenvoudiger maken dan het citaat van Albert Einstein:

"Als je het niet kunt uitleggen aan een zesjarige, begrijp je het zelf niet."

Uiteraard is het citaat een breed begrip, maar we zijn hier niet om over het citaat te praten, toch?

Het volgende dat u moet begrijpen, is het IDE-concept. Je hebt duidelijk een goede IDE nodig. Dus, als een beginner, zou ik willen voorstellen PyCharm Community Edition te gebruiken. Pycharm is een geïntegreerde ontwikkelomgeving die uiterst robuust is met volledige ondersteuning voor het aanvullen van tabbladen en codes, het opnieuw invoeren en debuggen.

Hoewel er andere IDE's zijn, zoals Adjuta en Eclipse, kunnen ook deze worden gebruikt voor de GTK + Gnome-ontwikkelingsstapel, maar geen daarvan is zo robuust gericht op ontwikkeling als PyCharm.

GTK3 gebruikt introspectieve bindingen die voor sommige IDE's problematisch kunnen zijn. Maar Pycharm behandelt het met charme door een skelet te genereren dat ook bekend staat als zijn modules. Maar in het geval dat dat niet onze keuze is, kunt u altijd een pakket genaamd faker gebruiken dat hetzelfde doet.

Maar als u een app probeert te draaien binnen PyCharm met behulp van faker, zal het mislukken, omdat faker-bestanden de echte GTK-applicatie aanvullen. Maar toch, het is een eerlijke handel. Je kunt niet alles krijgen wat je wilt zonder iets te verliezen.

Een andere manier zou zijn om de Gnome-ontwikkelaar IDE te gebruiken. Het is een IDE die het bouwen van een Gnome-basis uiterst eenvoudig maakt.

Dit is hoe de Gnome-ontwikkelaar eruit ziet: een screenshot van mijn pc:

Eén blik op de Gnome-ontwikkelaar en u zult weten dat dit uiterst nauw samenwerkt met GNOME3 HIG met een minimale interface. Hoewel met een minimalistische interface, bevat het veel functies waardoor de kaboutertoepassingen op Loki voor Hulk lijken. Krijg het punt. Ja! Dat is precies hoe het is.

En over PyGTK gesproken, wat ook geweldig is, maar niet bepaald een beginnerstype, het bevat het PyGObject-project dat buitengewoon interessant is. PyGTk ondersteunt ook de mogelijkheid om te schakelen tussen Python en C, wat betekent dat u snel prototypes kunt maken in python en deze vervolgens eenvoudig kunt compileren in C voor prestatieverbeteringen.

De modules die bovenop de hoofd PyGObject-code worden uitgevoerd, hoeven zich geen zorgen te maken over het ondersteunen van C Python API's. Ze hoeven alleen de basis GObject-introspectieconcepten te begrijpen, zoals annotatie- en modellerings-API's, zodat ze omwikkelbaar zijn. Deze basiskennis zorgt er feitelijk voor dat GObject-ontwikkelaars duidelijkere openbare API's schrijven door het gebruik van, of te beperken tot private API's, enkele van de meer esoterische codepatronen die C toestaat te beperken.

Dit is belangrijk om de kracht te begrijpen die Introspection biedt voor applicatie- en moduleontwikkelaars. Als u nu een nieuwe Python-module wilt bieden, hoeft u de C Python-API niet te begrijpen; u kunt eenvoudig uw GObject-kennis gebruiken om een ​​API te maken die toegankelijk is vanuit Python of een andere taal met ondersteuning voor introspectie, zoals JavaScript. Vala biedt zelfs ondersteuning voor introspectie, dus u kunt objecten in Vala schrijven en ze openen via Python.

We hebben geen enkele runtime, dus u kunt helaas geen scriptingtalen mixen, maar de meeste projecten die introspectie gebruiken, worden ofwel uitsluitend in één scripttaal geschreven of gebruiken een gecompileerde taal als basis en een scripttaal voor snelle prototyping, als lijmtaal of voor plug-ins. De grootste uitdaging was het coördineren met de verschillende bibliotheken en applicaties die PyGObject ondersteunen of ondersteunen.

Introspectie is erg nieuw en daarmee komt groeipijn. Voordat de bindende ontwikkelaars in een bubbel konden werken, inhalen wat de API-ontwikkelaars hadden toegevoegd of gewijzigd, zagen ze echter het beste. Nu is alles echter zo sterk geïntegreerd dat de bindende ontwikkelaars nauw moeten samenwerken met de API-ontwikkelaars.

Dit kan veel frustratie en een beetje extra werk voor alle betrokkenen veroorzaken, maar op de lange termijn zal de nauwere samenwerking zich openbaren in een betere eindgebruikerservaring.

Als ik in de loop der jaren iets in GNOME heb geleerd, is het de eindgebruiker die ertoe doet en het gebruik van Introspection helpt dat doel te bereiken.

Over de eindgebruiker gesproken, we zijn aan het einde van deze blog gekomen. Om precies te zijn, hoe meer ik zeg, hoe meer het verwarrend kan worden om te bedenken welke je precies moet gebruiken wanneer je begint te leren. Gnome-ontwikkelaar is eenvoudig en heeft veel functies. Maar Python heeft extreme ondersteuning en ik zou willen suggereren dat het daar soms een beetje rommelig kan worden.

Aanbevolen artikelen

Hier zijn enkele artikelen die u zullen helpen meer informatie te krijgen over de Gnome-ontwikkeling via Python Programming, dus ga gewoon via de link.

  1. Carrières in Python
  2. Nieuwe toekomst van Python: u zou het moeten gebruiken (beste)
  3. Python of Go
  4. Verbazingwekkende functies van Kali Linux versus Ubuntu
  5. 10 eenvoudige maar nuttige tips voor het programmeren van Python (trucs)