[Lazarus] Why lazarus is sorely needed: A plea for stability and backwards compatibility

Michael Van Canneyt michael at freepascal.org
Thu Apr 20 11:02:56 CEST 2017


Hi,

FPC/Lazarus really are amazing tools.

And, more importantly, STABLE and backwards compatible.

This latter may seem self-evident; but it is not.

Let me illustrate why it is not:

For work, we develop apps (android, iOS) for mobile. 
We do this using a HTML5 browser-based approach, creating a single-page app.
Rationale: this way you need to develop only once and can target many mobile
OSes, including the browser.

We use some Javascript frameworks, and build tools (node and npm)
To package the apps, we use Apache cordova, it can build for iOS and Android.
(and some others)

** The dependencies and build problems are staggering. **

To build the app, i.e., create a single javascript file which is loaded in a HTML
page, npm (the Node Package Manager) downloaded 1000 packages. In essence,
to concatenate some files.

To package the app for android, cordova downloaded another 350 packages.

This is not counting the installs of a new Android development environment 
(which broke Cordova), gradle (because google doesn't include it any more)
and java 1.8. (because the latest cordova suddenly required 1.8 instead of 1.7)

Total number of downloads: well over 1500. 
Lines of code in our app: 1900 (spread over 20 files).

The lessons:

* Backwards compatibility is VERY important.

* Keep dependencies to a minimum.

* Object Pascal developers are spoilt
   (or maybe they simply know what they are doing).

Lazarus needs to be spread more.

The iOS and Android environments sorely need tools like Lazarus.

Michael.


More information about the Lazarus mailing list