Jump to content
Compatible Support Forums
Sign in to follow this  
news

Seed 0.3

Recommended Posts

After much longer than intended, I'm happy to announce another release of

Seed. ChangeLog below.

 

Tarballs can be found at:

http://ftp.gnome.org/pub/GNOME/sources/seed/0.3/ (Please use 0.3.1, 0.3 was botched)

For those not aware, Seed is a library and standalone interpreter providing

a bridge between GObject (through GObject-introspection)

and WebKit's JavaScriptCore, and an API for providing

additional types/embedding. It is suitable for writing standalone applications,

or using as an extension language in your project.

 

In short, it provides a set of bindings between the GNOME

platform and JavaScript (a fast, and lean Javascript interpreter at that).

 

With this release, I'm much more able to suggest seriously using Seed

than 0.1, as I believe it is in fact (seriously) usable now, for small to

medium scope projects.

 

Please see http://live.gnome.org/Seed for some short usage examples, or look in the tarballs/SVN for a wide range of examples spanning many common

libraries. In particular lightsoff is an example of a cute game written

in Seed with Clutter.

 

I still haven't set up a bugzilla, so in the meantime, please feel free

to email me

with any issues, questions, or general thoughts. I'd also appreciate it

if people

could let me know of things they are using it for, and maybe I could

start keeping a

list on the wiki page.

 

Seed will be syncing up with the GNOME cycle, and as a result I plan to

make a 0.4

release on the 19th of January, with some useful additions, and a lot of polish

to the 0.3 features.

 

Happy hacking,

Robb

 

A somewhat disorganized ChangeLog since 0.1 is available:

 

== Seed 0.3, Wednesday Morning 3AM (2008.12.31) ==

 

* Lots of memory changes. Memory usage isn't bad anymore,

reference counting actually works (no big leaks or anything anymore

...there are still a few very small ones you can trigger).

Memory usage of most of the examples after they've loaded,

has about halved (or more in cases like the browser) since 0.1,

and now compares very favorably to other

dynamic languages. Lots of g_slice_alloc, which comes off

quite nicely when creating bunches of small structs like ClutterColor.

 

* Innumerable bug fixes.

 

* Structs work now! Things like GdkRectangle: you can allocate them,

get at their members, etc.

* Including struct "literals, i.e." stage.set_color({red: 255, alpha:

220}).

 

* GObject subclassing, which was rushed in to a 0.1 point release,

is reliable now! signal installation too.

 

* Multiple context support, rather than the silly global context.

 

* Support for string array argument conversion.

 

* C extension Modules

* readline

* Multiprocessing -- Simple IPC pipes. Just an example, really.

* sqlite

* canvas -- A little, toy, mostly functional but incomplete HTML Canvas

implementation. May be useful until we have cairo bindings.

Supports SVG/PDF output.

 

* Signals use userdata now. The 'this' argument was removed,

as it really just lead to organizational issues.

 

* object.signal.connect is defined for connecting by strings

(allows for connecting to detailed signals, like property notifications)

 

* 'out' arguments of methods work, granted in a rather poor fashion,

not sure of the best way to do this yet.

 

* Enums use Gtk.WindowType.Normal instead of Gtk.WindowType.normal,

may break existing code in subtle ways (as Gtk.WindowType.normal

will now be JavaScript null).

 

* Licensing update - libseed is LGPL. The trivial examples are BSD,

the more complete ones are GPL.

 

* Lots of leaks fixed, and also some reference bugs that lead to crashing.

 

* External API is pretty usable now.

 

* External API example (Turtle Graphics)

 

* Threading sort of works now. It's rather unpredictable,

but async callbacks and stuff are fine.

 

* Many more Seed examples. Ranging from Gnio Server, to threading. The

browser example is pretty neat now, and has sqlite bookmarks, WebInspector,

and a few other tidbits. lightsoff and browser are the two highlight examples

to play with.

 

* Skeleton GTK-Doc for API

 

* New builtins: Seed.spawn, Seed.repl/glib_repl/thread_repl.

Kind of useful for debugging.

 

* Removed builtins: Seed.prototype: Now use Gtk.Window.prototype

Seed.closure, Automatically handled now.

Seed.closure_native, automagic.

Seed.readline, moved in to module.

 

 

 

 

 

 

 

 

 

_______________________________________________

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×