Introduktion til Gnome-udvikling

Gnome-udviklingsbyggeren hjælper med at løse problemer og oprette GUI'er i realtid. Gnome Builder er et solidt økosystem, som du måske vil prøve, før du går videre til noget andet. Det giver udviklere mere magt og fleksibilitet. Tidligere var udviklingen af ​​gnome-apps begrænset af SUKKER på grund af utilgængeligheden af ​​pythonbindinger og manglende vedligeholdelse og emballering.

Lad os studere meget mere om Gnome-udvikling i detaljer:

Hej fyre. Så i dag ville vi tale om den berygtede Gnome-udvikling. Så hvis du er ny med python og Linux, er dette ikke det perfekte sted for dig. Du er nødt til at gå tilbage og få nogle grundlæggende ryddet. Men hvis du er en grundlæggende python-programmør, og hvis du i det mindste ved, hvordan du arbejder på fedora eller ubuntu, så er denne tutorial nøjagtigt for dig.

Folk, der har baggrund på andre programmeringssprog, kan denne blog hjælpe dem, men hvis de mindst har det grundlæggende rigtige vil give dem en klar forståelse af nøjagtigt, hvordan dette fungerer. Så starter vi?

Gnome-udvikling

Den første ting, som vi ville have brug for, er et stabilt python-miljø. Den, jeg bruger, og jeg vil foreslå at bruge, er Python 2.7. Selvom folk i dag bruger Python 3.3 eller 3.4, vil jeg foreslå at bruge 2.7, fordi det stadig er verdens mest anvendte version af python og ekstremt stabil og kompatibel. Troede Python 3.4 er kompatibel, men der er nogle ting, der stadig bryder Python 3.4, som vi selvfølgelig ikke ønsker.

Den anden ting ville være en ordentlig Python GTK. Den seneste og stabile udgivelse lige nu er Python GTK +. Selvom man fortsætter videre, skal man læse GNOME HIG, som er retningslinjer for menneskelig grænseflade, om, hvordan man designer en effektiv Gnome-app ved hjælp af python. Men igen, hvis det var så let, ville du ikke være her i første omgang.

Gnome HIG er ikke så let at forstå. Derfor vil jeg i denne blog forsøge at give den bedst mulige forståelse og gøre den så enkel som jeg kan. Men en gang har du forstået alt fra denne blog, og når jeg siger alt, mener jeg det. Så efter at have afsluttet denne blog vil jeg helt sikkert anbefale dig at læse GNOME retningslinjer for menneskelig grænseflade.

For at starte med GTK + giver du et antal muligheder såvel som fælles designmønstre for at skabe en effektiv brugergrænseflade. Så hvis jeg antager, at du ved, hvordan man opretter og runger pythonfiler, går jeg videre. Det er ekstremt let at komme i gang med gnome-apps i windows. Så da jeg havde en god forståelse af at oprette python GUI-apps ved hjælp af pyqt og Tkinter, tænkte jeg, at det ville være let at udvikle GNOME-GUI-apps, men det var præcis det modsatte.

Det sværeste var at komme i gang. Alle de øvelser, jeg så, da jeg lærte, var bare en direkte adgang til GUI-måde, men uden nogen nem måde for begyndere. Jeg blev mere og mere ekstremt irriteret over, hvor håbløse koder jeg havde skrevet, da jeg begyndte at forstå Gnome GUI. Derfor efter en lang søgning afsluttede jeg mig endelig for PyGTK / GTK + og Glade.

Begge er tværplatforme, så det er ikke en big deal at arbejde, installere og kompilere dem nøjagtigt. Men da dette er en blog for begyndere, får jeg ikke meget detaljeret om Glade og sånt. Jeg vil foreslå at gå med et Visual Grep-værktøj, som er meget enkelt. Da jeg lærte at udvikle gnome-apps, vidste jeg ikke om V-Grep. Men nu har jeg forenklet dette for dig. Du kan også bruge grep fra en kommandolinje. Men nogle gange har du bare brug for noget simpelt i stedet for at det er ekstremt awesome og kompliceret.

Anbefalede kurser

  • Online certificeringstræning i VB.NET
  • Data Science Certification Training
  • ISTQB-træning
  • Professionelt Kali Linux-kursus

Jeg kan ikke gøre det enklere end at bruge Albert Einsteins citat:

”Hvis du ikke kan forklare det for en seks-årig, forstår du det ikke selv.”

Naturligvis er citatet et bredt koncept, men vi er ikke her for at tale om citatet, vel?

Den næste ting, du skal forstå, er IDE-konceptet. Du har tydeligvis brug for en ordentlig IDE. Så som nybegynder vil jeg foreslå at bruge PyCharm Community Edition. Pycharm er et integreret udviklingsmiljø, der er ekstremt robust med fuld støtte til færdiggørelse af fane og kode, refactoring og debugging.

Mens der er andre IDE'er som Adjuta og Eclipse, kan de også bruges til GTK + Gnome-udviklingsstakken, men ingen af ​​dem er så robust fokuseret på udvikling som PyCharm.

GTK3 bruger introspektive bindinger, som kan være problematiske for nogle IDE'er. Men Pycharm håndterer det med charme ved at generere et skelet, der også er kendt som dets moduler. Men i tilfælde af at det ikke er vores valg, kan du altid bruge en pakke kaldet faker, der gør det samme.

Men hvis du forsøger at køre en app i PyCharm ved hjælp af faker, vil den mislykkes, fordi grunden til at faker-filer erstatter det rigtige GTK-program. Men stadig er det en fair handel. Du kan ikke få alt, hvad du vil, uden at miste noget.

En alternativ måde ville være at bruge Gnome-udviklingsbyggeren IDE. Det er en IDE, der gør Gnome-basebygningen ekstremt enkel.

Følgende er hvordan Gnome-udviklingsbyggeren ser ud: Et skærmbillede fra min pc:

Et kig på Gnome-udviklingsbyggeren, og du vil vide, at dette fungerer ekstremt tæt med GNOME3 HIG med en minimal grænseflade. Selvom det med en minimalistisk grænseflade indeholder det masser af funktioner, der får gnome-applikationer til at ligne Loki foran Hulk. Få point. Yeah! Det er præcis, hvordan det er.

Og når vi taler om PyGTK, som også er fantastisk, men ikke nøjagtigt en begyndertype, indeholder det PyGObject-projektet, som er ekstremt interessant. PyGTk understøtter også muligheden for at bevæge sig mellem Python og C, hvilket betyder, at du hurtigt kan oprette prototyper i python og derefter blot kompilere den til C til ydeevneforbedringer.

De moduler, der kører oven på den vigtigste PyGObject-kode, behøver ikke at bekymre dig om at understøtte C Python API'er. De behøver kun at forstå de grundlæggende GObject Introspection-koncepter, såsom annotation og modellering af API'er, så de kan ombrydes. Denne baseforståelse får faktisk GObject-udviklere til at skrive klarere offentlige API'er ved at begrænse brugen af ​​eller begrænse til private API'er, nogle af de mere esoteriske kodemønstre, som C tillader.

Dette er vigtigt for at forstå den magt, Introspection bringer til applikations- og moduludviklere. Hvis du nu vil levere et nyt Python-modul, behøver du ikke at forstå C Python API; Du kan blot bruge din GObject-viden til at oprette en API, der er tilgængelig fra Python eller ethvert andet sprog med Introspection-support, som JavaScript. Vala har endda støtte til Introspektion, så du kan skrive objekter i Vala og få adgang til dem via Python.

Vi har ikke en enkelt runtime, så desværre kan du ikke blande scripting-sprog, men de fleste projekter, der bruger introspektion, vil enten blive skrevet udelukkende på et scriptingsprog eller bruge et kompileret sprog til deres base og et scripting-sprog til hurtig prototype, som et limsprog eller til plugins. Den største udfordring har været at koordinere med de forskellige biblioteker og applikationer, der understøtter eller understøttes af PyGObject.

Introspektion er meget ny, og med det kommer voksensmerter. Før de bindende udviklere kunne arbejde i en boble og indhente det API-udviklere tilføjede eller ændrede, så de imidlertid bedst. Men nu er alt så højt integreret, at de bindende udviklere skal arbejde tæt sammen med API-udviklere.

Dette kan forårsage en masse frustration og lidt ekstra arbejde for alle involverede, men i det lange løb vil det tættere samarbejde afsløre sig i en bedre slutbrugeroplevelse.

Hvis jeg har lært noget i GNOME gennem årene, er det slutbrugeren, der betyder noget, og at bruge Introspection hjælper med at bevæge sig mod dette mål.

Når vi taler om slutbrugeren, er vi kommet til ende på denne blog. For at være præcis, jo mere jeg siger, jo mere kan det blive forvirrende at tænke på, hvilken man skal bruge nøjagtigt, når man begynder at lære. Gnome-udviklingsbygger er enkel og har masser af funktioner. Men Python har ekstrem støtte, og jeg vil foreslå at gå med det, selvom det til tider kan blive lidt rodet.

Anbefalede artikler

Her er nogle artikler, der hjælper dig med at få mere detaljeret information om Gnome-udviklingen via Python-programmering, så bare gå gennem linket.

  1. Karrierer i Python
  2. Pythons nye fremtid: Du burde bruge det (bedst)
  3. Python eller Go
  4. Fantastiske funktioner i Kali Linux vs Ubuntu
  5. 10 enkle, men nyttige tips til Python-programmering (tricks)

Kategori: