Wprowadzenie do rozwoju Gnome

Kreator programowania Gnome pomaga rozwiązywać problemy i tworzyć GUI w czasie rzeczywistym. Gnome Builder to solidny ekosystem, który możesz wypróbować, zanim przejdziesz do czegokolwiek innego. Daje programistom więcej mocy i elastyczności. Wcześniej rozwój aplikacji gnome był ograniczony przez SUGAR z powodu niedostępności wiązań pytona oraz braku konserwacji i pakowania.

Przyjrzyjmy się szczegółowo o rozwoju Gnome:

Cześć chłopaki. Więc dzisiaj rozmawialiśmy o niesławnym rozwoju Gnome. Jeśli więc dopiero zaczynasz korzystać z Pythona i Linuksa, nie jest to idealne miejsce dla Ciebie. Musisz wrócić i wyczyścić podstawy. Ale jeśli jesteś podstawowym programistą python i wiesz przynajmniej, jak pracować na Fedorze lub Ubuntu, ten samouczek jest właśnie dla Ciebie.

Ludziom, którzy mają doświadczenie w innych językach programowania, ten blog może im pomóc, ale posiadanie przynajmniej podstawowych praw daje im jasne zrozumienie, jak to działa. Więc zaczynamy?

Rozwój gnomów

Pierwszą rzeczą, która byłaby nam potrzebna, jest stabilne środowisko Pythona. Tym, którego używam i sugerowałbym użycie, jest Python 2.7. Chociaż ludzie używają obecnie Pythona w wersji 3.3 lub 3.4, sugerowałbym użycie wersji 2.7, ponieważ jest to wciąż najczęściej używana wersja Pythona na świecie oraz niezwykle stabilna i kompatybilna. Myśl Python 3.4 jest kompatybilny, ale są pewne rzeczy, które wciąż łamią Python 3.4, czego oczywiście nie chcemy.

Druga rzecz to właściwy Python GTK. Najnowsza i stabilna wersja na dzień dzisiejszy to Python GTK +. Chociaż zanim przejdziemy dalej, należy przeczytać GNOME HIG, czyli Wytyczne dotyczące interfejsu człowieka, dotyczące projektowania skutecznej aplikacji Gnome za pomocą Pythona. Ale znowu, gdyby to było takie proste, nie byłoby cię tutaj.

Gnome HIG nie jest tak łatwy do zrozumienia. Dlatego na tym blogu postaram się jak najlepiej zrozumieć i uczynić to tak prostym, jak to tylko możliwe. Ale kiedyś zrozumiałeś wszystko z tego bloga, a kiedy mówię wszystko, mam na myśli. Po ukończeniu tego bloga z pewnością sugeruję przeczytanie Wytycznych GNOME Human Interface.

Na początek z GTK + daje n wiele możliwości, a także wspólne wzorce projektowe w celu stworzenia skutecznego interfejsu użytkownika. Zakładając, że wiesz, jak tworzyć i dzwonić do plików Pythona, będę kontynuować. Rozpoczęcie pracy z aplikacjami GNOME w systemie Windows jest niezwykle łatwe. Ponieważ dobrze rozumiałem tworzenie aplikacji GUI w Pythonie przy użyciu pyqt i Tkinter, pomyślałem, że łatwo będzie tworzyć aplikacje GUI dla GNOME, ale było dokładnie odwrotnie.

Najtrudniejsze było rozpoczęcie. Wszystkie samouczki, które widziałem podczas nauki, były tylko bezpośrednim wejściem do GUI, ale nie były łatwe dla początkujących. Byłem coraz bardziej irytowany tym, jak beznadziejne kody napisałem, kiedy zacząłem rozumieć GUI Gnome. Dlatego po długich poszukiwaniach w końcu zdecydowałem się na PyGTK / GTK + i Glade.

Oba są wieloplatformowe, więc ich praca, instalacja i kompilacja nie jest niczym wielkim. Ale ponieważ jest to blog dla początkujących, nie będę wchodził w szczegółowe informacje na temat Glade i innych rzeczy. Sugerowałbym skorzystanie z narzędzia Visual Grep, które jest bardzo proste. Kiedy uczyłem się tworzyć aplikacje gnome, nie wiedziałem o V-Grep. Ale teraz uprościłem to dla ciebie. Możesz także użyć grep z wiersza poleceń. Ale czasem potrzebujesz czegoś prostego, a nie niesamowicie niesamowitego i skomplikowanego.

Polecane kursy

  • Szkolenie certyfikacyjne online w VB.NET
  • Szkolenie z zakresu certyfikacji Data Science
  • Szkolenie ISTQB
  • Profesjonalny kurs Kali Linux

Nie mogę tego uczynić prostszym niż użycie cytatu Alberta Einsteina:

„Jeśli nie potrafisz wyjaśnić tego sześciolatkowi, sam tego nie rozumiesz.”

Oczywiście cytat jest szeroką koncepcją, ale nie jesteśmy tutaj, aby rozmawiać o cytacie, prawda?

Następną rzeczą, którą musisz zrozumieć, jest koncepcja IDE. Oczywiście potrzebujesz odpowiedniego IDE. Jako początkujący sugeruję korzystanie z PyCharm Community Edition. Pycharm to niezwykle wydajne zintegrowane środowisko programistyczne z pełnym wsparciem dla uzupełniania tabulatorów i kodu, refaktoryzacji i debugowania.

Chociaż istnieją inne środowiska IDE, takie jak Adjuta i Eclipse, one również mogą być używane w stosie deweloperskim GTK + Gnome, ale żadne z nich nie jest tak mocno skoncentrowane na rozwoju jak PyCharm.

GTK3 wykorzystuje introspektywne wiązania, które mogą być problematyczne dla niektórych IDE. Ale Pycharm radzi sobie z tym urokiem, generując szkielet, który jest również znany jako jego moduły. Ale w przypadku, gdy nie jest to nasz wybór, zawsze możesz użyć pakietu o nazwie faker, który robi to samo.

Ale jeśli spróbujesz uruchomić aplikację w PyCharm przy użyciu fakera, zakończy się ona niepowodzeniem, ponieważ fałszywe pliki zastępują prawdziwą aplikację GTK. Ale nadal jest to sprawiedliwy handel. Nie możesz dostać wszystkiego, czego chcesz, nie tracąc niczego.

Alternatywnym sposobem byłoby użycie IDE konstruktora programistów Gnome. To IDE sprawia, że ​​budowanie bazy Gnome jest niezwykle proste.

Oto jak wygląda konstruktor Gnome: Zrzut ekranu z mojego komputera:

Jedno spojrzenie na konstruktora Gnome i będziesz wiedział, że działa to bardzo ściśle z GNOME3 HIG z minimalnym interfejsem. Mimo minimalistycznego interfejsu zawiera wiele funkcji, dzięki którym aplikacje gnome będą wyglądać jak Loki przed Hulkiem. Złapać temat. Tak! Dokładnie tak jest.

Mówiąc o PyGTK, który jest również niesamowity, ale nie do końca typem początkującym, zawiera projekt PyGObject, który jest niezwykle interesujący. PyGTk obsługuje także możliwość przechodzenia między Pythonem i C, co oznacza, że ​​możesz szybko tworzyć prototypy w Pythonie, a następnie po prostu kompilować je w C w celu zwiększenia wydajności.

Moduły działające na głównym kodzie PyGObject nie muszą się martwić o obsługę interfejsów API języka C Python. Muszą tylko zrozumieć podstawowe koncepcje introspekcji GObject, takie jak API adnotacji i modelowania, aby można je było opakowac. To podstawowe zrozumienie sprawia, że ​​programiści GObject piszą jaśniejsze publiczne interfejsy API, ograniczając użycie lub ograniczanie do prywatnych interfejsów API niektórych bardziej ezoterycznych wzorców kodu, na które zezwala C.

Jest to ważne, aby zrozumieć siłę, jaką Introspekcja zapewnia twórcom aplikacji i modułów. Teraz, jeśli chcesz dostarczyć nowy moduł Python, nie musisz rozumieć API Python C; możesz po prostu użyć swojej wiedzy GObject, aby utworzyć interfejs API, który jest dostępny z Python lub dowolnego innego języka z obsługą introspekcji, np. JavaScript. Vala obsługuje nawet introspekcję, więc możesz pisać obiekty w Vali i uzyskiwać do nich dostęp za pośrednictwem Pythona.

Nie mamy jednego środowiska uruchomieniowego, więc niestety nie można mieszać języków skryptowych, ale większość projektów wykorzystujących introspekcję będzie albo napisana wyłącznie w jednym języku skryptowym, albo w języku bazowym dla języka podstawowego i języka skryptowego do szybkiego prototypowanie, jako język kleju lub wtyczek. Największym wyzwaniem była koordynacja z różnymi bibliotekami i aplikacjami, które obsługują lub są wspierane przez PyGObject.

Introspekcja jest bardzo nowa, a wraz z nią rośnie ból. Jednak zanim programiści wiązania mogli pracować w bańce, nadrabiając wszystko, co programiści API dodali lub zmienili, zobaczyli jednak najlepiej. Jednak teraz wszystko jest tak bardzo zintegrowane, że programiści wiązania muszą ściśle współpracować z programistami API.

Może to powodować wiele frustracji i trochę dodatkowej pracy dla wszystkich zaangażowanych, ale w dłuższej perspektywie bliższa współpraca ujawni się w lepszym doświadczeniu użytkownika końcowego.

Jeśli nauczyłem się czegokolwiek w GNOME przez lata, liczy się użytkownik końcowy, a korzystanie z Introspekcji pomaga osiągnąć ten cel.

Mówiąc o użytkowniku końcowym, doszliśmy do końca tego bloga. Mówiąc ściślej, im więcej powiem, tym bardziej może być mylące, kiedy wybrać, z którego dokładnie skorzystać, kiedy zaczniesz się uczyć. Kreator programowania Gnome jest prosty i ma wiele funkcji. Ale Python ma ekstremalne wsparcie i sugerowałbym skorzystanie z tego, choć czasami może być trochę niechlujny.

Polecane artykuły

Oto kilka artykułów, które pomogą ci uzyskać więcej informacji na temat rozwoju Gnome za pomocą programowania w języku Python, więc po prostu przejdź przez link.

  1. Kariera w Pythonie
  2. Nowa przyszłość Pythona: powinieneś go używać (najlepszy)
  3. Python lub Go
  4. Niesamowite funkcje Kali Linux vs Ubuntu
  5. 10 prostych, ale przydatnych wskazówek dotyczących programowania w języku Python (sztuczki)