3

Recently I started reading about Smalltalk and its way of development and I was quite impressed. I was wondering whether there is some sort of library that makes possible the same way of development in JavaScript. I found some libraries but they just reload the page or restarts a running node.js server. I'm interested in both client side and server side JavaScript libraries. Amber Smalltalk is nice but I'm looking for a way to do the same in JS.

Edit: I'm looking for some sort of live editing of objects and prototypes and saving the changes to a file, or changing the contents of a file and the added methods are propagated to a running page or server. All this placed in an IDE similar to that of Pharo. What I found is that Meteor and Brackets support some kind of this functionality (live editing going from a source file to a browser).

2
  • 1
    Can you clarify, what aspect of Smalltalk development do you want in Javascript? Commented Mar 25, 2015 at 19:41
  • @BryantMiano, some sort of live editing of objects and prototypes and saving the changes to a file, or changing the contents of a file and the added methods are propagated to a running page or server. Something like that :)
    – Ivancho
    Commented Mar 25, 2015 at 19:58

4 Answers 4

7

You should have a look at "Lively", a project providing a Smalltalk-like environment in JavaScript:

http://lively-web.org/

It was initiated by Dan Ingalls, implementor of the original and later Smalltalks.

You can find an earlier version and some additional resources at http://lively-kernel.org/

6
  • 1
    Let's add that the Lively Kernel was conceived and written by Dan Ingalls, the implementor of 4 generations of Smalltalk. Commented Mar 25, 2015 at 20:35
  • It looks promising but it's a bit buggy and sluggish.
    – Ivancho
    Commented Mar 25, 2015 at 20:43
  • It is under heavy development; you should use a recent Chrome, tho.
    – Tobias
    Commented Mar 25, 2015 at 21:53
  • @Ivancho what do you mean by buggy, btw?
    – Tobias
    Commented Mar 26, 2015 at 12:03
  • @Tobias, actually I'm not sure what I'm doing :) but from time to time I see undefined is not a function plus some visual glitches.
    – Ivancho
    Commented Mar 26, 2015 at 18:59
3

There is also morphic.js, by Jens Mönig, which is the engine powering the Snap! graphical language/environment:

https://github.com/jmoenig/morphic.js

It is not client+server, but it is really easily portable to NodeJS.

1

Checkout LiveReload.js. Allows you to write javascript and changes are updated in realtime without refreshing the page using the LiveReload protocol.

4
  • I looked at that project but is says that only CSS and images are reloaded without refresh. Compiled languages are automatically recompiled and a page is refreshed to get the changes. Am I missing something?
    – Ivancho
    Commented Mar 25, 2015 at 20:28
  • Oops you are correct. I guess I should learn to read more... Commented Mar 25, 2015 at 20:36
  • There is this node package called foreverjs github.com/foreverjs/forever which sort of does what you are looking for, but it's really for running production apps. Commented Mar 25, 2015 at 20:37
  • I know of the forever library but its purpose is different: "The purpose of Forever is to keep a child process (such as your node.js web server) running continuously and automatically restart it when it exits unexpectedly." Thanks for your effort though.
    – Ivancho
    Commented Mar 25, 2015 at 20:50
1

Take a look at SqueakJS:

SqueakJS executes Squeak in a web page without a plugin. It is a fully capable virtual machine implemented in pure JavaScript running unmodified Squeak images. Squeak is a modern implementation of Smalltalk, the original dynamic object-oriented programming environment. It runs bit-identically on virtually any platform, and now in the web browser, too.

https://bertfreudenberg.github.io/SqueakJS/

3
  • Thanks, I didn't know about this project, but since I'm writing mainly in JavaScript I'm looking for a way to do the same in JS.
    – Ivancho
    Commented Mar 25, 2015 at 19:59
  • Why would you prefer JS if you already discovered the power of Smalltalk? There is no point on holding JS when you can use Smalltalk and forget about the crappy JS syntax and development tools Commented Mar 26, 2015 at 21:40
  • @user1000565, you are right, but unfortunately there are no open positions for Smalltalk at the place I live. So I thought it would be awesome if there are tools that brings the power of Smalltalk to the JavaScript world.
    – Ivancho
    Commented Mar 30, 2015 at 7:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.