Úvod do vývoja škriatkov

Tvorca vývoja Gnome pomáha riešiť problémy a vytvárať GUI v reálnom čase. Gnome Builder je solídny ekosystém, ktorý možno budete chcieť vyskúšať skôr, ako sa dostanete k čomukoľvek inému. Poskytuje vývojárom viac sily a flexibility. Doteraz bol vývoj aplikácií gnomov obmedzený produktom SUGAR z dôvodu nedostupnosti pythonových väzieb a nedostatku údržby a balenia.

Pozrime sa podrobnejšie na vývoj škriatkov:

Čaute ľudia. Dnes by sme teda hovorili o neslávnom vývoji škriatkov. Takže, ak ste nováčikom v Pythone a Linuxe, potom to nie je pre vás to pravé miesto. Musíte sa vrátiť a získať určité základné informácie. Ale ak ste základný pythonový programátor a viete aspoň, ako pracovať na fedore alebo ubuntu, tento tutoriál je práve pre vás.

Ľudia, ktorí majú skúsenosti s inými programovacími jazykmi, vám tento blog môže pomôcť, majú však aspoň základné vedomosti o tom, ako presne to funguje. Začneme teda?

Vývoj škriatkov

Prvá vec, ktorú by sme potrebovali, je stabilné prostredie pythonu. Ten, ktorý používam a ktorý by som navrhol používať, je Python 2.7. Hoci ľudia v súčasnosti používajú Python 3.3 alebo 3.4, navrhoval by som používať 2, 7, pretože je stále najpoužívanejšou verziou pythonu na svete a je extrémne stabilný a kompatibilný. Myšlienka Python 3.4 je kompatibilná, ale existujú veci, ktoré stále porušujú Python 3.4, čo samozrejme nechceme.

Druhou vecou by bol správny Python GTK. Najnovšie a stabilné vydanie odteraz je Python GTK +. Aj keď predtým, ako budete pokračovať, musíte si prečítať GNOME HIG, čo sú Pokyny pre ľudské rozhranie, o tom, ako navrhnúť efektívnu aplikáciu Gnome pomocou pythonu. Ale opäť, ak by to bolo také ľahké, v prvom rade by ste tu neboli.

Gnome HIG nie je také ľahké pochopiť. Preto sa v tomto blogu pokúsim poskytnúť čo najlepšie porozumenie a urobiť to čo najjednoduchším. Ale raz ste pochopili všetko z tohto blogu a keď hovorím všetko, myslím to vážne. Po dokončení tohto blogu by som vám teda určite odporúčal prečítať si pokyny pre ľudské rozhranie GNOME.

Ak chcete začať s GTK +, poskytnite n množstvo možností, ako aj spoločné návrhové vzory na vytvorenie efektívneho používateľského rozhrania. Takže za predpokladu, že viete, ako vytvárať a šíriť súbory pythonu, budem pokračovať ďalej. Začíname s aplikáciami GNOME v systéme Windows je veľmi jednoduché. Takže, keďže som dobre rozumel vytváraniu python GUI aplikácií pomocou pyqt a Tkinter, myslel som si, že bude ľahké vyvíjať GNOME GUI aplikácie, ale bolo to presne naopak.

Najťažšie bolo začať. Všetky príručky, ktoré som videl, keď sa učili, boli iba priamym vstupom do GUI, ale pre začiatočníkov nebol jednoduchý. Čoraz viac som bol veľmi podráždený tým, aké beznádejné kódy som napísal, keď som začal skutočne chápať GUI Gnome. Preto som sa po dlhom hľadaní konečne uspokojil s PyGTK / GTK + a Glade.

Obidva sú multiplatformové, takže ich práca, inštalácia a kompilácia nie sú vecou. Ale keďže ide o blog pre začiatočníkov, nebudem sa do podrobností o Glade a ďalších veciach podrobnejšie venovať. Navrhoval by som ísť s nástrojom Visual Grep, ktorý je veľmi jednoduchý. Keď som sa učil vyvíjať aplikácie gnome, nevedel som o V-Grepovi. Ale teraz som to pre vás zjednodušil. Môžete použiť aj grep z príkazového riadku. Ale niekedy stačí niečo jednoduchšie, než aby to bolo extrémne úžasné a komplikované.

Odporúčané kurzy

  • Online certifikačné školenie vo VB.NET
  • Školenie o certifikácii vedy o údajoch
  • Školenie ISTQB
  • Profesionálny kurz Linuxu Kali

Nemôžem to zjednodušiť, než použiť citáciu Alberta Einsteina:

"Ak to nedokážete vysvetliť šesťročnému dieťaťu, sami tomu nerozumiete."

Je zrejmé, že ponuka je široký pojem, ale nie sme tu, aby sme hovorili o ponuke, však?

Ďalšiu vec, ktorú musíte pochopiť, je koncept IDE. Zrejme by ste potrebovali správne IDE. Ako začiatočník by som preto navrhol používať PyCharm Community Edition. Pycharm je integrované vývojové prostredie, ktoré je extrémne robustné s plnou podporou dokončovania kariet a kódov, refaktoringu a ladenia.

Aj keď existujú ďalšie IDE, ako napríklad Adjuta a Eclipse, môžu sa použiť aj pre vývojový balík GTK + Gnome, ale žiadny z nich nie je rovnako zameraný na vývoj ako PyCharm.

GTK3 používa introspektívne väzby, ktoré môžu byť pre niektoré IDE problematické. Ale Pycharm to zvláda s šarmom vytvorením kostry, ktorá je známa aj ako jej moduly. Ale v prípade, že to nie je naša voľba, môžete vždy použiť balík s názvom faker, ktorý robí to isté.

Ale ak sa pokúsite spustiť aplikáciu v PyCharm pomocou faker, zlyhá, pretože faker súbory nahradia skutočnú GTK aplikáciu. Ale stále je to spravodlivý obchod. Nemôžete získať všetko, čo chcete, bez toho, aby ste niečo stratili.

Alternatívnym spôsobom by bolo použitie vývojového vývojového nástroja Gnome IDE. Je to IDE, vďaka ktorému je budova základne Gnome mimoriadne jednoduchá.

Ako vyzerá vývojár vývoja Gnome: Snímka obrazovky z môjho počítača:

Jeden pohľad na vývojára Gnome a budete vedieť, že to veľmi úzko spolupracuje s GNOME3 HIG s minimálnym rozhraním. Aj keď s minimalistickým rozhraním, obsahuje veľa funkcií, vďaka ktorým budú aplikácie gnome vyzerať ako Loki pred Hulkom. Pochopte to. Yeah! Presne tak to je.

A keď už hovoríme o PyGTK, čo je tiež úžasné, ale nie celkom začiatočník, obsahuje projekt PyGObject, ktorý je mimoriadne zaujímavý. PyGTk tiež podporuje schopnosť presúvať sa medzi Pythonom a C, čo znamená, že v Pythone môžete rýchlo vytvárať prototypy a potom ich jednoducho skompilovať do jazyka C, aby ste zvýšili výkon.

Moduly, ktoré bežia na vrchole hlavného kódu PyGObject, sa nemusia starať o podporu API C Python. Potrebujú iba porozumieť základným konceptom GObject Introspection, ako sú anotácia a modelovanie API, aby boli baliteľné. Toto základné porozumenie v skutočnosti vedie vývojárov GObjectu k jasnejšiemu písaniu verejných API obmedzením použitia alebo obmedzením na súkromné ​​API, niektoré z ezoterickejších kódových vzorov, ktoré umožňuje C.

Toto je dôležité na pochopenie sily, ktorú Introspection prináša vývojárom aplikácií a modulov. Ak teraz chcete poskytnúť nový modul Python, nemusíte rozumieť rozhraniu API C Python; môžete jednoducho použiť svoje znalosti GObject na vytvorenie API, ktoré je prístupné z Pythonu alebo iného jazyka s podporou Introspection, ako je JavaScript. Vala dokonca podporuje Introspection, takže môžete písať objekty vo Vale a pristupovať k nim cez Python.

Nemáme jediný runtime, takže, bohužiaľ, nemôžete kombinovať skriptovacie jazyky, ale väčšina projektov, ktoré používajú introspekciu, bude napísaná výlučne v jednom skriptovacom jazyku alebo pre svoju základňu použije kompilovaný jazyk a skriptovací jazyk pre rýchle prototypovanie, ako lepivý jazyk alebo pre doplnky. Najväčšou výzvou bola koordinácia s rôznymi knižnicami a aplikáciami, ktoré podporujú alebo sú podporované programom PyGObject.

Inšpekcia je veľmi nová a s ňou prichádzajú aj rastúce bolesti. Predtým, ako vývojári väzieb mohli pracovať v bubline, dohnali všetko, čo vývojári API pridali alebo zmenili, ale videli to najlepšie. Teraz je však všetko tak integrované, že vývojári väzieb musia úzko spolupracovať s vývojármi API.

To môže spôsobiť veľa frustrácie a trochu práce navyše pre všetkých zúčastnených, ale z dlhodobého hľadiska sa užšia spolupráca prejaví v lepšej skúsenosti koncového používateľa.

Ak som sa v priebehu rokov dozvedel niečo v GNOME, je to konečný užívateľ, na ktorom záleží a používanie Introspection pomáha posunúť sa k tomuto cieľu.

Keď už hovoríme o koncovom používateľovi, dospeli sme na koniec tohto blogu. Aby som bol presný, čím viac hovorím, tým viac môže byť mätúce vymyslieť, ktorý z nich by sa mal presne použiť, keď sa začne učiť. Vývojár vývojárov GNOME je jednoduchý a má veľa funkcií. Ale Python má extrémnu podporu a ja by som navrhol ísť s tým, hoci to niekedy môže byť trochu chaotické.

Odporúčané články

Tu je niekoľko článkov, ktoré vám pomôžu získať viac podrobností o vývoji škriatkov pomocou programovania Python, takže stačí prejsť na odkaz.

  1. Kariéra v Pythone
  2. Nová budúcnosť Pythonu: Mali by ste ju používať (najlepšie)
  3. Python alebo Go
  4. Úžasné vlastnosti systému Kali Linux vs Ubuntu
  5. 10 jednoduchých, ale užitočných tipov na programovanie v Pythone (triky)

Kategórie: