[Lazarus] Web vs desktop development

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Mon Jan 18 11:47:11 CET 2016


On 2016-01-18 09:48, Santiago A. wrote:
> not true any more. Even in windows there are incompatibilities with
> previous versions (i.e. fonts size make w95 forms not fitting in W10).

I have no such problem with true fpGUI based applications (no LCL involved).

> Do you want to make an application portable everywhere? You can't rely
> in anything. Your best bet is web. Every device/SO IOs, Android, QT 3,
> QT 4, Gtk 1,Gtk 2,  Windows 95, Windows 10, Mac.... all have a browser
> with a standard protocol.

It might be a standard protocol, but as every web browser vendor has
shown to date... they all love standards, so each web browser has their
own set of standards. :-( Using HTTP+CSS to develop consistent user
interfaces is a nightmare. Not all web browsers are equal. Not even
different versions of the same web browser.

I found consistency much easier to reach with desktop applications. The
secret is "custom drawn toolkits". I know this is a Lazarus form, but
LCL consistency is a joke. It is a problem between platforms (eg: Win32
vs Linux vs OSX etc) and a problem between LCL widgetsets (eg: lcl-win32
vs lcl-qt vs lcl-gtk2).

With custom drawn toolkits, the toolkit is in 100% control. fpGUI runs
on Linux, Windows, Solaris, FreeBSD, OSX, Embedded Windows and Embedded
Linux devices (and two more platforms to be added soon). The rendering
is pixel perfect and 100% consistent across all platforms. I develop new
toolkit features or complete widgets under my primary OS, FreeBSD, for
months on end without testing on other platforms. Then eventually I
switch to my Windows or Linux VM's and build the same applications and
without fail they look and behave exactly the same. [ok, this did take a
few years to achieve, but the result is bliss]

I also *never* have any IFDEF's in my application code either. This is
true consistency and unfortunately not something LCL will ever be able
to reach. Saying that, I fully understand LCL was by design to wrap
existing toolkits for the sake of being "native" (a very over hyped
thing in todays web age). That in itself, I think, was a bad choice in
the long run, but in the short term it made it possible for LCL to move
forward much faster.

> Web was a displaying document protocol, it has been patched (cookies,
> javascript, websockets....) to make a GUI of it. We needed so
> desperately remote GUI,

We had that alread... It was called Java Applets. I thought that was a
brilliant idea and it actually worked extremely well. Yes, there was
security issues and performance issues in the beginning, but what brand
new technology doesn't have such problems. Yes, SUN should have sorted
those issues out faster, then the term "web application" might have
meant something totally different today.

But then time and time again it has been shown that the best technology
is not always the one that survives or becomes a consumer success
(betamax, firewire, java applets, Object Pascal just to name a few).


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp




More information about the Lazarus mailing list