Delivered: our first set of FireMonkey components


Thursday, December 15, 2011

It's with much excitement that we release today our first set of controls for the FireMonkey framework:
TMS Instrumentation Workshop for FireMonkey.

What is it?
A more or less equivalent set of controls, TMS Instrumentation Workshop for VCL has existed for years but the new TMS Instrumentation Workshop for FireMonkey has been designed from the ground-up. The components have been entirely designed in the spirit of the FireMonkey framework, meaning, extensive use of styles has been made where applicable. Use of styles not only means that you can customize the colors, gradients, textures, strokes of the controls at a very detailed level, it also means that the layout, elements within controls can be changed. The end result is ultra customizable controls. At the same time, we have tried to make the default look and feel of the components ready to use. In other words, the ultra customizability comes as an option but it's not needed to make use of the components. In this respect, the components offer the same "R for rapid" as VCL offers RAD.

Of course the TMS Instrumentation Workshop for FireMonkey is fully ready for cross-platform development. Applications can be built with the controls for Win32, Win64, Mac OS-X and iOS! We provide a package "TMS Instrumentation Workshop for FireMonkey HD" and a package "TMS Instrumentation Workshop for FireMonkey iOS" that gives you access to the controls in FireMonkey HD, FireMonkey 3D and FireMonkey iOS project types. TMS Instrumentation Workshop for FireMonkey Sources can be deployed to compile with xCode/FPC to iPhone, iPad, iPod.

And now?
We're extremely curious to see how the controls will be used. We look forward to all your feedback, comments and requests for new features, new capabilities, new components within the TMS Instrumentation Workshop for FireMonkey control set. We're meanwhile also already exploring other components for FireMonkey. The TMS Instrumentation Workshop for FireMonkey control set was for us also a necessary first step to lay a solid foundation for component design for this new framework. The medium complexity of these controls was an ideal way to familiarize with an entirely new way for creating components. It was crucial for us to design the components to really fit in the FireMonkey framework, i.e. make extensive use of styles. We believe that in the long term, no one will benefit from quick ports of VCL components that do not fit in the design philosophy of FireMonkey. After the past months of learning a lot of new things, fighting with the initial quirks of this brand new framework and working very hard, we believe we now have a more solid foundation and are ready to tackle the next challenges. As the interest in these components and the market will justify, we'll build up a wider range of components for the FireMonkey framework.

VCL vs FireMonkey?
VCL has a history of over 15 years now. It is an extremely rich framework for Windows application development with a huge array of components that have over all these years become rock-solid and very feature-rich. By its nature, the VCL framework will always optimally and closely integrate with Windows. The VCL framework is perfectly suited to create first-class Windows applications. By using the native Windows controls in the VCL combined with custom controls, it is possible to create Windows applications that consistently and perfectly integrate in the overall look & feel and way the Windows operating system works and access the Windows operating system resources in every possible way.
On the other side, FireMonkey offers exciting new capabilities like 3D, cross-platform deployment, styling. With the design choices that have been made in the FireMonkey framework, comes the disadvantage that it is not using native operating system controls. This will in the best scenario always mean chasing a moving target to make applications that have a user interface that is 100% consistent in appearance and behavior with the operating system. Certainly, the advantages FireMonkey brings will in several scenarios justify living with its disadvantages.

A "+" story
It's always funny that many software developers always like to flipflop between life and death. That HTML5 is very much alive today means for many developers that native applications or even Silverlight are dead. If you look back, there was a time that when .NET was freshly released, many developers claimed that native application development was dead. We believe that in life things are not black or white, there are colors! Blues, greens, reds, a big palette to choose from. We see the VCL versus FireMonkey not as a life or death situation but rather a "+" situation. As Delphi developers, we're now fortunate enough to have one more option to choose from today. We can choose VCL to create the best possible fast native Win32 and Win64 applications, we can choose IntraWeb to create web applications in a RAD way, we can choose FireMonkey to create applications for iOS with our beloved language or cross-platform applications for Windows and Mac. We have never had more choices as Delphi developers and then, even more choices are on the way! VCL remains as ever, a very important choice for Windows application development and we're feverishly continuing to work on new offerings for VCL and extend and improve existing VCL components. IntraWeb remains a very productive way to create web applications for desktop and mobile browsers and we're working very hard to offer components that allow you to take advantage of HTML5, mobile browsers, ultrafast asynchronous updates etc.. And now there is the new kid on the block called FireMonkey that allows us to go Apple and we're also trying to offer added-value for Delphi developers in this area. It is in other words a VCL + IntraWeb + FireMonkey story. Let's work together to make the sum of this 1 + 1 + 1 story more than 3!

Bruno Fierens


This blog post has received 4 comments.

1. Monday, December 19, 2011 at 8:28:59 AM

Is there any plan to adapt your VCL components to Firemonkey?
There is a big irony, we have to choose either VCL or Firemonkey.
Because, you know if we decide to develop cross-platform apps then we have to chuck out VCL or if we want to use of power of VCL then there is no Firemonkey(cross-platform) choice.
In that point, TMS is best component set of VCL world, but what about Firemonkey ?
If we choose Cross-Platform app developing, shall we need to give up TMS Component Pack/Studio?

Demir Alper

2. Monday, December 19, 2011 at 9:09:22 AM

If you read this blog post, one of the crucial remarks made in the text above is: "no one will benefit from quick ports of VCL components that do not fit in the design philosophy of FireMonkey"

1) our team needed to get sufficient experience / foundation in the FireMonkey architecture that is completely different from VCL
2) our first product of medium complexity FireMonkey components gives this foundation and first experience
3) we will expand our first FireMonkey product over time
4) let us now technically & commercially evaluate our first product from your feedback
5) with steps 2) & 4) we will determine step by step what other FireMonkey components we''ll develop in the design philosophy of FireMonkey, that means no quick ports but components that might be equivalent to VCL controls but are written in the design philosophy of FireMonkey.

Bruno Fierens

3. Thursday, January 12, 2012 at 7:04:56 AM

It would be NICE to have a series of FireMonkey components for use with our applications. We know that it is not easy to make this thing .......

We are confident in the skill of the "TMS team" FireMonkey so that components can have a prosperous future because they have considerable potential for developing cross-platform applications ....




4. Thursday, January 12, 2012 at 11:11:06 AM

More is coming for FireMonkey

Bruno Fierens

Add a new comment:
  You will receive a confirmation mail with a link to validate your comment, so please use a valid email address.
Change Image
Fill in the characters from the image above:

All fields are required.

Previous  |  Next  |  Index