Jtalk, a Smalltalk for web developers

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 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


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Jtalk, a Smalltalk for web developers

ZuLuuuuuu
I am pretty foreign for such js web development frameworks but wanted to fire a few questions right away:

 - As far as I understand, it is only for client-side programming so it is not a replacement for Iliad which was for server-side programming? In fact it seems like a complementary technology for a web framework like Iliad, is that true?

 - How can we (or can we (or should we)) bring together two applications written in Iliad and Jtalk? If yes, a hello world example which uses two frameworks together would be great.

 - For example, when I think of the forum I wrote, the whole application except for the persistency part could be written in Jtalk? Can I somehow mix it? If yes, which parts of the forum should be written in Jtalk and which parts in Iliad (from parts I mean UI, persistancy etc.)?

The questions are actually pretty similar to each other but the last one is to get a real world example :)
Canol Gökel
Reply | Threaded
Open this post in threaded view
|

Re: Jtalk, a Smalltalk for web developers

Nicolas Petton
Le lundi 14 mars 2011 à 14:12 -0700, ZuLuuuuuu a écrit :
> I am pretty foreign for such js web development frameworks but wanted to fire
> a few questions right away:
>
>  - As far as I understand, it is only for client-side programming so it is
> not a replacement for Iliad which was for server-side programming? In fact
> it seems like a complementary technology for a web framework like Iliad, is
> that true?

Yes, that's true, Jtalk is for the client-side.

The truth is that I don't know or even if Jtalk will change Iliad. Sure
that could be great to make them work together, but here I would have to
deal with our existing apps, written in Iliad. Also, would people be
happy about it?
>
>  - How can we (or can we (or should we)) bring together two applications
> written in Iliad and Jtalk? If yes, a hello world example which uses two
> frameworks together would be great.

That's a good question. I don't know yet how exactly the server-side
would look like. A stateless server side serving dynamic pages in Jtalk
with a way to discuss with the server from Jtalk, like JSON data
exchanges, could be a good idea.
>
>  - For example, when I think of the forum I wrote, the whole application
> except for the persistency part could be written in Jtalk? Can I somehow mix
> it? If yes, which parts of the forum should be written in Jtalk and which
> parts in Iliad (from parts I mean UI, persistancy etc.)?

I think that the entire user interface can be written in Jtalk. Now you
would still need the server for the database, user identification, etc.

Cheers,
Nico



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

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

Sven Van Caekenberghe
In reply to this post by Nicolas Petton

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!

Senders/Implementers would be nice to browse the code.

Since the implementation is relatively small, it makes an excellent example of how to implement Smalltalk.

Sven

PS: On Safari, the 'Class Browser' button does not seem to work.
_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

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

Hannes Hirzel
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.

And the license is MIT!

Hannes

_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

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

Nicolas Petton
In reply to this post by Sven Van Caekenberghe
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


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

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

Nicolas Petton
In reply to this post by Hannes Hirzel
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



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: [aida] 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

_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk