Awesome
<div align="center"> <img src="docs/images/Logo.svg" alt="" height="200" width="400"> </div>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.
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
- Clone the repo
git clone https://github.com/guillermoamaral/Webside.git
- Install npm packages under
client
folder
cd client
npm install
- 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)
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 - guillermoamaral@gmail.com
Project Link: https://github.com/guillermoamaral/Webside