Jtalk, a Smalltalk for web developers

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Jtalk, a Smalltalk for web developers

Nicolas Petton
Hi,

I would like to share a project I'm working on on my spare time: Jtalk
Smalltalk.

http://nicolaspetton.github.com/jtalk
https://github.com/NicolasPetton/jtalk

Jtalk is an implementation of the Smalltalk language that compiles into
JavaScript.

Some features:
- it is written in itself (including the parser/compiler)
- it is self-contained
- it compiles into efficient JS code
- it uses the Squeak chunk format
- Pharo is considered as the reference implementation

I think Jtalk can be compared to CoffeeScript[1], Objective-J[2] or
Clamato[3], from which it reuses some ideas and code.

Jtalk includes an IDE with a class browser, transcript and workspace, an
HTML canvas similar to Seaside and a jQuery binding.

It is still a young piece of code, and some important features are still
missing/incomplete.

Cheers,
Nicolas Petton

[1] http://jashkenas.github.com/coffee-script/
[2] http://cappuccino.org/
[3] http://clamato.net

_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: Jtalk, a Smalltalk for web developers

Janko Mivšek
Hi guys,

To add with few my ideas how we can use Jtalk: I namely see very nice
oportunity to cross the border from server to the client (web browser)
with Smalltalk! That is, we can build web apps in pure Smalltalk and run
them on the client, unchanged. Even more, we can partition the app and
decide where to run, part on server, part on client, whole on server,
whole on client... And this can be done at runtime!

So, Nicolas work actually opens a whole new horizon for Smalltalk on the
web development front. That's why Jtalk will already be part of next
version of Aida, for experimentation purposes for start.

So, thanks a lot Nico!

Best regards
Janko


On 14. 03. 2011 19:36, Nicolas Petton wrote:

> Hi,
>
> I would like to share a project I'm working on on my spare time: Jtalk
> Smalltalk.
>
> http://nicolaspetton.github.com/jtalk
> https://github.com/NicolasPetton/jtalk
>
> Jtalk is an implementation of the Smalltalk language that compiles into
> JavaScript.
>
> Some features:
> - it is written in itself (including the parser/compiler)
> - it is self-contained
> - it compiles into efficient JS code
> - it uses the Squeak chunk format
> - Pharo is considered as the reference implementation
>
> I think Jtalk can be compared to CoffeeScript[1], Objective-J[2] or
> Clamato[3], from which it reuses some ideas and code.
>
> Jtalk includes an IDE with a class browser, transcript and workspace, an
> HTML canvas similar to Seaside and a jQuery binding.
>
> It is still a young piece of code, and some important features are still
> missing/incomplete.
>
> Cheers,
> Nicolas Petton
>
> [1] http://jashkenas.github.com/coffee-script/
> [2] http://cappuccino.org/
> [3] http://clamato.net
>
> _______________________________________________
> Aida mailing list
> [hidden email]
> http://lists.aidaweb.si/mailman/listinfo/aida
>

--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: Jtalk, a Smalltalk for web developers

Damir Horvat-2
Janko Mivšek wrote:
> Hi guys,
>
> To add with few my ideas how we can use Jtalk: I namely see very nice
> oportunity to cross the border from server to the client (web browser)
> with Smalltalk! That is, we can build web apps in pure Smalltalk and run
> them on the client, unchanged. Even more, we can partition the app and
> decide where to run, part on server, part on client, whole on server,
> whole on client... And this can be done at runtime!

This looks great.

I can't help asking this - where should data be stored? On client? (is
it even possible?) On server (you'd need a server running, right?)
Half-half - as is with html5 an option to store data locally until it
can be synced with server?

Like Janko said, this open a whole new view on app development. I'll be
watching this thread closely :)


Damir
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] Jtalk, a Smalltalk for web developers

Nicolas Petton
In reply to this post by Nicolas Petton
Le mardi 15 mars 2011 à 10:53 +0100, Sven Van Caekenberghe a écrit :

> On 14 Mar 2011, at 19:36, Nicolas Petton wrote:
>
> > I would like to share a project I'm working on on my spare time: Jtalk Smalltalk.
> >
> > http://nicolaspetton.github.com/jtalk
> > https://github.com/NicolasPetton/jtalk
> >
> > Jtalk is an implementation of the Smalltalk language that compiles into JavaScript.
>
> Really impressive!

Thanks :)
>
> Senders/Implementers would be nice to browse the code.
Yes, the IDE is very immature. Code checking before compiling is
missing, and better browsing tools too. The class browser isn't even
able to commit changes to disk yet.


>
> PS: On Safari, the 'Class Browser' button does not seem to work.
It should work now.

Cheers,
Nicolas

_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] Jtalk, a Smalltalk for web developers

Nicolas Petton
In reply to this post by Nicolas Petton
Le mardi 15 mars 2011 à 12:10 +0000, Hannes Hirzel a écrit :
> On 3/15/11, Sven Van Caekenberghe <[hidden email]> wrote:
> ....
> > Since the implementation is relatively small, it makes an excellent example
> > of how to implement Smalltalk.
>
> Yes, the download of the Javascript files is just 160kB.
This is with the Smalltalk sources. Without it, it will be much smaller
for deployment.

Cheers,
Nicolas

>
> And the license is MIT!
>
> Hannes
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: Jtalk, a Smalltalk for web developers

Esteban A. Maringolo
In reply to this post by Nicolas Petton
2011/3/14 Nicolas Petton <[hidden email]>:
> Hi,
>
> I would like to share a project I'm working on on my spare time: Jtalk
> Smalltalk.
>
> http://nicolaspetton.github.com/jtalk

Congratulations Nicolas. It is really impressive.

I'm slowing turning to JS development, and the one thing I miss the
most is the Smalltalk syntax, particularly is keyword messaging.


On the philosophical side I don't know whether building an entire
Smalltalk on top of JS is the long term solution, or if just having a
syntax "translation" layer  that would allow any Smalltalk developer
to benefit from the growing number of JS libraries coming out every
day. Maybe having both would be the right fit.

JS seems to be this decade "revolutionary" language, and any
Smalltalker is closer to the mind-set of JS development than any other
static language developer (Java/.net, etc), however I don't know how
would a JS based Smalltalk handle things such as prototypes and the
use of them (mixins, and so on).


Comments aside, congratulations for it.


Esteban A. Maringolo
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida