Sonntag, 2. September 2007

The new Delphi is around the corner…

Thanks to Nick Hodges that he released me from an NDA to blog about the upcoming new Delphi version – codename “Highlander”.

There are some interesting things in and some not in the package of the RAD Studio 2007 (instead of BDS2007).


The new Delphi version supports .net 2.0 and 3.0 because this isn’t a new version of the .net-framework, the core is 2.0 but some assemblies are updated or added to the framework.

But Codegear have minimized the C#-part of the developer studio. I think this decision is a good decision because the C#-part is always one step behind the C#-part of the competitor (I forgot the name, sorry). But it isn’t dropped completely. You can use C# assemblies like in the older BDS in your Delphi-project and this is the important thing.
If you’ll write a big application in C# then you must move to another IDE with less power (IDE-related) compared with the Developer Studio (IMO…). But don’t forget the Microsoft have WinForm deprecated….


The IDE is in my opinion very fast, and stable. Delphi 8 was version 0.9 of an IDE, Delphi 2005 the Version 1.0 and Delphi 2006 the Version 1.1 and the new version is like 1.5 (if I’ve written 2.0 then mean this a zero again, and this could make a wrong impression about the RAD Studio). On all of my working with this version I haven’t big problems or crashes of the IDE.

But every developer should have enough memory and a fast harddrive in the year 2007.... I recommend 2 GB and fast harddrives (I have 4 GB RAM and an U-320SCSI-subsystem on my Intellistation with two Xeon and I haven’t any speedproblems in the VMWare-area).


BlackfishSQL-database

Really new is a database called “BlackfishSQL” from Codegear. A long time ago Borland have written a database in and for Java, called JDataStore. On the BorCon 2004 have Borland showed a version for the .net-framework, called NDataStore but they haven’t finish this work. However, three years later the database is ready. It’s written in C# and use the same datafile like JDataStore. Now you have the chance to support with one database the .net-world and the java-world, meaning your database works on both areas. And these databases have a very small footprint, the administration is less and the database works very stable. BlackfishSQL supports transaction, the SQL-92 and Unicode storage of character data. You can start the server in application or service-mode, like InterBase.
Codegear have here a lot of experience with the JDataStore-database in the last years and included this in the
BlackfishSQL-database. Meaning: this database is not complete new, it works now not only in the java-framework it works in the .net-framework, too.

If you think, nice info about a new database but not excited because I work with the xyz-database:

This database can use Trigger and other db-stuff written in Delphi.net (or other .net-language)… There is a “Borland.Data.DataStore” namespace and for the .net-area you can write in the future your trigger inside your Delphi. If you'll support the Java-side of the database, use the com.borland.datastore package and create for this plattform the sp and trigger in java.

In the Screenshot you see the Database. You can connect over the DBX4-framework (available since Delphi 2007) or ADO.net2. JDBC is possible, too.

This database is fast, I've test with some sample data (400 MB) and the response and fetch of the result was great. I wonder about a compare between BlackfishSQL on a Windows Server and BlackfishSQL on a Sparc-Machine. Interesting idea for the cold winter here in Bavaria .
Blackfish supports incremental backup and failover.

DBX4

The new (in Delphi2007 published) database framework DBX4 is with this version of Delphi for managed and unmanaged application available. Steve Shaughnessy and his team have made a great job in the last year and build a complete new dbExpress-version. It’s more then a new version of dbExpress, it’s a complete framework. The developer can use this framework and expand it very easy because it has included a lot of interfaces and layers. It’s single sourced and create with a high skill of programming. I’ve read in the source and it’s amazing to learn from this framework-source (and I work with Pascal since 1982).

If you need a other datatypes, no problem write your own custom command type and use it in your applications. And with the option of Delegation, e.g. Trace and Pooling in this version you have more control of the database-connection then in the last dbExpress-versions or other database-connections. And you can use the framework in vcl.32 and vcl.net. This is IMO a big advantage of the next version. Delphi is IMO the best IDE for database-application because you have the choice of the best way to your database(s). No special support for the company-database, they support the most used databases. And with the stop of the BDP-development Codegear must only maintain one database-layer, and here we can expect in the future fast support of new database-versions with new features. In the past they must realize the support on more then one database-connection component. Congrat to Scotts Valley for this decision!

Generics

Generics complete new in the next Delphi version. The use of generics is normally to define a class that has generic type parameters and you can consume and create generic types inside your Delphi. Now every Delphi Developer must learn this new feature (I think in the next few month there will be enough information about this area on the dn.codegear.com-page or in lulu.com-area from Marco Cantu, Bob Swart and other) and after this the developer must make the decision “I need it or not for my type of application”. It’s like a lot of other features in the language and compiler-area of Delphi.

But this feature is at the moment only in vcl.net-applications available, the win32-support will included in the next release of Delphi (see the Roadmap here http://dn.codegear.com/article/36620)

Reporting

The upcoming Delphi version has Rave Reports, of course .

Since Delphi 7 is Rave the standard report engines and supports VCL.32 for Pascal and C++ and VCL.net for Pascal. And the last mean you can use ADO.net2-provider over DBX4 for your reports in Rave. The version will be RAVE BE 7.5.2 (7.5.0 was Delphi 2007, 7.5.1 was BCB 2007). The differences between RAVE BE and RAVE BEX you’ll find here.

You can create simple to complex reports, render the reports into HTML and PDF and have the possibility to use scripting inside your report. And besides this feature you have with Rave a really high-speed optimized report engine.

I think at the moment about "Generics and reporting with Rave and the custom connection" .

The RAD Studio 2007 is a consistent step in the correct direction and you'll get a stable product for developing applications for Win32 and the .net-Framework.

In the winter can Codegear make a facelift with the VCL and integration of Unicode. Last week I've made the experience that the Microsoft Fax service write the log-file in Unicode and I have a win32-application.. after some minutes I've written a .net-application in BDS2006 (.net 1.1) and this application (called with parameter from my Win32-application) convert the unicode-log-file into a vcl.32-readable log2-file and it works, but not very elegantly.

1 Kommentar: