Tags Posts tagged with "seed"

seed

przez -
12 757
Programowanie

Projekt Seed ma na celu umożliwienie szybkiego pisania programów z GUI w Gtk+. Wykorzystuje silnik WebKit, a w szczególności jego część JavaScriptCore. (Istnieje podobny projekt, GJS oparty na silniku Spidermonkey). Użycie popularnego i dość łatwego w użyciu języka JavaScript ma ułatwić tworzenie prostych programów z użyciem bibliotek Gtk+.

Programy Seed działają jako skrypty uruchamiane przez VM Seed. W pliku skryptu umieszczamy na początku następującą linię:

#!/usr/bin/env seed

lub uruchamiamy poleceniem:

 seed nazwaprogramu.js

Pierwsza odpowiada za wskazanie interpretera, natomiast druga uruchamia program. Poniżej przykłady kodu:

//import biblioteki gtk
Gtk = imports.gi.Gtk;
//inicjowanie Gtk z przekazaniem argumentów
Gtk.init(Seed.argv);
//budujemy okno z pliku Glade
var UI_FILE = "gui.glade";
var builder = new Gtk.Builder();
builder.add_from_file(UI_FILE);
var window = builder.get_object("window");
//dołączamy sygnał zamknięcia aplikacji po zamknięciu okna
window.signal.hide.connect(Gtk.main_quit);
//wyświetlamy okno
window.show_all();
//uruchamiamy główną pętle
Gtk.main();

Dużą zaletą jest możliwość użycia całego WebKita. Można dzięki temu w kilkunastu linijkach kodu zrobić własną przeglądarkę z obsługą JavaScript. Prosty przykład na: people.gnome.org. Więcej przykładów: live.gnome.org/Seed/Tutorial.

Możemy również rozszerzyć możliwości JavaScript przez dodawanie modułów w C.
Można też dodać do swojej aplikacji pisanej w innym języku możliwość pisania wtyczek w JavaScript. Część programów Gnome udostępnia taką możliwość np. Gnome Shell, Nautilius.

Bardzo pozytywną cechą jest podążanie nazw metod obiektów Seed za nazwami bibliotek w C. Przykładowo:

Gio.file_new_for_path("sciezka/do/pliku");

odpowiada bezpośrednio w bibliotece Gio następującej funkcji C:

g_file_new_for_path(char*);

Programiści znający te biblioteki w C, są “w domu”, a nowi będą mogli w razie potrzeby łatwo przejść na C.

Projekt wygląda całkiem ciekawie. Można łatwo tworzyć proste skryty z GUI. Jedynie w większych projektach zapewne lepszym rozwiązaniem jest użycie innego języka, statycznie typowanego i nieco wydajniejszego, na przykład Vala.

Polecane

Jesień Linuksowa

1 748
Polska Grupa Użytkowników Linuksa ma zaszczyt zaprosić na konferencję Jesień Linuksowa 2017, która odbędzie się w dniach 22 – 24 września 2017 roku. Jako...