Seed (programming)
{{Short description|JavaScript interpreter and library}}
{{Other uses|Seed (disambiguation)}}
{{More citations needed|date=March 2012}}
{{Infobox software
| name = Seed
| developer = Robert Carr, Matt Arsenault and Tim Horton
| released = {{Start date and age|2008|11|08}}
| latest release version = 3.8.1
| latest release date = {{Start date and age|2013|04|16}}
| programming language = C
| size =
| language = English
| genre = Interpreter, library
| license = GNU LGPL
| website = {{URL|https://wiki.gnome.org/Projects/Seed}}
}}
Seed is a JavaScript interpreter and a library of the GNOME project to create standalone applications in JavaScript.{{cite web|url=https://arstechnica.com/information-technology/2009/01/javascript-gtk-bindings/|title=Building desktop Linux applications with JavaScript|website=Ars Technica|date=19 January 2009 }} It uses the JavaScript engine JavaScriptCore of the WebKit project. It is possible to easily create modules in C.
Seed is integrated in GNOME since the 2.28 version and is used by two games in the GNOME Games package.[http://www.hortont.com/blog/2009/07/seed-the-module/ Seed, the module!] {{webarchive|url=https://web.archive.org/web/20090815155008/http://www.hortont.com/blog/2009/07/seed-the-module/ |date=2009-08-15 }} It is also used by the Web web browser for the design of its extensions. The module is also officially supported by the GTK+ project.[http://www.gtk.org/language-bindings.html GTK+ binding list] {{webarchive|url=https://web.archive.org/web/20110402012219/http://www.gtk.org/language-bindings.html |date=2011-04-02 }}
Hello world in Seed
This example uses the standard output to output the string "Hello, World".
- !/usr/bin/env seed
print("Hello, world!");
A program using GTK+
This code shows an empty window named "Example".
- !/usr/bin/env seed
Gtk = imports.gi.Gtk;
Gtk.init(Seed.argv);
var window = new Gtk.Window({title: "Example"});
window.signal.hide.connect(Gtk.main_quit);
window.show_all();
Gtk.main();
Modules
To use a module, just instantiate a class having for name imports. followed by the name of the module respecting the case sensitivity.
- The modules using [https://wiki.gnome.org/Projects/GObjectIntrospection GObject Introspection], who starts by [http://devel.akbkhome.com/seed/index.shtml imports.gi.]{{dead link|date=March 2018 |bot=InternetArchiveBot |fix-attempted=yes }} :
- Gtk
- Gst
- GObject
- Gio
- Clutter
- GLib
- Gdk
- WebKit
- GdkPixbuf, [http://devel.akbkhome.com/seed/GdkPixbuf.shtml GdkPixbuf]{{dead link|date=March 2018 |bot=InternetArchiveBot |fix-attempted=yes }}
- Libxml
- Cairo
- DBus
- MPFR
- Os (system library)
- Canvas (using Cairo)
- multiprocessing
- [http://library.gnome.org/devel/seed/stable/readline-module.html readline] {{Webarchive|url=https://web.archive.org/web/20091109222941/http://library.gnome.org/devel/seed/stable/readline-module.html |date=2009-11-09 }}
- ffi
- sqlite
- [http://library.gnome.org/devel/seed/stable/Sandbox-module.html sandbox] {{Webarchive|url=https://web.archive.org/web/20091109222315/http://library.gnome.org/devel/seed/stable/Sandbox-module.html |date=2009-11-09 }}
List of the Seed versions
The names of the versions of Seed are albums of famous rock bands.
class="wikitable"
! Version ! Code Name ! Release Date |
--
|0.1 | |8 November 2008 |
--
|0.3 |2 January 2009 |
--
|0.5 |16 April 2009 |
--
|0.6 |29 April 2009 |
--
|0.7 |13 May 2009 |
--
|0.8 |29 May 2009 |
--
|0.8.5 |10 July 2009 |
--
|2.27.90 |10 August 2009 |
--
|2.27.91 |21 August 2009 |
--
|2.27.92 |7 September 2009 |
--
|2.28.0 |The Rise and Fall of Ziggy Stardust and the Spiders |21 September 2009 |
--
|2.29.2 |16 November 2009 |
--
|2.29.3 | |30 November 2009 |
--
|2.29.4 | |17 December 2009 |
--
|2.29.5 |1 January 2010 |
--
|2.29.5.1 |1 January 2010 |
--
|2.29.5.2 |7 January 2010 |
--
|2.29.5.3 |11 January 2010 |
--
|2.29.90 |8 February 2010 |
--
|2.29.91 |23 February 2010 |
--
|2.30.0 |29 March 2010 |
--
|2.31.1 |29 March 2010 |
-- |
See also
{{Portal|Free and open-source software}}
References
{{Reflist}}
{{Refbegin}}
- {{cite book|last=Anwari|first=Mohammad|date=1 January 2013|title=GNOME 3 Application Development Beginner's Guide
|chapter=3 Programming Languages|publisher=Packt|oclc=852469655|isbn=9781849519427}}
{{Refend}}
External links
- [https://wiki.gnome.org/Projects/Seed Seed on the GNOME wiki]
- [http://library.gnome.org/devel/seed/stable/ Seed documentation] {{Webarchive|url=https://web.archive.org/web/20100611125305/http://library.gnome.org/devel/seed/stable/ |date=2010-06-11 }}
- [https://archive.today/20120708201719/http://devel.akbkhome.com/seed/ An auto-generated documentation of the Seed modules]
- [https://wiki.gnome.org/Projects/Seed/Tutorial Official tutorial of Seed]
- [http://people.gnome.org/~racarr/seed/tutorial-standalone/tutorial.html A short tutorial] {{Webarchive|url=https://web.archive.org/web/20110518211018/http://people.gnome.org/~racarr/seed/tutorial-standalone/tutorial.html |date=2011-05-18 }} showing how to create a basic web browser using WebKitGTK+.
- [http://blogs.gnome.org/racarr/ Blog of Robert Carr]
{{GTK}}
Category:Free computer libraries
Category:Linux programming tools
Category:MacOS programming tools