While searching about Delphi, Flutter, I read about a public post of a developer converting his small Magic the Gathering companion app from Flutter to Delphi.
https://www.linkedin.com/pulse/from-delphi-dartflutter-ivelin-nikolaev/
From Delphi to Flutter
Porting from Delphi is a daunting task, so why port from Delphi to Dart/Flutter?
Commercial project costs
Delphi nags if you compile more than 70,000 lines of code. Others complain of similar.
"This is quite tediously to click it every time when I compile my non-commercial project…
I wonder why Embarcadero did this.. There are plenty of other IDE’s without such stupid prompt. I’m pretty sure that this reminder actually reminds programmers that maybe they should port their project to another IDE?"
Once you reach more than 70,000 lines, it triggers Embarcadero to spend a compliance letter, or ask what you are doing?
The author upgraded from Delphi 7 to Delphi 2005, 2006, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10 Berlin, 10 Tokyo, and stuck with Rio 10.3. If this was a commercial project, he would have spent approximately US$11,119 (US$1,599 + (US$560 x 17)) on endless renewals.
Then, renewals for DevExpress would cost a similar amount - upgrading from DevExpress 2002 to 2023 - US$10,500 (US$500 x 21). If you miss one year, you will have to re-buy DevExpress VCL again at full price. An ouch.
The author finds out, that using Flutter is better than using DevExpress, as it was easier to use Flutter edit controls, Flutter theme'ing and Flutter display grids, than, Delphi's native edit controls, Delphi's lack-luster theme'ing and grids.
DevExpress VCL doesn't do mobile, so making a mobile version means re-doing the whole app in FMX, another ouch.
Fast Reports recently changing from a pay once to an annual subscription - a similar amount. From using FastReport 2 to 3, 4, 5, 6 where upgrade pricing is US$79 to US$199, and annual subscription costs between US$199 onwards. If you miss a year, you must buy FastReport update at full price... Another ouch.
For Steema, the bare-bone looking charting tool, there are 2 versions - standard and professional version. I'd go with Pro, as that's similar to SyncFusion chart. Delphi bundles the standard non-source edition.
TeeChartPro costs US$659, TeeChart Standard with source costs US$274. Recommended to get with source, so you can update manually on a Delphi update. If you don't buy with source, you're out of luck, and need to pay for upgrades, between TeeChartPro with source US$301 to TeeChart Standard US$123.
For MadExcept. MadExcept for Delphi 7 to Delphi 10.3 would cost €159 (commercial) to €549 (company), with a renewal of €49 (commercial) to €169 (company). If you miss one year, it will be a higher price. Another ouch. Since this project is non commercial, the author could have used a free non-commercial version.
For Kuug XML. this product is trial, costing from €150 to €600. I'd estimate perhaps he took a OXml and OJson pack that costs €250.00. There is subscription, so for as long as your project is “alive”, you’ll want updates.
Encryption in Delphi is a mess. The author used lockbox. Moving to flutter, the author lists various equivalents - Dart AES, Dart DES and Mersenne Twister. Delphi’s AES and DES implementation are not optimized. Dart’s AES and DES is.
GDI+ components is also a mess in Delphi. The author used Delphi’s Chrome libraries (another big mess). Instead author used Flutter’s HTML renderer and free flutter third party libraries.
The author uses ESBMath, it's no longer for sale. The owners of ESBConsult don't sell their VCL products anymore.
If this is a commercial project, the annual spend is, US$560 (Delphi renewal), $500 (DevExpress renewal), FastReport renewal (US$79 onwards), Steema TeeChartPro renewal (US$241-US$241) or TeeChartStd renewal (US$123-US$51), MadExcept renewal (US$49), Kuug XML renewal (price not available publicly). = total of around US$1200.00 per year.
This is only for VCL. IF he was to use FMX, that would include a TMS subscription to access TMS FNC and... other than TMS, what third-party libraries are out there?
To use Linux, he would need to use Delphi for Linux, changing his Delphi subscription to Delphi Enterprise.
If you think of porting to server-based Delphi, to serve webpages, this project will have to be re-written all over again.
Is there a cross-platform Delphi solution?
In Flutter, there is native cross-platform Windows, Mac, Linux, Android and iOS.
Flutter for Windows is not as good as Delphi for Windows - it does one thing well - control costs and there is an active community of Flutter developers, who, can devote time to curate their open-source projects.
Flutter
Flutter offers a breaking free of the bondage of endless subscriptions for Delphi and its eco-system.
Flutter promises cross platform development and delivers on it. A brief look on Github shows 196k Flutter developers. Delphi is much smaller at approx 19k. There is approx 10x more Flutter Delphi developers on Github.
Can I haz a FMX hamburger navigation bar?
In Flutter, there are dozens of ways to make a navigation bar. In Delphi, using FMX, there's not any decent hamburger bar in FMX. The solution is to ask you to use FMX square, FMX animated rectangles to simulate a hamburger bar. What lameness.
Delphi's poor Android and iOS support.
Flutter uses imspec renderer while Delphi uses the Skia. Certain Delphi developers complain about improper Android and iOS support.
EULA Compliance for large businesses
Embarcadero enforces EULA compliance, so his organization's licenses are at risk - should a scuffle occur, or they hire horrible Delphi developers who love to upload their employer's libraries for likes. If their employees use pirated Delphi IDE, despite being provided legal software, that could lead to unintended consequences.
It is an irony when they say, there are so few Delphi developers and jobs. Embarcadero hires many paralegals, lawyers under Software Compliance Research Representatives.
Many of these folks have racked-up astonishing 2,000 hours, 3,000 hours… doing what? Fighting years-long lawsuits, applying interest to fines, digging up company information… while turning a blind eye of allowing slander/defamatory postings that ruin reputations of Delphi developers, AND not prosecuting on-line pirate stores that operate with INPUNITY.
The author of this blog has shown evidence of the above to several Delphi and FreePascal developers.
One wonders, when EMBT spends heavily on such, for that kind of money, they could have spent supporting Delphi open source, special-interest projects needed or wanted by the community, instead of upgrading mostly dead projects to latest Delphi version or putting links to Github donations (what donations?).
Would you go all in and convert to, flutter?
Bullshit for reading...