Skip to content

guillermoamaral/Webside

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Explore the docs »

View Demo · Report defect · Request feature

Webside is both the specification of an API to interact with an Smalltalk system (backend), and a web IDE (frontend) built on top of such API.

The API definition follows this principle: assume as less as possible from the underlying Smalltalk system. This leads to keep a healthy distance from the particularities of a given dialect and its tooling, in favor of enabling the implementation of a common, yet useful set of tools (IDE) for every Smalltalk implementation.
Of course, some assumptions are made and these impose some degree of adaptation in the implementation of the API for a particular Smallalk.

Provided the API is implemented according to the specification, the IDE is fully operational on the Smalltalk at hand, offering traditional Smalltalk IDE tools such as code browsers, workspaces, inspectors, debugger and more.

Webside on Bee

Webside on Pharo

Webside on Dolphin

Read more here.

Getting Started

Prerequisites (for development)

The following steps will demand both time and space, and are only intended to recreate the development environment in your local machine. In case you only want to use Webside to connect to some Smalltalk backend, you can skip these steps and go directly to Usage.

  • npm
npm install npm@latest -g
  • Your Smalltalk image implementing the API

Installation

  1. Clone the repo
git clone https://github.com/guillermoamaral/Webside.git
  1. Install npm packages under client folder
cd client
npm install
  1. Launch Webside client
npm start

Usage

The last step will open a web browser on a page like the one shown below, asking for the URL of the target Smalltalk system and the username to be used inside your Webside session (this is used as the author of modifications, and to be identified by peers in the same session)

Connection

The URL (port and base URI) will correspond to the one chosen by the web server running inside the Smalltalk system (for instance, the default configuration of Webside for Pharo at the moment of writing this documentation is http://{hostname}:9001/pharo)

Demo

There is an online version available here. As mentioned above, it will prompt the URL where a Smalltalk system is listening. You can setup and launch Webside in Pharo as described in Pharo-Webside.

Also, here are some talks I gave about this project:

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Guille Amaral - [email protected]

Project Link: https://github.com/guillermoamaral/Webside