The SmalltalkWeb initiative, aims to unite projects related to the Smalltalk language and web technologies. The goal is to foster collaboration, cross-dialect compatibility, and open-source innovation.
The initiative is open to all dialects of Smalltalk, encouraging cross-dialect reuse whenever possible to maximize efficiency and innovation. Emphasizing accessibility and community involvement, Smalltalk Web operates under a free, open-source license similar to the MIT license. Our goal is to ensure that the technology remains both business friendly and freely available and adaptable for all users.
Smalltalk supports developing both web clients and servers. Servers obviously support HTTP requests. Some projects target REST API developement. Clients can be of various levels of complexity as requested by projects. They of course run on the web browser and interact with third-party JavaScript and CSS libraries. Some projects also offer a broader support, allowing code to be run in Electron or NodeGui or as a back-end solution on Node.js, deno or bun.
SmalltalkWeb includes now the projects below, listed alphabetically. If your project is not on the list, please make a Pull Request.
- CodeParadise: Run tiny Pharo Images on JavaScript.
- Foliage: A simple static website generator.
- Hyperspace: Hyperspace provides building blocks for Internet technologies on top of Zinc HTTP Components.
- Parasol: Testing web apps in Smalltalk using Selenium WebDriver.
- PharoJS: Develop in Pharo, run on JavaScript.
- RenoirST: A DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk.
- Seaside: Framework for developing sophisticated web applications in Smalltalk.
- BootstrapTable-Pharo: A Seaside component for Pharo wrapping Bootstrap Table.
- MaterialDesignLite: Binding for the Google's Material Design Lite to Seaside + widgets on top of Material Design to help Seaside developers in creating fast web application with flat design.
- Seaside-Bootstrap5: Seaside wrapper for Bootstrap 5 for Pharo
- Seaside-Datatables: Seaside wrapper for DataTables plugin
- SmallJS: New Smalltalk flavour with seamless JavaScript integration, enabling file-based development from Visual Studio Code.
- SqueakJS: A fully capable virtual machine implemented in pure JavaScript running unmodified Smalltalk images.
- Stargate: targate is a library supporting the creation of HTTP based RESTful APIs.
- Superluminal: Building blocks for creating HTTP requests and API clients.
- TeaPot: Teapot is micro web framework for Pharo Smalltalk on top of the Zinc HTTP components, that focuses on simplicity and ease of use.
- TeaLight: Tealight is a web and REST framework for Pharo. It defines a few extensions to the Teapot web framework to make the (tea) time you spend with the Pharo Teapot system even easier.
- WebST: Develop in Pharo, run Web Components = HTML + JS + CSS.
- Willow: Ready-to-use components for interactive web applications + framework-agnostic integration. There is a tutorial with the first steps to use Willow. Willow has the following sub-projects and extensions:
- Zinc: Zinc HTTP Components is an open-source Smalltalk framework to deal with the HTTP networking protocol.