Tworzę aplikację i myślę, że HTML i JavaScript są lepsze na przyszłość, ale nie mogę znaleźć żadnych samouczków (potrzebuję aplikacji do korzystania z motywu systemowego).
Czy istnieją powiązania dla Unity, menu wiadomości i powiadomień, couchdb i tak dalej?
Odpowiedzi:
Dobry punkt wyjścia dla powiązań i interfejsów API w systemie Ubuntu można znaleźć na stronie developer.ubuntu.com . Nie mam z tym żadnego doświadczenia, ale prawdopodobnie będziesz także chciał zajrzeć do Gjs, powiązań JavaScript dla GNOME.
W zależności od tego, co próbujesz zrobić, możesz po prostu zbudować aplikację jak każdą aplikację HTML + JS, a następnie wrzucić ją do widoku Webkit. W Pythonie jest to bardzo proste:
źródło
Możesz rozwijać przy użyciu HTML + JavaScript dla interfejsu, używając osadzonej ramki WebKit w oknie Gtk (najłatwiej to zrobić w Pythonie). Najtrudniejsza część to komunikacja z systemem z aplikacji HTML / JavaScript.
Możesz to zrobić, przesyłając wiadomości między Javascriptem a Pythonem. Będziesz jednak musiał napisać logikę systemową jako funkcje Pythona, ale jest to dość łatwe do zrobienia.
Oto prosty przykład pokazujący komunikację między Pythonem a Javascriptem. W tym przykładzie HTML / JavaScript wyświetla przycisk, który po kliknięciu wysyła tablicę
["hello", "world"]
do Pythona, który łączy tablicę w ciąg „hello world” i odsyła ją z powrotem do Javascript. Kod Python drukuje reprezentację tablicy w konsoli, a kod JavaScript wyskakuje z ostrzeżeniem wyświetlającym ciąg.przyklad.py
page.html
Jedynym kodem w Pythonie, na który naprawdę należy zwrócić uwagę, jest kod od
def output(data):
końca pliku, który powinien być dość łatwy do zrozumienia.Aby uruchomić to upewnij się,
python-webkit
apython-gtk2
zainstalowane są następnie zapisać pliki w tym samym folderze i uruchomić:źródło
Opracowałem BAT , które jest małym narzędziem do budowania aplikacji komputerowych w HTML, JS i CSS.
Napisałem o tym artykuł na moim blogu .
Przykład
index.html
I działamy w ten sposób:
Wynik to:
źródło
Jeśli chodzi o bezpośredni dostęp do platformy, powinieneś sprawdzić Seed .
Możesz także spojrzeć na UserWebKit , bibliotekę Python3, która zapewnia kluczowe funkcje używane przez interfejs Novacut i Dmedia (jest zbudowany na UserCouch i Microfiber , BTW).
Po wielu przemyśleniach zdecydowałem, że ciekawiej jest nie uzyskiwać dostępu do platformy bezpośrednio z JavaScript, ponieważ wtedy możesz opcjonalnie uruchomić interfejs użytkownika w standardowej przeglądarce. Novacut architektura wykorzystuje CouchDB utrzymać serwery UI i backend sieci przejrzyste. W normalnym przypadku z jednym komputerem serwery działają lokalnie na tym komputerze. Ale możesz również uruchomić serwery (i CouchDB) na innych systemach, bez zauważenia różnicy przez interfejs użytkownika.
źródło
Cóż, możesz dołączyć język, który może uruchamiać polecenia powłoki, takie jak php, i w ten sposób korzystać z takich rzeczy, jak instalowanie aplikacji ze strony internetowej i wykonywanie niektórych poleceń (np. Wykrywanie używanego motywu i używanego CSS w zależności od motywu systemowego). Na przykład masz dwa pytania, które mogą pomóc:
Czy serwer może obsługiwać jednoczesne polecenia powłoki? (Co mówi o wykonywaniu wielu poleceń)
Uruchom polecenie liniowe z Internetu (Kliknięcie linku na stronie internetowej) (Mówi o kliknięciu linku i zainstalowaniu aplikacji z centrum oprogramowania)
Aby dowiedzieć się, jaki motyw jest używany, można przeanalizować plik ubuntu, w którym ma on wartość domyślnego motywu, i w zależności od niego zmodyfikować CSS witryny, aby odzwierciedlić nowy motyw.
Pytania na temat tematu i gdzie go znaleźć można znaleźć tutaj:
Jaki plik muszę edytować, aby zmienić kolor tekstu w motywie?
Desktop zapomina motywu?
Edycja motywu GTK (dodawanie ramki)
Wszystko to (i więcej, jeśli korzystasz z wyszukiwania) pomaga Ci wiedzieć, gdzie szukać podczas analizowania i jakie pliki możesz sprawdzić, aby zobaczyć, jakiego motywu używa system i czego następnie użyć na stronie internetowej.
źródło
Tak, możesz pisać aplikacje w czystym html / css / js, a powiązanie tak jest dostępne dla JS przy użyciu introspekcji GObject. Spójrz na GnomeSeed https://live.gnome.org/Seed
SeedKit: https://live.gnome.org/SeedKit
Samouczek: https://live.gnome.org/Seed/Tutorial
źródło
Teraz mamy AppJS - https://github.com/milani/appjs !
Jak powiedzieli: „ Używa Chromium jako rdzenia (dzięki czemu obsługiwane są najnowsze interfejsy API HTML5) i Node.js jako szkielet ”.
źródło