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

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Free Pascal - Lazarus mailing list

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.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

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

Free Pascal - Lazarus mailing list
On 2017-04-20 10:02, Michael Van Canneyt via Lazarus wrote:
> Total number of downloads: well over 1500.
> Lines of code in our app: 1900 (spread over 20 files).

That is totally insane. The worst dependency hell ever! And then one of
those dependencies get broken or discontinued and your are screwed. Plus
the fact that every 6 months web frameworks often become obsolete and
replaced by yet another crazy acronym framework.

And some people wonder why I often chose the “roll your own solution”
path - it’s to avoid such 3rd party dependencies, and making sure my
code works for years to come.

Back in my Delphi 7 days I worked for a company. The project I worked on
used something like 20 3rd party components/libraries. That project was
stuck in Delphi 7 for years and years (until the project itself became
obsolete). Why, because many of those 3rd party suppliers went out of
business after D7 and the the company simply had no way to easily break
that dependency or have access to the many 3rd party component source
code. I learned a valuable lesson at that job - keep dependencies to an
absolute minimum!


> * Keep dependencies to a minimum.

+1000


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

Indeed we are!


> Lazarus needs to be spread more.

FPC + Lazarus needs to spread more.


> The iOS and Android environments sorely need tools like Lazarus.

Definitely. Wasn't there somebody working on a mobile phone development
toolkit for Lazarus at some point (a year or two ago)? I wonder what
ever happened to that.


Regards,
  Graeme

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

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

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
+1 !!!

The dream:

Write and test a program using in a (partly) RAD way, of course in an
Event-programming way, using the Lazarus IDE - say - in Windows.

Now just by changing some settings, compile it for
  - Win32
  - Win42
  - Win 32 or 64 as a service (hence also running on WIN IOT Core)
  - MAC
  - Linux Desktop (PC / ARM / ARM64 / MIPS / ....)
  - Linux Headless (I do have done a working draft for an "active NoGUI"
Widget Type)
  - Android
  - iOS
  - with built-in Web Server,  the GUI shown on a browser
  - As a Server based application (e.g. behind Apache or Microsoft IIS)
with the GUI shown on a browser

-Michael
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

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

Free Pascal - Lazarus mailing list
Yeah, one thing i like with FPC and Lazarus is that there is a strong focus on backwards compatibility. Of course it isn't perfect (with FPC 3 i had to change some of my string code - e.g. i was loading files into strings by setting the length and BlockReading the string directly - but that took only a few minutes) but it is generally very stable.

On Thu, Apr 20, 2017 at 3:05 PM, Michael Schnell via Lazarus <[hidden email]> wrote:
+1 !!!

The dream:

Write and test a program using in a (partly) RAD way, of course in an Event-programming way, using the Lazarus IDE - say - in Windows.

Now just by changing some settings, compile it for
 - Win32
 - Win42
 - Win 32 or 64 as a service (hence also running on WIN IOT Core)
 - MAC
 - Linux Desktop (PC / ARM / ARM64 / MIPS / ....)
 - Linux Headless (I do have done a working draft for an "active NoGUI" Widget Type)
 - Android
 - iOS
 - with built-in Web Server,  the GUI shown on a browser
 - As a Server based application (e.g. behind Apache or Microsoft IIS) with the GUI shown on a browser

-Michael

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus