Sissejuhatus Gnome'i arengusse

Gnome arendusehitaja aitab probleeme lahendada ja GUI-sid luua reaalajas. Gnome Builder on kindel ökosüsteem, mida võiksite proovida enne, kui asute millegi muu juurde. See annab arendajatele rohkem jõudu ja paindlikkust. Varem piiras päkapikulauarakenduste arendamist SUGAR pütoni köidete puudumise ning hoolduse ja pakendamise puudumise tõttu.

Uurime üksikasjalikumalt Gnome'i arendamise kohta üksikasjalikumalt:

Tere kutid. Nii et täna räägiksime kurikuulsast Gnome'i arengust. Niisiis, kui olete pütoni ja Linuxi uustulnuk, pole see teie jaoks ideaalne koht. Peate tagasi minema ja mõned põhitõed selgeks saama. Kuid kui olete põhiline pythoni programmeerija ja kui teate vähemalt, kuidas fedora või ubuntu kallal töötada, siis on see õpetus täpselt teie jaoks.

Inimesed, kellel on teiste programmeerimiskeelte taust, võib see ajaveeb neid aidata, kuid kellel on vähemalt põhitõed, annab neile selge ülevaate, kuidas see töötab. Alustame siis?

Gnoomi arendamine

Esimene asi, mida meile vaja oleks, on stabiilne python-keskkond. Üks, mida ma kasutan ja soovitaksin kasutada, on Python 2.7. Kuigi tänapäeval kasutavad inimesed Python 3.3 või 3.4, soovitaksin kasutada 2.7, sest see on endiselt maailma enim kasutatud python versioon ning äärmiselt stabiilne ja ühilduv. Mõte Python 3.4 on ühilduv, kuid on asju, mis siiski python 3.4 murravad, mida me ilmselgelt ei soovi.

Teine asi oleks korralik Python GTK. Viimane ja stabiilne väljalase on praeguseks Python GTK +. Kuigi enne edasist jätkamist tuleb läbi lugeda GNOME HIG, mis on inimese liidese juhised, kuidas pütoni abil tõhusat Gnome'i rakendust kujundada. Kuid jällegi, kui see oleks nii lihtne, ei oleks te siin kõigepealt.

Gnome HIG-ist pole nii lihtne aru saada. Seega püüan selles ajaveebis anda võimalikult head mõistmist ja muuta see võimalikult lihtsaks. Kuid üks kord olete sellest blogist kõike aru saanud ja kui ma kõike ütlen, siis mõtlen seda. Nii et pärast selle ajaveebi valmimist soovitaksin kindlasti lugeda GNOME inimliidese juhendeid.

Esmalt koos GTK + -ga pakub tõhusa kasutajaliidese loomiseks mitmeid võimalusi ja ühiseid kujundusmustreid. Niisiis, eeldades, et teate, kuidas python-faile luua ja kerida, liigun edasi. Gnome-i rakendustega alustamine on akendes äärmiselt lihtne. Niisiis, kuna mul oli hea arusaam python GUI rakenduste loomisest pyqti ja Tkinteri abil, arvasin, et gnome GUI rakenduste väljatöötamine on lihtne, kuid see oli täpselt vastupidine.

Kõige raskem oli alustada. Kõik õpetused, mida õppimisel nägin, olid lihtsalt otsene sisenemine GUI-le, kuid mitte algajatele lihtsad viisid. Mind ärritas üha enam see, kui lootusetud koodid olin kirjutanud, kui hakkasin tegelikult Gnome GUI-d mõistma. Seetõttu otsustasin pärast pikka otsimist lõpuks PyGTK / GTK + ja Glade'i.

Mõlemad on platvormideülesed, nii et nende täpselt töötamine, installimine ja kompileerimine pole suur asi. Kuna tegemist on algajatele mõeldud ajaveebiga, ei hakka ma Glade'i ja muude asjade kohta eriti põhjalikult tutvuma. Ma soovitaksin minna Visual Grepi tööriistaga, mis on väga lihtne. Gnome-rakenduste arendamisel õppides ei teadnud ma V-Grepist. Kuid nüüd olen seda teie jaoks lihtsustanud. Võite käsurealt kasutada ka grepi. Kuid mõnikord vajate lihtsalt midagi lihtsat, selle asemel, et see oleks äärmiselt vinge ja keeruline.

Soovitatavad kursused

  • Veebipõhine sertifitseerimise koolitus VB.NET-is
  • Andmeteaduse sertifitseerimise koolitus
  • ISTQB koolitus
  • Professionaalne Kali Linuxi kursus

Ma ei saa seda lihtsamaks muuta, kui kasutada Albert Einsteini tsitaati:

"Kui te ei saa seda kuueaastasele lapsele selgitada, ei saa te sellest ise aru."

Ilmselt on pakkumine lai mõiste, kuid me ei ole siin, et pakkumist rääkida, kas me oleme?

Järgmine asi, mida peate mõistma, on IDE kontseptsioon. Ilmselt vajaksite korralikku IDE-d. Niisiis soovitaksin algajana kasutada PyCharmi kogukonna väljaannet. Pycharm on integreeritud arenduskeskkond, mis on ülimalt vastupidav ning pakub täielikku tuge vahekaartide ja koodide lõpuleviimiseks, taasaktiveerimiseks ja silumiseks.

Ehkki on ka teisi IDE-sid, nagu Adjuta ja Eclipse, saab neid kasutada ka GTK + Gnome arenduspaki jaoks, kuid ükski neist pole arengule nii jõuliselt keskendunud kui PyCharm.

GTK3 kasutab introspektiivseid köiteid, mis võib mõne IDE jaoks olla problemaatiline. Kuid Pycharm tegeleb sellega võluga, luues skeleti, mida tuntakse ka selle moodulitena. Kuid juhul, kui see pole meie valik, võite alati kasutada paketti nimega faker, mis teeb sama.

Kuid kui proovite rakendust PyCharmis fakerit kasutades käivitada, siis see ebaõnnestub, võltsfailide põhjus on tõeline GTK-rakendus. Kuid ikkagi, see on õiglane kaubandus. Midagi kaotamata ei saa kõike, mida soovid.

Teine võimalus oleks kasutada Gnome arendusehitajat IDE. See on IDE, mis muudab Gnome'i baasi ehitamise äärmiselt lihtsaks.

Gnome arenduse koostaja näeb välja järgmine: ekraanipilt minu arvutist:

Üks pilk Gnome arendusehitajale ja teate, et see töötab GNOME3 HIG-iga minimaalse liidesega eriti tihedalt. Ehkki koos minimalistliku liidesega sisaldab see palju funktsioone, mis muudavad gnome-rakendused Hokki ees Loki moodi. Saage aru. Jah! Täpselt nii see on.

Ja kui rääkida PyGTK-st, mis on samuti fantastiline, kuid pole just algaja tüüp, siis see sisaldab PyGObjecti projekti, mis on äärmiselt huvitav. PyGTk toetab ka võimalust liikuda Pythoni ja C vahel, mis tähendab, et saate Pythonis kiiresti prototüüpe luua ja siis jõudluse täiustamiseks lihtsalt C-faili kompileerida.

Peamise PyGObject-koodi peal töötavad moodulid ei pea muretsema C Pythoni API-de toetamise pärast. Nad peavad mõistma ainult neid GObject Introspectioni põhikontseptsioone, nagu annotatsioon ja API modelleerimine, nii et need oleksid mähitavad. See põhiteadmine paneb GObjekti arendajad kirjutama selgemaid avalikke API-sid, piirates mõnede esoteeriliste koodimustrite kasutamist, mida C lubab, või piirates nende privaatsete API-de kasutamist.

See on oluline, et mõista jõudu, mille Introspection rakenduste ja moodulite arendajatele annab. Nüüd, kui soovite pakkuda uut Pythoni moodulit, ei pea te C Pythoni API-st aru saama; võite lihtsalt kasutada oma GObjecti teadmisi API loomiseks, millele pääseb juurde Pythoni kaudu või mis tahes muus keeles, millel on Introspection tugi, näiteks JavaScripti abil. Vala toetab isegi Introspectioni, nii et saate Valas objekte kirjutada ja Pythoni kaudu neile juurde pääseda.

Meil pole ühte käitusaega, nii et kahjuks ei saa te skriptikeeli segada, kuid enamik introspektsiooni kasutavaid projekte kirjutatakse eranditult ühes skriptikeeles või kasutatakse nende baasiks kompileeritud keelt ja kiiret skriptikeelt prototüüpimine liimikeelena või pistikprogrammide jaoks. Suurim väljakutse on olnud koordineerimine erinevate raamatukogude ja rakendustega, mida PyGObject toetab või toetab.

Vaatlus on väga uus ja sellega kaasnevad kasvavad valud. Enne kui köitmisarendajad said töötada mullis, jõudsid nad kõige paremini selleni, mida API arendajad lisasid või muutsid. Kuid nüüd on kõik nii tugevalt integreeritud, et köitmise arendajad peavad tegema tihedat koostööd API arendajatega.

See võib põhjustada palju pettumusi ja natuke lisatööd kõigile asjaosalistele, kuid pikas perspektiivis näitab tihedam koostöö end parema lõppkasutaja kogemusena.

Kui olen aastate jooksul GNOME-is midagi õppinud, siis on oluline lõppkasutaja ja Introspektsiooni kasutamine aitab selle eesmärgi poole liikuda.

Lõppkasutajast rääkides oleme jõudnud selle ajaveebi lõppu. Kui täpne olla, siis mida rohkem ma ütlen, seda enam võib tekkida segane mõte mõelda, millist neist täpselt õppima asudes kasutada. Gnome arendusehitaja on lihtne ja sellel on palju funktsioone. Kuid Pythonil on äärmine tugi ja ma soovitaksin sellega edasi minna, ehkki see võib kohati natuke räpane olla.

Soovitatavad artiklid

Siin on mõned artiklid, mis aitavad teil Gnome'i arendamise kohta Pythoni programmeerimise kaudu üksikasju saada, nii et lihtsalt minge lingi kaudu.

  1. Karjäär Pythonis
  2. Pythoni uus tulevik: peaksite seda kasutama (parim)
  3. Python või Go
  4. Kali Linuxi ja Ubuntu suurepärased omadused
  5. 10 lihtsat, kuid kasulikku näpunäidet Pythoni programmeerimise kohta (nipid)

Kategooria: