Wednesday, 7 March 2012

Re: Interested on javascript development, but...

> From: Carlitos Esquer <carlitos.esquer@gmail.com>
> Subject:
> To: netsurf-dev@netsurf-browser.org
> Message-ID:
>        <CAGHDjo+ydcGt2ym+DX9MMCa5NNi7pLA=UTdqaH8EWBfprS1fWA@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello folks:
>
> I'm interested in develop javascrtip for netsurf, but besides that i 've
> got another proposal for you.
> Why don't develop a browser with another script language.

hi carlos,

you need to look up the success rate of the efforts to add other
languages to web browsers, first. here are some ways in which that
has been achieved, along with an assessment:

* adobe flash. it's the obvious one: it doesn't interact with the
DOM, it entirely takes over. it's the number one cause of instability
on macosx, it's the scourge of the internet and that god it's dying.

* java: same thing. should never have been allowed :)

* microsoft silverlight. this one *does* allow interaction with the
DOM, and it has resulted in things like iron ruby and iron python
gaining access to the DOM, and enabling "script language=xyz".
unfortunately, it's IE only - i'd hate to rate anyone's chances of
getting this to work under wine with Mono.

* the mozilla foundation's sponsorship of pyxpcomext. pyxpcomext was
very successful... technically. however it embedded the *entire*
python runtime as a whopping 10mbyte plugin into firefox... and
firefox *only*. the windows build process of pyxpcomext and its
matching plugin "pydom" is a complete bitch.

* google's "dart" initiative. this has *two* prongs. a) to add dart
natively (DOM access) b) to add a "temporary" fix by creating a
language translator - dart-to-javascript.

* the python-based "grail" browser, which was a very early web
browser that inspired much of the SAX, DOM and SGML parsing code that
is now in python. it was designed to, yes, you guessed it: allow
python scripts to be downloaded and executed, but they quickly
realised that the concept would not gain significant acceptance.

> We can use ruby,
> which is one of those languages, in my humble opinion, created for the job.
> May it will be revolutionary as Rails. May be not, but we can try.

i do not know if you are familiar with free software, but the general
rule of any free software project, the "we" has to be "you",
primarily. you need to be the one that takes the initiative, and if
it is interesting to others and aligns with their personal goals, they
are likely to join in and help you out.

in this case however it would not matter *which* web browser project
you picked, i would not rate your chances of anyone assisting you as
being particularly high. you might therefore wish instead to look up
the rubyjs project: http://rubyforge.org/projects/rubyjs

rubyjs was the beginnings of a port of GWT to ruby, being inspired by
the pyjamas project which james tauber had created. amazing guy, he
is.

anyway: the point is that you have javascript, and err... that's
about it. anything else simply doesn't have the mindshare.

you really have to have a damn good reason to run anything other than
javascript with DOM, and absolutely the only really fully
comprehensive and i mean 100% comprehensive project i know of which
has any reason to squeak absolutely 100% out of the entire DOM API
using a language *other* than javascript is the pyjamas-desktop
project. to bring that home: i spoke to eric of the MS IE team. he
had *never* heard of any project *ever* requiring and making full 100%
usage of the DOM API in Trident, until i created pyjamas-desktop's
mshtml port.

the reason for that is because pyjamas-desktop utilises the DOM in
order to create a GUI toolkit API: it really does need evvverything.

i don't even rate google dart's chances of success and adoption as
being particularly high, and that's funded by google's resources _and_
they created a dart-to-js compiler, because they not only have to get
it adopted in google chrome, but also they have to get it adopted in
Internet Explorer _and_ firefox _and_ opera - all major web browser
engines over which they have *no* control.

all that having been said.... :)

.... if you are still interested then yes, technically, it is a
fascinating technical area with enormous potential to bring the power
of HTML+DOM to other programming languages, and i am looking forward
to seeing some documentation and a roadmap from the netsurf team on
how javascript is to be added to netsurf (not least because those
plans will affect how others (such as carlos) might successfully add
other programming language bindings to netsurf's DOM, but also because
it is an interesting technical challenge in itself).

i also particularly look forward to helping the netsurf team once
they have made a decision either to utilise a pre-existing middleware
framework, or to learning from them should they choose to develop
their own middleware.

should the netsurf team choose to create their own middleware, then
given the technical competence of the netsurf team members i know for
a fact that it will be absolutely superb and i really look forward to
learning from it and extracting the code from the netsurf project in
order to use it in other free software projects in the future.

l.

No comments:

Post a Comment