Mobile Apps Development using Delphi
Today’s topic is about mobile apps development using Delphi. This article is for people who already use Delphi for desktop development and just heard something or thought that they have to improve their software and add for example mobile (cell phones and tablets) support.
Delphi is a software development tool used to build desktop, mobile and different IOT software today. It is up-to-date despite it was developed in 1995. The reason for it is that it's been regularly updated by Embarcadero, at least, according to my information, we have a couple of releases per a year and Embarcadero keeps it up-to-date. It has been all the time and it is still a huge Delphi community comprising experienced engineers and developers.
Delphi was a revolutionary technology for rapid application development in the 90s and 2000s. It was a really unique tool which you could use for desktop development compared with this ugly Microsoft Visual Studio 6 version. That time it was too hard to start development of an application with Visual Studio 6 compare with Delphi where you could just create the project put the controls then run. And observe how the miracles started happening.
An interesting fact is that the Chief Architect behind Delphi was Anders Hejlsberg who was later persuaded to move to Microsoft where he worked as a lead architect of C#. I provided such information here just like a food for the thought. And after that in 2003 Microsoft introduced .NET/C# and Visual Studio 2003 which in my point of view is a Microsoft’s version of RAD studio. They spent a lot of money into advertisement and marketing of these tools and the popularity of Delphi started decreasing and eventually .NET caught the leadership.
Pros
Cons.
Two major cons in my point of view are future risks and negative information noise.
Today’s topic is about mobile apps development using Delphi. This article is for people who already use Delphi for desktop development and just heard something or thought that they have to improve their software and add for example mobile (cell phones and tablets) support.
What is Delphi today.
I'd like to refresh in our minds some history. If you have already participated in our webinars you have already saw some of the slides. That’s all for new people. Anyway, let's just refresh what Delphi was in the past and what it is now.Delphi is a software development tool used to build desktop, mobile and different IOT software today. It is up-to-date despite it was developed in 1995. The reason for it is that it's been regularly updated by Embarcadero, at least, according to my information, we have a couple of releases per a year and Embarcadero keeps it up-to-date. It has been all the time and it is still a huge Delphi community comprising experienced engineers and developers.
Delphi was a revolutionary technology for rapid application development in the 90s and 2000s. It was a really unique tool which you could use for desktop development compared with this ugly Microsoft Visual Studio 6 version. That time it was too hard to start development of an application with Visual Studio 6 compare with Delphi where you could just create the project put the controls then run. And observe how the miracles started happening.
An interesting fact is that the Chief Architect behind Delphi was Anders Hejlsberg who was later persuaded to move to Microsoft where he worked as a lead architect of C#. I provided such information here just like a food for the thought. And after that in 2003 Microsoft introduced .NET/C# and Visual Studio 2003 which in my point of view is a Microsoft’s version of RAD studio. They spent a lot of money into advertisement and marketing of these tools and the popularity of Delphi started decreasing and eventually .NET caught the leadership.
The reasons to continue using Delphi.
We will divide this question in two parts: pros and cons. First we need to talk about pros and cons of Delphi because, of course, we have pros and cons if we want to be objective.Pros
- Delphi is a cross-platform tool. Today you really can develop apps for iOS, Android, I'm not talking about Windows because it's like a must-have, you can develop applications for macOS or applications for Linux.
- Delphi is easy to use and designed for rapid development approach for desktop development. According to my experience software development with Delphi is really easier and really more rapid if compared with WPF which of course has a much richer UI than WinForms. However from the other side it's really much harder to develop WPF UI applications as compared with Delphi. But if we're talking about WinForms I cannot even compare it with Delphi because WinForms is very weak in UI and possibilities and it's not easy to improve the UI of WinForms applications.
- Delphi applications are easy to deploy since executables don't need any pre-installed frameworks, and hence there is no headache about frameworks versioning, packages versioning, etc. And this is what I mean. If you have, for example, some .NET application you should know which .NET version your clients have, which packages they have, how it will be, will they have any conflicts, and you have to deploy assemblies and there is a lot of questions.
- Even today Delphi has a huge set of 3rd party components, for example look at TMS Software set. It’s a really huge set of components which can cover UI, background operations or show media, different cross-platforms controls, web controls and so on.
- Of course, one more advantage is regular new releases of Delphi and RAD Studio from Embarcadero.
- As a pro, we have a lot of software which was developed using Delphi. Right now you can really migrate that legacy software using for example Delphi 5, Delphi 7 to the up-to-date Delphi versions without rewriting it from scratch. If your software has a lot of background logic, you can keep 90-95% of your code. Of course, like a remark, only if you don't need a code review and rewriting your code and rewriting spaghetti.
Cons.
Two major cons in my point of view are future risks and negative information noise.
- Future risks: this is what I'm hearing from our clients and our partners: will Embarcadero have enough resources to compete on par with other development tools? Will we have enough specialists and developers on the market for supporting and developing our software? And these questions are really important. Right now even we are fighting for Delphi and trying to be like Delphi evangelists explaining people why they don't need to be scared.
- Negative information noise: in the 90s and 2000s Delphi was studied in universities and now it's replaced by other tools. Last year, as I remember, Embarcadero introduced a free version of Delphi (Community Edition) and now maybe different universities will again continue using Delphi and young people will study it during their classes. Again, today young developers consider Delphi to be obsolete, not fashionable technology. They don't have any facts. This is what they just hear and this is what I'm calling a negative information noise. Delphi is not an operating system owner. So this is self-explanatory why it's always half a step back from Microsoft, Apple or Google. When Microsoft already developed something, implemented in their development tools, Embarcadero needed time to add the support of these new features in their Delphi. That's life.
- Again, my point of view, Delphi is not suitable for web development. I am talking about web development in classic understanding. If compared with native web technologies like Visual Studio and ASP.NET, Apache and PHP, you don't have a native for Delphi.
- Time consuming for the development of complex mobile applications. It's not easy to implement any custom SDKs from Facebook, Google or Apple which are not supported in FireMonkey by default. This is a very serious disadvantage. Sometimes if you are using native tool for Android development, like Android Studio, for implementing a new version of SDK from Facebook you will need maybe a couple of hours, but for Delphi, unfortunately, if you're not experienced it can take two days, a week, and so on.