Ten-time Microsoft MVP Ed Leafe and Fox/Wine/Python guru Paul McNett have been working on a Free (price and license) framework in Python to create data-intensive rich client applications that will run on all major platforms (thanks to Python) and support all major databases.
On his ProFox mailing list, Ed Leafe announces Dabo reaches another milestone:
If you had to give one reason why Fox rocks, what would it be? The UI and reporting tools are good, but there are other products out there that do those things as well or better. The language is OO and can be quite elegant, but it is also procedural and can be quite ugly. And DBFs are not exactly the ultimate data store around.
No, if I had to name the killer feature, it would be this: an internal data engine. With this, you can do things that other languages simply cannot. You can pull a data set from SQL Server or Postgres, and then manipulate that data quickly and powerfully, using Fox’s SQL engine as well as its Xbase commands. You can select a subset from that cursor, and then join that subset to another cursor. All in Fox, and all natively.
This was the piece that Dabo lacked, and that I felt would take it from a second-rate data framework to a first-class product. Well, I’m thrilled to announce that Dabo now has such an internal data engine! Data in Dabo is held in objects called DataSets, but which are very much like Fox cursors. These DataSet objects now understand SQL, allowing you to send it any valid SQL statement and get back the results in another DataSet object.
Congratulations, Ed! This is a really exciting step! Fox Rocks because it has a rich development environment, a powerful means of iterative development using the command window, and a very capable local data engine for cursor manipulation. With the integration of SQLite (via pySQLite) into the data layer, Dabo developers can still use the backend data of their choice and have a powerful local engine for manipulation, the best of both worlds.