Introduksjon til Gnome-utvikling

Gnome-utviklingsbyggeren hjelper deg med å løse problemer og lage GUI-er på sanntidsbasis. Gnome Builder er et solid økosystem som du kanskje vil prøve før du går videre til noe annet. Det gir utviklere mer kraft og fleksibilitet. Tidligere var utviklingen av gnome-apper begrenset av SUKKER på grunn av utilgjengeligheten av pythonbindinger og mangel på vedlikehold og emballasje.

La oss studere mye mer om Gnome-utvikling i detalj:

Hei folkens. Så i dag ville vi snakke om den beryktede Gnome-utviklingen. Så hvis du er ukjent med python og Linux, er dette ikke det perfekte stedet for deg. Du må gå tilbake og få noen av de grunnleggende løsningene. Men, hvis du er en grunnleggende python-programmerer og hvis du i det minste vet hvordan du skal jobbe med fedora eller ubuntu, så er denne opplæringen akkurat for deg.

Folk som har bakgrunn i andre programmeringsspråk, denne bloggen kan hjelpe dem, men hvis de i det minste har det grunnleggende riktig, vil de gi en klar forståelse av nøyaktig hvordan dette fungerer. Så begynner vi?

Gnomeutvikling

Det første vi trenger, er et stabilt pytonmiljø. Den jeg bruker og jeg vil foreslå å bruke er Python 2.7. Selv om folk i dag bruker Python 3.3 eller 3.4, vil jeg foreslå at du bruker 2.7, fordi det fremdeles er verdens mest brukte versjon av python og ekstremt stabil og kompatibel. Trodde Python 3.4 er kompatibel, men det er noen ting som fremdeles bryter Python 3.4, som vi tydeligvis ikke vil ha.

Den andre tingen ville være en ordentlig Python GTK. Den siste og stabile utgivelsen per nå er Python GTK +. Selv om man må lese GNOME HIG, som er retningslinjer for menneskelig grensesnitt, før man fortsetter videre, om hvordan man designer en effektiv Gnome-app ved hjelp av python. Men igjen, hvis det var så enkelt, ville du ikke vært her i utgangspunktet.

Gnome HIG er ikke så lett å forstå. Dermed vil jeg i denne bloggen prøve å gi best mulig forståelse og å gjøre det så enkelt jeg kan. Men en gang har du forstått alt fra denne bloggen, og når jeg sier alt, så mener jeg det. Så etter å ha fullført denne bloggen, vil jeg helt sikkert foreslå at du leser GNOME retningslinjer for menneskelig grensesnitt.

For å starte med GTK + gi et antall muligheter så vel som vanlige designmønstre for å skape et effektivt brukergrensesnitt. Så hvis jeg forutsetter at du vet hvordan du oppretter og runger pythonfiler, fortsetter jeg. Det er ekstremt enkelt å komme i gang med gnome-apper i windows. Så siden jeg hadde god forståelse for å lage Python GUI-apper ved bruk av pyqt og Tkinter, tenkte jeg at det ville være enkelt å utvikle gnome GUI-apper, men det var akkurat det motsatte.

Det vanskeligste var å komme i gang. Alle veiledningene jeg så da jeg lærte, var bare en direkte inngang til GUI-måten, men uten noen enkel måte for nybegynnere. Jeg ble mer og mer ekstremt irritert over hvor håpløse koder jeg hadde skrevet da jeg begynte å forstå Gnome GUI. Derfor, etter et langt søk, nøyde jeg meg endelig med PyGTK / GTK + og Glade.

Begge deler er tverrplattform, så det å jobbe, installere og kompilere dem er ikke så farlig. Men siden dette er en blogg for nybegynnere, vil jeg ikke komme i detalj på Glade og sånt. Jeg vil foreslå å gå med et Visual Grep-verktøy som er veldig enkelt. Da jeg lærte å utvikle gnome-apper, visste jeg ikke om V-Grep. Men nå har jeg forenklet dette for deg. Du kan også bruke grep fra en kommandolinje. Men noen ganger trenger du bare noe enkelt i stedet for at det er ekstremt kjempebra og komplisert.

Anbefalte kurs

  • Online sertifisering trening i VB.NET
  • Data Science Certification Training
  • ISTQB-opplæring
  • Profesjonelt Kali Linux-kurs

Jeg kan ikke gjøre det enklere enn å bruke Albert Einsteins sitat:

"Hvis du ikke kan forklare det for en seksåring, forstår du ikke det selv."

Selvfølgelig er sitatet et bredt konsept, men vi er ikke her for å snakke om sitatet, er vi vel?

Det neste du må forstå er IDE-konseptet. Du vil åpenbart trenge en skikkelig IDE. Så som nybegynner vil jeg foreslå å bruke PyCharm Community Edition. Pycharm er et integrert utviklingsmiljø som er ekstremt robust med full støtte for utfylling av faner og koder, refaktoring og feilsøking.

Selv om det er andre IDE-er som Adjuta og Eclipse, kan de også brukes til GTK + Gnome-utviklingsbunken, men ingen av dem er like sterkt fokusert på utvikling som PyCharm.

GTK3 bruker introspektive bindinger som kan være problematiske for noen IDE-er. Men Pycharm håndterer det med sjarm ved å generere et skjelett som også er kjent som modulene. Men i tilfelle, det er ikke vårt valg, kan du alltid bruke en pakke som heter faker som gjør det samme.

Men hvis du prøver å kjøre en app i PyCharm ved å bruke faker, vil den mislykkes, grunnen til at fakerfiler erstatter den virkelige GTK-applikasjonen. Men likevel er det en rettferdig handel. Du kan ikke få alt du vil uten å miste noe.

En alternativ måte ville være å bruke Gnome-utviklingsbyggeren IDE. Det er en IDE som gjør Gnome-basebygningen ekstremt enkel.

Følgende er hvordan Gnome-utviklingsbyggeren ser ut: Et skjermbilde fra min PC:

Når du ser på Gnome utviklingsbygger, vil du vite at dette fungerer ekstremt tett med GNOME3 HIG med et minimalt grensesnitt. Selv om det med et minimalistisk grensesnitt inkluderer det mange funksjoner som får gnome-applikasjonene til å se ut som Loki foran Hulk. Ta poenget. Yeah! Det er akkurat slik det er.

Og snakker om PyGTK, som også er kjempebra, men ikke akkurat en nybegynnertype, inneholder den PyGObject-prosjektet som er ekstremt interessant. PyGTk støtter også muligheten til å bevege deg mellom Python og C, noe som betyr at du raskt kan lage prototyper i python, og deretter ganske enkelt kompilere den til C for ytelsesforbedringer.

Modulene som kjøres på toppen av PyGObject-koden, trenger ikke å bekymre deg for å støtte C Python API-er. De trenger bare å forstå de grunnleggende GObject Introspection-konseptene som kommentarer og modellering av API-er, slik at de kan pakkes inn. Denne grunnforståelsen får faktisk GObject-utviklere til å skrive tydeligere offentlige API-er ved å begrense bruken av eller begrense til private API-er, noen av de mer esoteriske kodemønstrene som C tillater.

Dette er viktig for å forstå kraften som Introspection gir applikasjons- og modulutviklere. Hvis du vil tilby en ny Python-modul, trenger du ikke å forstå C Python API; Du kan ganske enkelt bruke GObject-kunnskapen din til å lage et API som er tilgjengelig fra Python eller et hvilket som helst annet språk med Introspection-støtte, som JavaScript. Vala har til og med støtte for introspeksjon, slik at du kan skrive objekter i Vala og få tilgang til dem gjennom Python.

Vi har ikke en enkelt kjøretid, så dessverre kan du ikke blande skriptspråk, men de fleste prosjekter som bruker introspeksjon vil enten bli skrevet utelukkende på ett skriptspråk eller bruke et kompilert språk for basen og et skriptspråk for raskt prototyping, som limspråk eller for plugins. Den største utfordringen har vært å koordinere med de forskjellige bibliotekene og applikasjonene som støtter eller støttes av PyGObject.

Introspeksjon er veldig nytt og med det kommer voksensmerter. Før de bindende utviklerne kunne jobbe i en boble og innhente det API-utviklerne la til eller endret, så de imidlertid best. Nå er imidlertid alt så høyt integrert at de bindende utviklerne må jobbe tett med API-utviklerne.

Dette kan forårsake mye frustrasjon og litt ekstra arbeid for alle involverte, men på sikt vil det tettere samarbeidet avsløre seg i en bedre sluttbrukeropplevelse.

Hvis jeg har lært noe i GNOME gjennom tidene, er det sluttbrukeren som betyr noe, og å bruke Introspection hjelper oss med å gå mot det målet.

Apropos sluttbrukeren, vi har kommet til en slutt på denne bloggen. For å være presis, jo mer jeg sier, jo mer kan det bli forvirrende å tenke på hvilken man skal bruke nøyaktig når man begynner å lære. Gnome-utviklingsbygger er enkel og har mange funksjoner. Men Python har ekstrem støtte, og jeg vil foreslå at du går med det, selv om det til tider kan bli litt rotete.

Anbefalte artikler

Her er noen artikler som vil hjelpe deg å få mer detaljert informasjon om Gnome-utviklingen via Python-programmering, så bare gå gjennom lenken.

  1. Karrierer i Python
  2. New Future of Python: Du burde bruke det (best)
  3. Python eller Go
  4. Fantastiske funksjoner ved Kali Linux vs Ubuntu
  5. 10 enkle, men nyttige tips om Python-programmering (triks)