InstantObjects is a powerful object persistence layer based on an object/relational mapping approach for Delphi Win32 VCL applications. In other words, your application code deals with objects in memory and the corresponding data is saved in a standard relational database. InstantObjects was based on the classic approach of Scott Ambler . It has recently been extended to work better in a SQL server world and supports a large set of databases. The architecture of InstantObjects is really very neat, and I find it nicer than many other more popular O/R mapping libraries.

At first, InstantObjects was a commercial product. When it was abandoned by the original developers and released as an open source project, a group of users set up a real and active open source project. Development has been steady and both bug fixing and new features are countless. There is an energetic community of developers and end users that is not only keeping the product alive but really improving it. Sadly this is not true for other Delphi open source projects, like those originating from TurboPower.

By combining this two features (a solid technical foundation, an active community) InstantObjects is a very interesting option as a framework for many different types of development projects. Learning the core features of InstantObjects is relatively easy, as you can find out looking at the classic (even if quite out-of date) presentation video. Its IDE integration helps a lot in defining new classes and their attributes. Its integration with Delphi's TDataSet architectrure lets you work on the user interface as with any other dataset.

I have no space for a full presentation, but I really suggest you evaluate it (the previous beta was also in the Delphi 2006 Companion CD) if you are interested in this kind of architecture. Certainly I'm biased towards it because part of the core group of developers are some Italian friends of mine (which is why the IO home page is hosted on my office server, like this blog) but I woudn't be pushing it if I wasn't sure of its technical merit.