Delphi has always been a great choice for desktop development, but the licensing costs have been prohibitive, especially given the quality and abundance of free alternatives. The good news is Embarcadero have released a Community Edition which is essentially the same as the Professional Edition, allowing both desktop and mobile development, and it is free!
There are constraints, from the FAQ Page:
Community Edition is both designed to allow individuals and startups to bootstrap their vision until annual revenues reach $5,000 at which point a Professional Edition license can be purchased.
If you’re an individual you may use Community Edition to create apps for your own use and apps that you can sell until your revenues reach $5,000 per year.
If you’re a small company or organization without revenue (or up to $5,000 per year in revenue), you can also use the Community Edition. Once your company’s total revenue reaches US $5,000 per year, or your team expands to more than 5 developers, you can move up to an unrestricted commercial license with Professional Edition.
Delphi gives you the ability to create:
- Traditional VCL Windows desktop applications that run on Windows (7 to 10)
- Windows Services, ISAPI DLLs, Console Apps, COM Components and more
- Cross-platform FMX desktop applications that run on Windows and MacOS
- Android and iOS applications from the same code base
- The compiler is super fast and produces a single executable for easy deployment
- The code produced is more than fast enough for most use cases
- Windows applications can be distributed via the Windows Store
- RAD Environment and Live Bindings enable rapid development and prototyping
- The language is receiving updates, and the RTL is being improved
- There is a number of quality third-party components available for the VCL, and a growing number of FMX components becoming available from companies like TMS and Woll2Woll Software. If I’m not mistaken, DevExpress have just begun building FMX components
As mentioned in a previous post Delphi is a nice balance between C# and C++.
Embarcadero have been continually improving the IDE, adding new editing features, components, improving HDPI support, and my favourite a new Dark Mode:
FMX is the cross-platform framework. If you get it right, you can get some great results as related to me recently:
“Based on my experience FMX is a perfect tool for desktop development.
We moved a medium-sized application from Delphi VCL to Delphi FMX. As you can imagine, this took a while and it was quite a bit of work.
Now the interesting part: After finishing the Windows version of the program, we started the OSX version. I was very surprised about the outcome. It took us only 3 days to do the corresponding adjustments in the source code. Afterwards, the program was running perfectly on OSX.
The project has about 200,000 lines of code, we use Fast Reports, FireDac, DataSnap,.. Currently we are testing the OSX Version at about 50 Testusers (our registered clients). So far, we encountered no problems (Application runs on High Sierra and Mojave).”
For Windows desktop development, the VCL has always been an excellent choice with a proven record, used across all industries.
There are third-party tools such as FMX4Linux, CrossVCL, and TurboCocoa which also enable you to develop cross-platform solutions from within Delphi.
If you are a startup, hobbyist, or entrepreneur Delphi gives you that efficiency where you develop once and deploy to multiple targets. As long as it fits your criteria you get the same kind of leverage that Ruby on Rails provides for the web, or Flutter for mobile.
Why not Delphi?
If you are starting a new MacOS project which must be delivered to the respective stores in the next couple of months, you should consider the following:
- Delphi currently does not have a MacOS 64 bit compiler, which means you will not be able to submit your desktop application to the store. Furthermore, Mojave is the last version of MacOS which will support 32 bit apps. A 64 bit compiler is expected to be available early 2019
- You can’t target Apple Watch at the moment
- Delphi is always trying to catch up with the mobile world, not all features are currently supported, including Right to Left language support
You can find out more about the Delphi Roadmap here.
Where to begin?
Delphi’s product page can be found here, but if you want to download the Community Edition you will need to register here. Once you register, your download should begin immediately, and you will be emailed a license with further instructions.
If you head over to the online Academy now, you can sign up for the 8 week Delphi CE boot camp for free, from where you can also download Marco Cantu’s book on the Object Pascal language.
The Delphi Developer Community on Facebook is a vibrant, friendly group of some 7500+ Delphi enthusiasts, keen to discuss anything Delphi related.
Recently there have been a number of books written on Delphi, including:
- Delphi Cookbook 3rd Edition, see here
- Delphi High Performance, see here
- Expert Delphi, see here
- Delphi Design Patterns (coming soon), see here
- Delphi GUI Programming with FireMonkey (coming soon), see here
- Coding in Delphi, see here
- More Coding in Delphi, see here
- Dependency Injection, see here
- MVVM in Delphi, see here
- Object Pascal Handbook by Marco Cantu, see here
- Delphi in Depth: FireDAC, see here
- Cross-Platform Development with Delphi 10.2, see here
- Writing an Interpreter in Object Pascal, see here
Most of these books are available in paperback as well as e-book format. Marco’s book is usually made available for free during the boot camps which are run at least once a year.
Recent PacktPub video courses (also available on Udemy):
Many more Delphi courses are available on Udemy, see here
Packtpub often have specials worth keeping an eye out for. Likewise Udemy regularly has coupons and specials. Many of the books and videos are available online via Safari Books Online.
Some websites worth checking out:
- FMX University, see here
- Jon L. Aasenden, see here
- Jim McKeeth – Podcast at Delphi, see here
- Marco Tech Blog, see here
- Begin End, see here
- DavData, see here
- Rudy’s Delphi Corner, see here
- Awesome Delphi (great list of components, etc.), see here
- Applications built with Delphi, see here
- Torry’s Delphi Pages, see here
- Delphi Basics, see here
- Pascal Today, see here
- Source Making, design patterns with examples in Delphi available, see here
Links to third-party tools to target other platforms:
Tools to help with the development process:
- I-Pascal, Object Pascal IDE Plugin for IntelliJ, see here
- AQTime, memory and performance profiler, see here
- EurekaLog, exception/bug management, see here
Links to some popular third-party components, tools and frameworks for VCL and FMX:
- FireMonkey (FMX) Stencils, see here
- DevExpress, see here
- Devart, see here
- TMS Software, see here
- Woll2Woll Software, see here
- Steema, see here
- Fast Reports, see here
- Almediadev, see here
- HTML Component Library, see here
- Flash AV Software Corp, see here
- ImageEN, see here
- HelpNDoc, see here
- HL7 Components, see here
- Components4Developers, see here
Awesome software recently developed/updated in Pascal:
- FL Studio Mac Edition (using TurboCocoa I believe), see here
- Ultibo, see here
- Smart Mobile Studio, see here
- MobaXterm, see here
- PRTG Network Monitor, see here
- WPS Office, see here
- DecSoft’s AppBuilder, see here
- Winff, see here
- My Visual Database, see here
- Miniatur Wunderland, see here
- ERP Sirius, see here
Games being developed in Pascal:
A few excellent Delphi/Pascal Open Source projects:
- Puma Repository (for medical applications), see here
- Lazarus IDE, see here
- Free Pascal, see here
- Spring4D, see here
- Alcinoe Component Library for Delphi, see here
- Delphi Mvc Framework, see here
- Project JEDI, see here
I’m a big fan of Delphi for desktop development. The Community Edition is an excellent move by Embarcadero, much needed and appreciated, and definitely worth checking out. The MacOS 64 bit compiler won’t be available for another four to six months but if you can distribute from a website, Mojave will still run 32 bit apps. The Delphi eco-system is vibrant and active, there’s been a number of new books and videos produced recently and the online communities are growing. Exciting times for Delphi developers!