Description
EntropyDB is an embedded object database for Mac OS X 10.5 and iPhone OS written in Objective-C. It is built on top of SQLite. You can embed it in your own application or you can use it for RAD (Rapid Application Development) or Rapid Prototyping for iPhone with the open source Rapid tool. It has the following advantages:
- It is simple to use since it is an object database, i.e., you don't have to use SQL but you only work with Objective-C objects.
- The database can be embedded in both OS X 10.5 applications and iPhone applications (the current version can be used in the iPhone Simulator).
- No configuration is required.
- Instances of descendants of NSObject can be stored directly without providing any additional information.
- Database contents can be synchronized among multiple database instances automatically.
EntropyDB can be used similarly to db4objects (db4o). The current preview version is distributed as a static library and can be embedded in Xcode projects by adding the header files and the file libEntropyLib.a to Classes and Frameworks, respectively.
License
The code is licensed under GPL, however we are planning to provide a dual license with a reasonable price so that the code can also be used in commercial applications.
Sample Xcode project
You can download a sample project (see the link to entropy_sample1_v???.tgz on the right side of this page) which examplifies how EntropyDB can be used in an iPhone application with a table view. The sample can be tested in the iPhone Simulator. If the top right button "Add item" is clicked, a new instance of the class "CustomObject" is added to the database and the table view is refreshed. If an item in the table view is selected, the corresponding instance of "CustomObject" is removed from the database and the table view is refreshed. If you terminate the application and launch it again, the table view will contain all instances of "CustomObject" stored in the database.