Re: libseed-list GSoC 2010 Ideas



On Apr 5, 2010, at 22:27, Brian McKenna wrote:

> Wow! Thanks for the fast response.
> 
> On 6 April 2010 11:45, Tim Horton <hortont424 gmail com> wrote:
>> On 2010.04.05, at 9:33 PM, Brian McKenna wrote:
>> 
>>> Hi everyone,
>>> 
>>> I'm just sending in a few ideas I have for Google Summer of Code. I'd
>>> really appreciate any feedback!
>>> 
>>> My first idea is a jQuery-like library. The library would provide
>>> wrappers around Gnome libraries (such as GTK, GLib/Gio, Clutter) and
>>> make it very simple to use CSS like selectors, make AJAX-like
>>> requests, get values of GTK widgets, do simple animations (fade and
>>> property tweening), etc. The purpose is to just make it extremely
>>> simple for web developers to make Gnome-based applications.
>> 
>> I'm not totally clear what this would look like, but it sounds possibly interesting.
> 
> Possibly something like this:
> 
>    $ = imports.dollar;
>    Gtk = imports.gi.Gtk;
>    Gtk.init(Seed.argv);
> 
>    var window = new Gtk.Window({"title": "Test"});
>    $(window).quit(function(event) {
>        Gtk.main_quit();
>    });
> 
>    var exit_button = new Gtk.Button({"label": "Exit"});
>    $(window).append(exit_button);
> 
>    var quit_button = new Gtk.Button({"label": "Quit"});
>    $(window).append(quit_button);
> 
>    $(window).children().click(function(event) {
>        print($(event.target).attr("label"));
>        $(window).quit();
>    });
> 
>    Gtk.main();
> 
> Sorry for the strange example. The $ helper might have to be changed
> if it was too confusing for jQuery developers. As you can see, I'm
> trying to model it very similar to using jQuery on the web.
> 
>>> My second idea is to provide the HTML5 API in Seed. It'd be nice to be
>>> able to use Canvas, WebGL, Local Storage, Web Sockets, Drag and Drop,
>>> Web Workers and Web Media (the video and audio element API). The
>>> purpose for this is similar to the first idea - I want to make desktop
>>> development familiar to web developers.
>>> 
>>> Johan Dahlin has done a little bit of work on this front by
>>> implementing Canvas for GJS:
>>> 
>>> http://blogs.gnome.org/johan/2010/03/30/bridging-the-development-gap-between-desktop-and-web/
>> 
>> Seed's had canvas semi-implemented for a while:
>> 
>> http://git.gnome.org/browse/seed/tree/modules/canvas/seed-canvas.c
>> 
>> http://git.gnome.org/browse/seed/tree/modules/canvas/run-tests.js
> 
> I must have missed that module. Thanks.
> 
>> The others would be interesting, too... though I think at least *part* of the idea with Seed was to have very little platform of its own, providing a simple scripting language that *just* wraps the GNOME platform.
>> 
>> That's not to say it's a poor idea, but it's definitely something that the various people using Seed now should discuss and try to come to a consensus on, since Robb and I don't have a particular roadmap at this point (obviously).
> 
> An honest question (I'm not trying to make an argument). If Seed is
> just a wrapper, why was the Canvas module created (which is just
> another wrapper for Cairo, right)? Is it just that the Canvas module
> is a proof of concept?

I actually had written a part about how we had ended up trending away from that original ideal, but I deleted it before I sent the email. So that's what I have to say to that! Over time it was hard to keep that alive...

> I've seen that GNOME Shell is using CSS and JavaScript (partly because
> of the popularity of JavaScript web developers). Do you think these
> projects are more suited to GJS, then? I have asked here because I
> have a bit more experience with Seed and so far have preferred using
> it.

Maybe, I don't know. I know very little about GJS or their plans or the project at all.

>>> What do you think? What are the chances of these projects being
>>> chosen? Would this project or Summer of Code be more suited to GJS?
>>> 
>>> Thanks for your help,
>>> Brian McKenna
>>> _______________________________________________
>>> libseed-list mailing list
>>> libseed-list gnome org
>>> http://mail.gnome.org/mailman/listinfo/libseed-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]