Author: Andreas@Mediatech
Some recent cool apps and case studies
- Hunger Obesity Prevention App
- Network Fool Card Game
- Floccipender the Word Descrambler
- Rain in Denmark
- Mimix 3D Profile Scanner
- FrameForge
- EarMaster
- 1Password for Windows
- Peace Keeper Enterprises
- WideOrbit
- Digifort IP Surveillance
- Image Line’s FL Studio
Skype
- Internal alpha started in QT
- Slow progress and poor UI
- Switched to Delphi “…most productive, fastest, efficient way to build our app … also getting very good UX on MSWin platform.”
- A combination of Delphi and C++
- Source: Toivo Annus & Ahti Heinla via Quora
Lessons Learned from Skype
- Very productive for native user interfaces
- Easy to combine with other libraries and technologies
- Use each technology for its strength
- Combine efforts from different teams
- Leverage existing libraries
- Continues to work for many years, through multiple teams
Lessons Learned from Eric of Digifort
Some tools used with 1Password
- Windows version written in Delphi. The other platforms were developed before Delphi supported them.
- Even the browser plugin for Windows is written in Delphi
- Uses a large variety of security libraries for maximum security
- Security white paper bottom of page
- More on components
- EurekaLog
— For diagnostics reporting – www.eurekalog.com- Automatically traps unhanded exceptions, hangs and leaks, creating a stack trace and bug report.
- FinalBuilder — For build management – www.finalbuilder.com
- Reproducible and automated build process
- Continuous integration and source control integration
- Inno Setup — The installation wizard – www.jrsoftware.org
- Automated installation and uninstallation packager
- IDE Integration available with www.rad-installer.com
EarMaster
- Shares 97% of the code between iOS, Windows and macOS
- iPad app uses TMS iCL native components
- Makes use of custom FireMonkey controls
- iPad app also uses SQLite (FireDAC), SSL, In-App purchases, XML and Indy components
- Tools used in development
- CnPack – collection of IDE wizards similar to GExperts
- ModelMakerExpress
- Structural highlighting
- Productivity enhancements
- Refactorings
- Class editor
Where is Delphi used?
- EVERYWHERE! All types of apps
- Especially common in vertical markets and enterprise development
- Popular choice by ISVs & members of ASP
- Frequently used by non-developers to create software to “scratch an itch”
When C++Builder vs. Delphi?
- C++ is especially popular in industrial automation settings
- Sometimes it is a regional preference
- C++ is popular when reusing existing C++ code, especially in graphics processing
- Generally it comes down to taste
Final Notes
- Most apps use a combination of 3rd party components and custom components
- Open source components get a lot of use too
- It is always nice to have an IDE add-in to improve and customize your build process
- Everyone should be using source control
- Delphi & C++Builder give your code a longer life and greater reach
- Integrate with other tools, libraries and APIs as needed
- Pay attention to the details!
- Look at 3rd party libraries – someone has probably already faced the same problem
- Get really familiar with the Parallel Programming Library – it can increase your app performance and responsiveness
- Think about your architecture for maintainable code
- Rapid App Development (RAD) is great for prototyping, and the prototype can become the product
- Use community.Embarcadero.com