Video: Delphi XE2 and FireMonkey app on Windows, Mac and iOS
After the RAD Studio XE2 World Tour first stop in New Zealand, you see all over internet great comments about Delphi XE2 and FireMonkey support for iOS, beyond Windows 64-bit and Mac.
I know you are curious to see all of the great stuffs coming on RAD Studio XE2 and to give you an idea; I prepared a 5 minutes preview video. It shows a Delphi XE2 HD FireMonkey application running on Windows (64-bit), Mac and iOS, the use of 3D components and animations.
There are lot of possibilities with FireMonkey and all of the other new features in Rad Studio XE2, we are presenting all of them during the World Tour, reserve some time and register for the World Tour near you.
[button link=”http://www.embarcadero.com/world-tour” size=”large” style=”note” color=”red” border=”white” text=”light” window=”yes”]Register today for the RAD Studio XE2 World Tour[/button]
but I devlope LOB Apps as most Delphi Developers ?
We need goods 3rd party grids and other input controls….
Hi Andreano! I’m really excited to see FireMonkey in action when you come here in Belo Horizonte!
Can you please tell me what features of FireMonkey won’t run when GPU acceleration isn’t available? For instance, a siple FireMonkey application (withyou animations) will run under Remote Desktop?
Regarding GPU acceleration: FireMonkey is KSDev’s VGScene improved and integrated into Delphi IDE Designer. So i m think core code is same, and VGScene use GDI+ for drawing when D2D was not available. So, i didnt think u will have any problems running simple app under Remote Desctop, without extensive animations. I suggust you to develop special style without many effects to work on Remote Desktop targeted apps – it is possible.
But i have own question about mac support: will be any binding for mac’s kits/frameworks? Can i call any Objective C code from Delphi app?
@Deksden thanks for the suggestion, and we are looking in to that.
You can’t mix Object C and Delphi code, but you can interact with Mac API’s, as example you will see RTL classes like TThreads, file system (IOUtils) and others are using Mac API or Windows API.
Cloud you be more specific on your binding question?
Hola, la versión XE2 de C++Builder también saldrá al mismo tiempo que Delphi ? y si es así ya viene preparado para compilar a 64bits ? o habrá que esperar a una próxima versión ? Gracias.
@j0seant, si las versiones XE2 serán lanzadas juntas. C++Builder en está version viene solamente para 32bits, Delphi viene para 64bits, estamos trabajando para tener C++ 64 futuramente.
Hi Andreano, great video. just a question can you show a demo of the VCL styles or explain a little bit about this topic?
Is the iOS App compiled with Freepascal?
@Mica, yes, on this release we are using FreePascal to compile the iOS apps
Thanks. The VCL Styles will allow developers to change the look and feel of their VCL Applications. We plan to bring some styles in the box, as well allow developers to create their own styles using the Style Designer.
I’m going to extend the answer on this topic here, since we have many people asking about this:
There are two different scenarios here: RDP on physical machine or RDP on virtualized environment, also what OS you are using:
– Regarding RDP to physical machine
Regarding RDP to a Win7 or Vista physical machine works fine (Karl one of our engineers working on FireMonkey has this as one of his main development environments. The other is VMWare Fusion.) This is because the RDP server for Vista and Win7 can handle 3D.
RDP to a WinXP physical machine that fully supports FireMonkey (has a GPU) will work for 2D. For 3D applications RDP Server for WinXP can’t stream 3D content over the wire, this is a Windows RDP limitation, and not FireMonkey.
2D should RDP fine all the way back to XP client and host. 3D needs Vista or up on the host machine to RDP, XP ok on client machine.
– Regarding RDP to VM’s
Regarding XenAPP or VmWare ESX, basically any server based virtualized environment that lacks a GPU.
This is fundamentally about the presence of a GPU. The GPU is involved in three parts of FireMonkey: 3D, Shader based filters/effects, and 2D drawing. FireMonkey will fall back to GDI+ based software rendering for 2D drawing, but there is no software fallback for 3D or Shader based filters/effects.
In case you want more information about GPU virtualization I would recommend you to read this thread http://communities.vmware.com/message/1697721, it’s a long thread but a real case explaining the heavy use use of 3D application in VM environments.
Looking forward to see you in Belo Horizonte (Delphi Tour 2011)
Is the text rendering done by FireMonkey or by the underlying OS?
Typographic details like hinting, esp. on small type sizes, widths on proportional typefaces, how to handle bold and italic widths are not to be underestimated.
The Windows API returning the displayed width of a text string has never worked satisfactorily in all circumstances, for example.
Andreano, IOs e possivel desenvolver aplicativos usando acesso a dados com dbexpress, tipo uma aplicação de força de vendas acessando a base em firebird por exemplo?
@Alfeu, dbExpress estará disponível para Windows e Mac.
iOS oferece outras formas de armazenamento de dados e não requer dbExpress
Can you please explain about Right-To-Left languages (Arabic, Persian, Hebrew) support in FireMonkey? Does it support right-to-left texts? Is it able to change the UI right-to-left properly? VCL has some serious problems with right-to-left in some old and many new controls; Ribbon, TreeView, PageControl, and Action Toolbars are just some prominent ones (there are others too).
Does FireMonkey have similar problems in drawing right-to-left controls? .NET has great internationalization capabilities and almost flawless support of Right-To-Left languages. That made many Delphi programmers in my area to migrate to .NET for developing software with proper right-to-left support. I hope FireMonkey does not lack such a support as VCL does.
I’ll appreciate it if you elaborate Right-to-Left support in FireMonkey. Thank you.
OK, I found a copy of DXScene and VGScene, and unfortuantely they are near to useless for creating UI for any right-to-left language (Arabic, Persian, Hebrew). There is no BiDiMode, only textbox and label controls have a TextAlign property which can render text at the most-left or most-right or center of the control, but it has no sense of RTL languages, so if you use any punctuation marks, or any latin text in your RTL text, it will mess the whole text. That means the textboxes, labels, memos, grids, and whatever text input control available in this component pack are only useful for very short RTL language text. Anything serious (i.e. a text with punctuation or a mixture of RTL and LTR text) will be rendered improperly!
Also TreeView control and any controls similar to it have no sense of RTL. You should set text alignment for every single item yourself (of course with the same problem I mentioned above), and even if you do so, the arrow image indicating subitems stays on the left side of the control, making a right-to-left treeview look ridiculous.
Hmmm, if FireMonkey has nothing new for Right-to-Left langauges aside from what DxScene and VGScene already offer, then it will be a total disappointment for programmers developing applications with Right-to-Left language support. That means, it will be even worse than VCL for these programmers. I personally have very little hope Embarcadero might have fixed those problems in its FireMonkey 🙁
plus one vote for rtl languages
this seems to be great problem for all rtl languages developers,if firemonkey dont support bidimode will be useless,and embarcadero will lose great market
This brings back such good old feelings, when programming was still clean. I hope you guys really make it and that IDE and tools pricing will not be as Borland’s
Congratulations and good luck !!!
FireMonkey is a phantastic step forward for Delphi/C++Builder! When I developed my first media center application with DXScene more than a year ago, I wished it would run on a Mac, too. Now I can’t wait to port it to iPad with Firemonkey…
Here is a short video of this media center application, that gives you an idea what you can do with these components:
Thanks for the presentation! And also for answering questions. I`m (and also my friends) very excited about new Delphi XE2 🙂
I can`t wait for the presentation that will be also in our country – we are going to be on “RAD Studio XE2 World Tour” in Cracov (Kraków) – Poland. After that we just need to wait to buy it – and we will sure buy 🙂
Thanks again and greetings!
Andreano, poderia me tirar uma duvida em relação ao XE2, gostarria de saber o que relamente vai ter em cada versão pois desejo faz uma atualizaçao e to na duvida em relaçao a isso para fazer a escolha certa.
Exemplo: ODBC vai ter em todas ?
Estamos finalizando o feature matrix e vamos disponibilizar no site, posso adiantar que o driver ODBC para dbExpress estará a partir da versão Enterprise.
Thanks for awesome demo.
In iOS, Is It possible to use native iphone api like a asset library (ex. photo…) ?
or just gui application only.
Yes you can access all of the iOS API from FireMonkey app. There is a unit iPhoneAll you need to declare for that.
Andreano , please can you help in solving this problem : https://forums.embarcadero.com/thread.jspa?threadID=59987&tstart=0
Also please can you an article on how to create a share directory to be used between XCode and IDE esp on VMware .
I think they found the solution in the newsgroup, sorry I just saw your message today.
I will create an article to show how to share the directory between xCode and the IDE.
from delphi forum… see this link ( http://midafiremonkey.wordpress.com )
convert dfm-vcl structure and any pas source to firemonkey
Felicidades por el video, es sensacional, y nos hace una idea de lo que se puede conseguir con Delphi XE2.
Viendo tu video y los posteriores comentarios me surgen 2 preguntas:
Cual sería el mejor motor de base de datos para trabajar desde Delphi y tener compatibilidad posterior con iOS ( sobre todo para trabajar después con iPad que es mi finalidad ) ??
Tengo la versión Proffesional de Delphi XE2, pero no veo la opción desde el menú de Tools de “Export to Xcode” como tú realizas en el video. Es problema de la versión de la licencia de Delphi XE2 o es necesario hacer alguna configuración previa?
Muchas gracias de antemano!
How do you migrate an existing VCL application to Fire Monkey. I have an application with about 150 forms in it. Is this merely a compiler toggle to use FireMonkey or do you include different units? How is it done? Is this the work of a week or a massive rewrite of about a year or longer?
You can reuse all the datamodule and business logic. Only the UI will need to be rewrite. About how long it will take, depend of the size of application, number or resources available, etc.
That is a real downer. Take away the UI from most windows’ programs and there is not much left!
Are the components that radically different that not tool is provided to do 90% of the grunt work of the conversion?
The real kicker is that the whole application must be converted en masse to use Fire Monkey. It is all or nothing since the Delphi will not allow both VCL and FireMonkey formas to co-exist in the same program. If it did you could migrate one form at a time and debug it. How many zillion bugs can one create converting 150 forms first before one can run a single text?
Basically then the new version of Delphi is really only applicable to trivial or new applications. To relay out 150 forms and all their conrols plus fix all he properties and events and methods is a major major task.
From where I sit, Delphi XE is of very little value for complex existing applications that wish to use FireMonkey to run on different platforms.
To deploy a FireMonkey application from Delphi XE2 to the IPhone, there is a direct way without the need of a IOs machine?
To do that is needed to jail break the ipnone?
Or is needed the IOs machine hopelessly?
¿Para instalar una aplicación FireMonkey desde Delphi XE al IPhone, hay una forma de hacerlo directamente sin la necesidad de una máquina con IOs?
Para hacer esto ¿es necesario JailBreakear el IPhone?
¿O irremediablemente se necesita la máquina con IOs?
To deploy your FireMonkey app in your phone you need a Apple Dev account and you need a Mac machine to compile the app. You can jailbreak your phone and by pass the Apple dev program, but you won’t be able to deploy on App Store your app.
Eu reparei que neste vídeo você parece estar usando algum tipo de VM para mostrar a funcionalidade do Delphi XE 2. Porém eu noto que o host é um mac os x e o guest é o windows. Estou tentando fazer o Firemonkey funcionar porém no processo reverso. Meu host é um Windows 7 e o guest é o Snow Leopard. Minha aplicação feita no modo console funciona normalmente, porém uma aplicação feita com formulário não é executada. Meu Snow Leopard está instalado no VirtualBox. Vi em alguns posts espalhados pela net que não é possível executar uma aplicação do Firemonkey em uma VM. Isso procede? Se procede, me conformarei em não poder executar um deploy da minha aplicação no snow leopard. Se procede, como fazer para isso funcionar?
Já tentei inclusive passar o “executável” gerado para uma pessoa que trabalha diretamente com o Snow Leopard, porém em uma máquina Apple, o projeto também não abriu. Inclusive eu compilei o aplicativo em modo Release.
Você pode me dar uma ajuda?
Agradeço desde já.
@Rômulo, como mostro no próprio vídeo FireMonkey irá funcionar normalmente em um VM, se não está funcionando na sua máquina é porque pode estar faltando alguma arquivo. O Delphi gera o app e dependências no padrão Mac. Use o Deployment Manager para copiar sua aplicação para o Mac e veja quais arquivos faltaram.
Larry: about reæktivt 150 forms… Yes, if you have tied all your business logic into the forms, you are in deep trouble. However, if you have modelled your application in a layer-model, it shouldnt be that bad, even though its still not a trivial task.
About the controls being not that different. Basically the VCL controls are all Windows in the Microsoft windows sense. I know that most people regard the Tform as a window, but a Tbutton, a Tedit and a Tmemo are also Windows, they have a handle.
I am pretty sure, that if you build a converter, you will make a bundle, as many Delphi programmers would like one.
Question: how do I deploy a Mac app built with Firemonkey to a customers Mac?
I’m not talking about Passerver, debugging or anything like that. Just plain and simple, copy the executable to a Mac running Mac OSX Lion.
I tried with my own Mac, but when trying to run it, it Said it couldnt run, because Classic was not supported..
Is there a tutorial for deploying apps to a non-developer Mac ? Ie a customers Mac…
Thanks in advance
How to play mpeg videos using firemonkey components?
A snippet would be wonderful.