[Sugar-devel] GSoC 2015: Interactive JavaScript Shell

Sebastian Silva sebastian at fuentelibre.org
Tue Mar 10 10:11:36 EDT 2015

El 10/03/15 a las 04:58, Tony Anderson escibió:
> I am working on a course based on Pocket HTML
> (http://www.goer.org/HTML/) which is available via CC. At the
> javascript level, I think Eloquent Javascript would be a good base and
> is also CC.

Hi Tony,

This is wonderful. I have had my eye on that tutorial ever since I
started to think about Web activities a long time ago.

My first attempt at a Web Activity was called WebSDK and was an IDE for
doing web apps [1].
Those were old-style web apps, the ones that had a Python mini-server
running in the background.
I still consider this a good approach to access Python infrastructure
from Javascript, but I'm not sure how (or if) the new Web API
infrastructure has replaced this mechanism.

I think, in any case, for a GSOC student working on dev tools for JS on
Sugar, should consider the entire IDE scenario, not just the "fiddle"
part. I.e. it should be possible to deploy a mini app (or content!) from
this activity.

About embedding JQuery and other libraries, I would favor a "Wizard"
approach. I.E. a form that will allow you to have a basic project from a
template (w/ or without optional toys such as Jquery). I like the
hand-holding approach especially since low performance machines can't do
multi-tasking very well (so looking up docs is not easy). Therefore a
version of the JS tutorial that Tony referenced would be great to have
embedded,  IMHO, or included somehow. (Tony do you have an offline copy?)

In order to avoid slow pages on older machines, including XO, it should
be super lightweight, i.e. utilizing as little CSS3, transformations,
transparency, SVG rendering, and animation as possible. At least a
couple of templates should be able to run on the XO1 without issues.
Hopefully some profiling feedback would be shown inline during
development (such as at least load time for the "fiddle").

Also, there are wrappers for web activities for versions of Sugar that
don't include the Web Activities framework. Maybe include those as
options in the templates. Finally, a good editor goes a long way for a
good development environment (I used Ace editor component and it ran
well on XO1, back in the day).

The way I think of this is that you should be able to develop something
relatively basic without resorting to the Internet either for sensible
libraries or their respective documentation. If done really well,
perhaps we could even offer an alternative to Pippy and Develop?

Finally, I don't think the Webkit or even old Firefox rendering engine
are a severe limitation. It's not worse than targetting Internet
Explorer 6 and most web developers had to do that only a couple of years
ago. I suggest you download Firefox 3.6 (from like 10 years ago) as that
is the rendering engine found on Sugar 0.94 and limit yourself by what
it can do. I havben't looked for a reference browser for the Webkit1
engines, except Browse itself. It would be good to find out what our
current engine equivalent is and document it (along with more
contributions) to http://developer.sugarlabs.org/

Regards and good luck.

[1] http://somosazucar.org/files/2011/07/WebSDK1.png

More information about the Sugar-devel mailing list