Micro-ISV.asia

Friday, 3 September 2010

More Goodies in Delphi XE and C++Builder XE

Filed under: Programming — Jan Goyvaerts @ 10:58

Delphi XE and C++Builder XE were released on Monday. The eagerly anticipated support for Win64, OS X, and Linux remains on the roadmap for Delphi and C++Builder. The focus for the XE releases seems to be on added goodies.

  • Regular expressions: With regular expression support now part of the RTL, that is one less 3rd party component that you need. The way the RegularExpressions unit is implemented is particularly nice. It uses records instead of classes to mimic .NET’s regex support. It only takes one line of code to use a regex. You don’t need to worry about memory management.
  • Subversion integration: Check out projects from version control and commit your changes without leaving the IDE. The Differences subtab of the History tab in the code editor allows you to quickly compare any two revisions of the file you’re editing. All this works even if you don’t have a subversion client installed, though you’ll probably want to keep the client you have to manage files that you edit outside the Delphi or C++Builder IDE. The CollabNet subversion client that is part of the installer is the command-line svn tool. You don’t need to install it unless you really want to work from the command line.
  • Beyond Compare: Delphi and C++Builder do not include the full directory comparison tool. They do include the file differ that is part of Beyond Compare. If you don’t like the built-in differ on the Differences subtab of the History tab in the code editor, you can make a change in Tools, Options to use the Beyond Compare differ instead.
  • AQTime: AQTime from SmartBear Software is a code profiler that supports a wide range of development tools for Win32 and .NET. Delphi and C++Builder XE include a version of AQTime with reduced functionality. It only works with the XE versions of Delphi and C++Builder, and does not include some of the more advanced profilers. Even so it offers everything most developers need for profiling their applications. AQTime normally costs $599, so that’s a nice bundle even with the limitations.
  • CodeSite: CodeSite from Raize Software is a logging tool. A logging tool can be very helpful for debugging code where breakpoints are cumbersome. The main benefit of CodeSite is that you can log almost anything, including complete Delphi objects. CodeSite can also log what your application does on your customer’s computers if they install a redistributable with the CodeSite logging application (or if you make it part of your own installer).
  • IP*Works: IP*Works is a set of Internet components, much like the Indy components that have shipped with Delphi and C++Builder for many years. Since IP*Works is not written in pure Delphi, Indy is likely a better choice for Delphi developers. IP*Works is included with Delphi and C++Builder mainly because it is also included with RadPHP, which is now part of RAD Studio XE. If you want to use the same internet components in Delphi and PHP, then IP*Works may be an option.

FinalBuilder is only included with the Enterprise and Architect editions of Delphi XE and C++Builder XE. All the other goodies are included with all editions, including the Professional edition.

Thursday, 2 September 2010

RAD Studio XE Now Shipping with 4 Programming Languages

Filed under: Programming — Jan Goyvaerts @ 10:58

Embarcadero shipped RAD Studio XE on Monday. The successor to RAD Studio 2010 now includes 4 development environments:

  • Delphi XE: Develop native 32-bit Windows applications using the Delphi language. Since Delphi now generates Unicode applications, only Windows 2000 and later are supported.
  • C++Builder XE: Same as Delphi XE, but using C++ as the language.
  • Delphi Prism XE: Delphi Prism XE integrates into Visual Studio 2005, 2008, and 2010. If you don’t have Visual Studio, the VS 2010 shell is installed when you install Delphi Prism. Delphi Prism was first included with RAD Studio 2009. It allows you to develop .NET applications using all the frameworks supported by Visual Studio, including WinForms, WPF, and Silverlight. Delphi Prism uses a language that is very similar to Delphi, but not identical. Unlike the Delphi for .NET compiler that was included with RAD Studio 2005 to 2007, it is not intended to make it easy to share code between Win32 and .NET. Instead it is intended to fully exploit the features offered by the .NET framework.
  • RadPHP XE: RAD Studio XE is the first release that includes RadPHP. RadPHP is the new name of Delphi for PHP. The old name was a bit of a misnomer because while RadPHP is inspired by Delphi, they’re totally separate tools. RadPHP is a development tool that looks and feels very much like Delphi and includes a framework very similar to the VCL, but creates web applications using PHP and JavaScript.

All in all that’s quite a bundle. There are 3 editions: Professional, Enterprise, and Architect. Enterprise has all the Professional features plus dbExpress server connectivity, DataSnap (for multi-tier database applications), WebSnap, UML modeling, and build automation. Architect has all the Enterprise features plus database modeling using ER/Studio.

Saturday, 14 August 2010

Delphi XE is Coming

Filed under: Programming — Jan Goyvaerts @ 16:07

The successor of Delphi 2010 will be called Delphi XE rather than Delphi 2011. The first of three sneak previews is now available on Embarcadero’s website. If the video doesn’t play smoothly, try watching it on YouTube.

Embarcadero acquired Delphi and the other Borland developer tools in 2008. Borland itself has since been completely sold of and no longer exists as a company. It seems that Embarcadero is now working on integrating Delphi and the other Borland products into their own product lines.

Embarcadero sells a wide range of database management applications. Previously these tools were sold separately for each database platform. Now these tools can be purchased as one package supporting all databases that the tools are availble for. These cross-database editions are sold under the XE moniker. Delphi has always supported a wide range of databases. In that respect it fits within the XE toolsets. So you could say that XE stands for “cross-platform Embarcadero-style”, where a platform is a database platform rather than an operating system platform.

Embarcadero has also published a new roadmap for Delphi. Project “Fulcrum” on the roadmap is the codename of Delphi XE. Support for Win64, OSX, and Linux remains on the roadmap, in that order. So it’s safe to assume Delphi XE will be Win32-only, as Delphi has been since version 2 back in 1996.

Friday, 13 August 2010

Which Browsers to Support in 2010

Filed under: Cyberspace, Just Great Software — Jan Goyvaerts @ 11:37

When redesigning a web site, one of the first considerations is which browsers the new design should support. When dealing with an existing site, the best way to find out is to check your web logs.

Though there are plenty of dedicated web log analyzers out there, I tend to use PowerGREP to analyze our web logs. It’s all part of our strategy of “eating our own dog food” as much as we can. You can use the trial version to run the PowerGREP actions linked to below.

First I used buynowbrowsers.pga to get a list of all browsers used to access the buynow.html page on each of our product sites during the previous month. Since the ultimate goal of the site redesign is to sell more software, I want to look at which browsers are used by people who buy rather than which browsers are used by people who just browse.

I found that 46.4% use Firefox, 43.5% use MSIE, and 9.2% use Chrome. The other browsers in my search (Safari, Opera, Netscape, and Konqueror) had (almost) no hits.

Then I used buynowbrowserversions.pga to run the same search and include version numbers in the results. I found that 96.8% of all Chrome users were using very recent releases. The fact that you can’t disable Chrome’s automatic updates must have something to do with that. 92.6% of the Firefox users were using either version 3.6 (the latest at the time) or 3.5. So I decided to check the new design only using the latest versions of Chrome and Firefox.

The picture was different for MSIE users. IE 6, 7, and 8 accounted for 20.1%, 25.6%, and 53.3% of the MSIE users. Thus 8.8%, 11.2%, and 23.4% of all visitors use MSIE 6, 7, and 8. Though Windows Update delivers new versions of IE, it does not install them automatically. The user has to accept a license agreement. I guess that’s why many people are still using IE 6 even though that browser is now almost a decade old. It was released in 2001.

Given these numbers, and the fact that IE 6 is much less standards-compliant than all the other browsers that showed up in our logs, I decided that the new design should look good on IE 7 and 8 and be usable on IE 6. With “usable” I mean that everything should be readable and navigable, but that the site doesn’t necessarily look pixel perfect.

When all was said and done, it turned out that all these browsers render the new design just fine. Even IE 6 correctly handles the HTML4 (strict) and CSS2. Browser-specific issues only cropped up in the Javascript code that sizes and positions the background image. IE 6 users have to do without the background. IE 6 also doesn’t render transparent PNGs correctly, resulting in unintended shades of blue around the images. The non-transparent parts of the PNGs still show up properly, so this still fits the “usable” bill.

Next Page »