The Open-source Development Kit for GemStone/S 64 Bit is an open-source project containing tools and compatibility changes that sit on top of the GemStone/S 64 Bit environment. When using a Development Kit-enabled GemStone environment, you have access to:

  • git and Monticello for code management and version control
  • Metacello for package and dependency management
  • Pharo and Squeak compatibility layers, allowing easy porting to GemStone
  • Integrated tODE development environment
  • A variety of other open-source tools and frameworks

These tools provide a complete and powerful development environment.

The Development Kit Project is on github, an online collaboration manager for open-source software.

Getting Started

The Development Kit includes complete instructions for getting you started developing in GemStone/S 64 Bit. Follow the installation instructions.

After you setup git, the script will take care of downloading and installing GemStone/S 64 Bit and Pharo, setting up the repository and starting the necessary processes. You will be ready to start developing immediately.

If you are new to GemStone, you will want to review GemStone 101 for a basic overview of GemStone, GLASS 101 for a basic overview of writing GsDevKit applications, and review the resources at Development Kit home.

Development

The Development Kit provides an integrated development environment, tODE (the Object Development Environment). tODE is designed to provide the development tool capabilities that Smalltalk developers rely on and to integrate all the other tools that are required to maintain, run, and debug GemStone applications.

tODE provides:

  • Integrated git/github development support
  • Development on remote data centers over a WAN
  • Distributed debugging and logging across multiple gems
  • Ability to view, load, and update projects
  • Integrated command line execution and scripting to avoid the need to write UNIX shell scripts

tODE relies on a thin Pharo client which can run on Linux, Macintosh, or Windows; the objects remain on the GemStone server. tODE was designed to minimize network transport costs, for performant development even over slow networks to a remote data center.

tODE

tODE replaces the Omnibrowser-based GemTools. Other development tools, such as Jade, can also be used with the Development Kit, although not all the tODE features and integration are available in other environments.

GemBuilder for Smalltalk tools do not support some GemStone/S 64 Bit features that the Development Kit code management tools require, so it is not recommended to use GBS with the Development Kit. The free and low-cost Community and Web Edition licenses do not allow login from GBS.

Components and Add-Ons

The following open-source components are either part of the Development Kit, or can be loaded into the Development Kit.

Monticello

Monticello is a distributed optimistic concurrent versioning system for Smalltalk code. Monticello packages include definitions for classes, methods, and variables, and description of ancestor versions, and can be serialized to disk files for archival and distribution.

Monticello is part of the Development Kit.

Metacello

Metacello is a package management system for Monticello. With Metacello, you define package dependencies, which are used to determine load order for specific versions of Monticello packages, and define dependencies upon other projects.

Metacello is part of the Development Kit.

Seaside

Seaside is a powerful framework for developing web applications. Seaside applications are composed of a tree of stateful web components that can easily implement sophisticated application behavior.

Seaside may optionally be installed into the Development Kit.

Zinc

Zinc is a HTTP server and an HTTP client framework. Zinc can be used as a standalone HTTP server that serves up pages that you create yourself, or it can be used as the HTTP server for Seaside. With the HTTP client support, you can send HTTP requests to another server and parse the responses yourself, allowing you to interact with commercial Web APIs.

Zinc may optionally be installed into the Development Kit.

Pier

Pier is a content management system (CMS) built on top of Magritte and Seaside. It allows you to easily create and edit website content and presentation.

Pier may optionally be installed into the Development Kit.

Magritte

Magritte is a dynamic meta-description framework. Using Magritte, you provide descriptions for certain characteristics of objects, and these descriptions are used to generate GUI components and forms, including GUI input validation logic. This avoids the tedious and time-consuming hand crafting of applications that use many GUI fields.

Magritte may optionally be installed into the Development Kit.

Support

For questions and getting started with the Development Kit, join the community mailing list. This is an active forum for developers using the Development Kit with GemStone/S 64 Bit, and the primary source for news and updates on the Development Kit.

The free Community Edition licenses do not provide for specific help requests with GemTalk Systems Technical Support. Customers with paid subscription or support contracts may submit tickets to GemTalk Systems, particularly for issues that involve or are are related to the GemStone/S 64 Bit code base. The Development Kit itself is not provided directly by GemTalk Systems, and support for issues that are specific to the Development Kit are not subject to GemTalk Technical Support SLA.

Documentation and Bugnotes are available for the GemStone/S 64 Bit base product; many of these apply to the Development Kit environment. Please review the resources for your GemStone/S 64-Bit server version for critical bugs.