Update: This post has been updated to the recently released Delphi 10.3.2.
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
- You can now build Linux apps with the Enterprise edition
- 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 CrossVCL, and TurboCocoa which offer further options for developing 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.
Why not Delphi?
If you are starting a new Android project, the Playstore now requires 64 and 32 bit versions of your application. Delphi’s 64 bit Android compiler isn’t due for a couple of months. However, Emarcadero have arranged extensions with Google for Delphi applications as detailed here. Also worth noting, Delphi doesn’t currently support Apple Watch.
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.
The Delphi Developer Community on Facebook is a vibrant, friendly group of some 8500+ 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, 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
- Introducing Delphi ORM: Using TMS Aurelius, see here
- The Tomes of Delphi: Algorithms and Data Structures, see here
- Delphi XE2 Foundations, see here
- Delphi Programming Projects, see here
- FireMonkey Development for iOS and OS X, see here
- iOS/Android Application Development, 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):
- Mastering Delphi, see here
- Working with Delphi, see here
- Delphi Solutions, see here and here
- Restful Services with Delphi (comming soon), see here
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
- Delphi Haven, 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
- Bayesean Blog, see here
- Delphi Worlds, 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
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, having recently returned to it after more than a decade in .NET land. The Community Edition is an excellent move by Embarcadero, much needed and appreciated, and definitely worth checking out. 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!