Unify DevCon 2009 Düsseldorf: a review

Discussion forum about all things Gupta, OpenText and the community.
Dave Rabelink
Founder/Site Admin
Founder/Site Admin
Netherlands
Posts: 3392
Joined: 24 Feb 2017, 09:12
Location: Gouda, The Netherlands

Unify DevCon 2009 Düsseldorf: a review

Post by Dave Rabelink » 21 Oct 2009, 14:47

Image

This year, the EMEA Unify DevCon was held in Düsseldorf Germany. For me living in the Netherlands this was near enough to take the car and gave me the opportunity to test the top speed while cruising the landscape of Germany. It topped at 210 km/h.

First let me say something about the unofficial part of the DevCon, to keep the best for last. Again I have to make my compliments to Unify how the DevCon is set up. Nice location in the Hilton, pleasant breaks with enough to eat and drink and as always the very accessible Unify people.

The evening event was a boat trip on the river Rhine, a perfect way to get acquainted in a loose relaxed manner, along with a buffet. Mahlzeit !
Image

As for the presentations, let me be brief. Among there were clear sessions about the new TD 5.2 release, SqlBase, NXJ, information about support options and a session about the new acquired product AXS-One, to name a few.

I have placed the handed-out presentation documents on the sample vault when you are interested in them. You can find them here:

https://samples.tdcommunity.net/index.p ... evCon2009/

But for me the main reason in coming there was the long awaited presentation of a preview of Team Developer 6.0. Having seen the plans in the DevCon last year, I was very anxious to see what Unify has come up with and to see the current status of the project.
Past year, I had several discussions with colleagues about how Unify will get .NET to Team Developer. Would it be a kind of plugin for Visual Studio? A Sabertooth implementation where the output would be a C# source? What about the IDE? What about the good old Win32 path?

Many questions and many ugly solutions.
Also, Unify has talked little about TD6.0 and gave no real details about their actual implementation and roadmap. So I came to the DevCon with no high expectations.

The presentation was given by Martin Teetz and Horst De Lorenzi and for the whole session I have just one word: AMAZING !

Not only it exceeded my expectations but TD6.0 and the chosen path to get to .NET is just what I have hoped for. I think most attendees at the presentation felt the same way, indicated by the applause given when the features were presented one by one.

Let me start with the first part of the session, the new GUI features of TD6.0.
Presented by Martin, it showed a continuation of the TD5.2 path where more new controls and features are introduced:

Enhanced tab control (full pane support, dropping objects on tabs at design time, assigning windows to tabs and converting QuickTabs to the new control)
Page navigator (like outlook)
True 32Bit images for all GUI objects showing images (PNG, JPG, GIF, BMP, ICO) with alpha channel
Tree control (replaces VT control, full 32Bit color images, radio groups, checkboxes, progress control, color effects, font effects)
New dockable toolbars with config menus
Grid printing using headers/footers with HTML formatting
Grid exporting to Excel, CSV, XML and text and importing from them
QuickHTML and email POP3/IMAP/SMTP support
Constructors and destructors for functional classes.

These are expected additions to the current 5.2 feature set.

After Martin, Horst de Lorenzi started his part of the session, the new .NET capabilities of TD6.0.
Not only information was given by slides (there were 70), but they were accompanied by real live demo’s !

So let me start by saying the TD6.0 version will be a continuation of the TD5.2 path on Win32. With it you can still develop the good old Win32 applications. The Win32 compiler is still there and will compile TD5.2 compliant applications. The IDE looks nearly the same, no real difference in what we are used to.

The real new stuff is hidden behind the build options. There are a bunch of new .NET radio buttons added which enable a brand new developed .NET compiler. Like Horst said, just by selecting the right radio button build option you can create the according .NET runtime. It produces MSIL code, using the Sabertooth class library technology.

These are the build options:

.NET WinForm applications (EXE)
In TD6.0, Horst opened a TD5.2 sample application which was used earlier in Ana Paula Bonani TD5.2 session. It contains tabs, enhanced grid, MDI, dialogs etc. A rich GUI.
By selection this build option and build, a .NET EXE is created. Along with it needed assemblies in the same folder.
This actually runs on .NET, looking the same as in TD5.2, but now using WinForms.

.NET WPF applications (EXE)
The same source, but now build to WPF (Windows Presentation Foundation). This was actually in the demo running live and kicking in .NET.

.NET XAML applications
Again, the same application, but now build to XAML. For more info in XAML I refer to:
http://en.wikipedia.org/wiki/Extensible ... p_Language

Horst demonstrated how XAML looks like and used an open source XAML editor to edit the contents to show how that affected the application GUI. After altering a button text and color in the XAML file, returning to TD and running the application we actually saw the GUI indeed was updated accordingly.
The outline of TD 6.0 offers a new context menu option on top level windows to start a XAML editor. The layout of the window is then presented there along with the XML code. Along with TD6, there will be included an open source XAML editor. But in the preferences another XAML editor can be selected.

.NET XBAP Web applications
This demo was also very interesting. It allows you to create WebBased applications with a rich GUI. In fact the GUI offers the same features like a desktop application, but then running in a Web Browser.
In the demo, the needed files were created on compilation of the application and then started in Internet Explorer. The application offers a MDI which was in fact displayed within the browser without problems.
The application is downloaded to the client, so is not running on a server. The browser downloads the needed parts only when called.

.NET assemblies (DLL)
Here a demonstration was given where a .NET assembly was created from TD6.0 and then used in a sample C# application using Visual Studio.

.NET WebServices
This was actually not in a demo. It was not stable enough to be demonstrated but Horst shed some light on how this will look like. We saw a new class where you define Operations (in stead of the normal functions). These will be the interface from outside to the WebService and will run on the standard Microsoft WebServer.

Another nice feature TD 6.0 offers is the use of .NET assemblies from your good old Win32 application. It is implemented like the ActiveX browser/generator. It scans the contents of the GAC and shows all present classes/assemblies or you can browse to an exe/dll to select a specific one. Then the generator creates a library (.apl) in which classes and methods are generated.
The demo showed the selection of a standard Microsoft assembly (XML reader), the creation of the apl and then a sample TD application actually utilizing it.
This brings the .NET world to your Win32 platform.

Along with the .NET compiler, a debugger is also fully available. It uses the Microsoft Debugging library where you can step through your code like we are used to with the old debugger. It will offer more features though, offered by the standard .NET debugging capabilities. Some features were not yet implemented but will be eventually (like stack tracing).

There will be features not supported on .NET. Many lacking features in TD6.0 is said to be not a technological issue but a resource issue. Choices have to be made which features will be in the first version.

So, to conclude the TD6.0 preview session, I must say I was impressed. In front I could not have believed Unify has come this far in this time. It looks very promising.
Image

It offers a real alternative to VB.NET and C#.NET and in the same time hold the good old Win32 world in one product !


For people thinking why we need .NET and do not see why this is a major leap let me explain.

The old Win32 environment is slowly consumed by .NET. Microsoft is the running force behind it and many major companies are switching to that platform. Not only applications build by Microsoft will be running on .NET but also many third party suppliers will switch to it. ActiveX connectivity is slowly replaced by .NET components. And some of them are purely native .NET, which means they are not accessible to Win32 TD applications.

But not only at technological point of view a TD.NET version is wanted, also it is a political one. There are now two major paths to choose from on the long term strategic decisions: .NET or Java.

At higher levels of management the buzzword .NET is thriving. Saying your development environment is not on .NET means it is not strategic. And that means porting or replacement in the end.

Another issue is the lack of good TD developers. To assemble a large team with professionals is getting harder and this forces projects to choose other environments to do their development in. The benefit of .NET is that you can mix different developers using different languages and tools to work on one project. You can easily combine TD frontend (GUI) using the classes build in C# for your business logic and VB.NET for the data access. Or just the other way round.
Just use the platform where you have resources for or where the resources are good at.


I would like to make a remark to the TD6.0 development team and hope they consider this. One of the features not supported by TD6.0 will be Dynalibs. That’s obvious but remember the Dynalib is the only way to create modular TD applications right now.
It is said Dynalibs can be build as assemblies and used that way which is sound. But TD should offer a way to create black boxes containing not only business logic but GUI’s also. By offering export options to the sourcecode like we do right now using Dynalibs, the TD application should be creating fully featured assemblies to be used in TD applications on .NET and also in other development environments. They should contain interfaces to the outside and hide the contents which can be business logic, data access layers and fully featured GUI’s.
Maybe the current progma !__Exported could be used to behave like Dynalib exports in Win32 and like assembly interfaces in .NET.


So now I will conclude my review of the event. My compliments to Unify for the conference and also the stunning preview of TD6.0. I believe this is the right direction and keep up the good work !
Last edited by EwaldP on 25 Nov 2009, 00:46, edited 2 times in total.
Regards,
Dave Rabelink

Image
Articles and information on Team Developer Tips & Tricks Wiki
Download samples, documents and resources from TD Sample Vault
Videos on TDWiki YouTube Channel

Mike Vandine

Re: Unify DevCon 2009 Düsseldorf: a review

Post by Mike Vandine » 21 Oct 2009, 17:15

WOW! Thanks for the very comprehensive review of the DevCon!

Best regards,

ozmenbetul
Turkey
Posts: 292
Joined: 28 Aug 2019, 08:57
Location: Turkey

Re: Unify DevCon 2009 Düsseldorf: a review

Post by ozmenbetul » 30 Oct 2009, 09:31

Hi,
We're a licensed user of TD 2.0 and we've been developing with TD for years.
We have to migrate our project to web, so we have been attending lessons on Java and JSP for some time.
In fact, we have to go on with TD. AND TD 6.0 is so much exciting for us.
The fact is, we have to complete most of the project in 2010, so we have to be quick; so it is very important for me to know when TD 6.0 will be released.

Could you please tell if you know...

-Hope I'm on the right place to ask this.

Regards,
Betul

bills

Re: Unify DevCon 2009 Düsseldorf: a review

Post by bills » 02 Nov 2009, 01:22

Please don't confuse architectures. XBAP applications are "fat client" applications running on the client PC.

The application is downloaded using click-once technology. The code runs inside the browser in a way comparable to a big ActiveX.

Return to “General Discussion”

Who is online

Users browsing this forum: [Ccbot] and 1 guest