* * *

Author Topic: Why LAMW does not support LCL on Windows?  (Read 356 times)

sainimu78

  • Jr. Member
  • **
  • Posts: 81
Why LAMW does not support LCL on Windows?
« on: December 06, 2017, 08:29:32 pm »
Just curious.

It seems great making app in one frame work.
I know that this does not sound easy, but is this in developing?
« Last Edit: December 06, 2017, 08:37:10 pm by sainimu78 »

Leledumbo

  • Hero Member
  • *****
  • Posts: 7741
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Why LAMW does not support LCL on Windows?
« Reply #1 on: December 06, 2017, 09:05:24 pm »
I believe not. LAMW focus is to use native android UI, which LCL can't represent yet due to fundamental differences between desktop UI toolkit and android. At best LCL might be able to have a subset only, so the available controls will be limited. Don't forget some of the event handling might need emulation due to inexistent mechanism in whichever platform. That's why existing solution (outside Lazarus) tend to use a combination of HTML5 and JS engine instead of purely native solution because they only need to think in one paradigm, for both developers and users.

lainz

  • Hero Member
  • *****
  • Posts: 2068
Re: Why LAMW does not support LCL on Windows?
« Reply #2 on: December 06, 2017, 09:48:21 pm »
That's why existing solution (outside Lazarus) tend to use a combination of HTML5 and JS engine instead of purely native solution because they only need to think in one paradigm, for both developers and users.

I use that, the first inconvenient I find is that is slower than a native application and also not all JS features are supported on older android devices, say version 4 or lower. But there are tools to convert modern JS to older one, and polyfills that solves the problems of missing features (missing methods basically).

Phil

  • Hero Member
  • *****
  • Posts: 2324
Re: Why LAMW does not support LCL on Windows?
« Reply #3 on: December 07, 2017, 12:00:14 am »
I believe not. LAMW focus is to use native android UI, which LCL can't represent yet due to fundamental differences between desktop UI toolkit and android. At best LCL might be able to have a subset only, so the available controls will be limited.

Let me expand on this a bit.

Most UI toolkits don't even attempt to support both desktop and mobile. Examples:

- When Apple introduced iPhone, they created a new UI toolkit, Cocoa Touch, rather than attempting to support both desktop and mobile with Cocoa:

https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html

- Web UI toolkit qooxdoo has separate frameworks for desktop and mobile:

http://www.qooxdoo.org/

This means that with a qooxdoo Web app, you need to design the UI twice if you want it to be used in both desktop and mobile browsers.

- wxWidgets doesn't support mobile at all:

http://wxwidgets.org/about/

- With Qt, you use a separate toolkit for desktop (Qt Widgets, used by the LCL Qt widgetset) and for mobile (Qt Quick Controls):

http://doc.qt.io/qt-5/topics-ui.html#comparison

- Xamarin Forms even suggests that doing separate UIs for Android and iOS may be the best idea:

https://developer.xamarin.com/guides/xamarin-forms/#Is_Xamarin.Forms_right_for_your_project


lainz

  • Hero Member
  • *****
  • Posts: 2068
Re: Why LAMW does not support LCL on Windows?
« Reply #4 on: December 07, 2017, 12:48:18 am »
Phil, I think for that Leledumbo mentioned the web, with a single source you can get a mobile and desktop application (I do with Material Design).

Next applications for Android will be (with a bit of luck) more of the kind of PWA's (Progressive Web Apps) or the next "Deeply Integrated Progressive Web Apps (WebAPKs)".

Basically the browser is the OS for these two, and with an updated browser you don't need to worry about the version of the features included in a web view.

Leledumbo

  • Hero Member
  • *****
  • Posts: 7741
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Why LAMW does not support LCL on Windows?
« Reply #5 on: December 07, 2017, 05:39:03 am »
Next applications for Android will be (with a bit of luck) more of the kind of PWA's (Progressive Web Apps) or the next "Deeply Integrated Progressive Web Apps (WebAPKs)".
That's what I heard Google was saying recently, but they're still pushing Kotlin as well (maybe PWA is not as capable as native Android yet or still considered too slow and/or memory consuming). With Google also releasing Android Go (Oreo will be the first version to have), the chance is PWA for normal Android (easier to build, more beautiful UI, but more resource consuming) and native apps for Android Go.

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus