Age of multimedia. DirectX, DirectShow. Almost not implemented in Delphi.
Age of portable devices. Small screens with big and simple controls. Not implemented in Delphi.
Age of clouds. Backend for web, distributed computing, hot-swap virtual containers. Not implemented in Delphi.
What can we do? Complete multimedia and web support. There is many libraries and components, but they not included in Lasarus.
Designed in IDE must be works on any local and remote device or browser without extra attention from programmer. Portable devices and web pages need some fundamental modifications in LCL/VCL - virtual controls connected to remote datasource, grids of controls. "Widgets - Data Object - Storage" model.
Distributive cloud computing in virtual containers is very promising, but still too young and evolving. May be PascalScript with simple variables/functions export/serialisation/marshalling will help.
On topic: I see no correlation between "free pascal" as a language, another UI library and state of Delphi. Imho, all three are quite independent entities: * FPC goes on its own, picking up delphi features here and there* Delphi goes on its own* UI libraries live on their own. Usually not using the latest language features.
QuoteDesigned in IDE must be works on any local and remote device or browser without extra attention from programmer. Portable devices and web pages need some fundamental modifications in LCL/VCL - virtual controls connected to remote datasource, grids of controls. "Widgets - Data Object - Storage" model.I don't think that you must try to do webapplications VCL/LCL style. That was one of the mistakes of the early Delphi web intraweb packages. Yes, it sounds nice to drag and drop a webpage together, but it simply doesn't work that way. Not even back then, and html is a lot more complex now.Moreover, the website designers are often now separate from the programmers, and like to use other tools.Personally I think it is smarter to be able to integrate with what's there in the web sphere than to replace it. Only in small business you can actually consider changing the webserver to some homebrewn. And depending on hosting not even there.
There is set of very basic controls/widgets, that present in any user interface - image, button, text, edit field. And some aggregates - vertical and horizontal containers for basic controls (menu, toolbars, lists, accordeons, tabs..). They can be native on some systems, and can be emulated. Most of them already present in VCL/LCL, but many standard widgets come from MS Windows, and do not have implementations on mobile platforms. We can add to LCL set of GUI-independent controls, that not ancested from TWinControl, not contain position and dimension properties in pixels, can be exported to XML/HTML and works on any remote display, from TTY text terminals to future holocubes with mind control. And leave current desctop controls for legacy fine-tuned aplications.
Same for web - if someone create mapper for visual forms to web page, and someone create web-server component, that do all stuff, that application become web application for browsers, then anybody can just design web applications same way as desctop applications, without learning of server backend internals.
About integration in present web sphere - it's compromise, but not ideal way. It's good for mature legacy projects, but very hard for starting over. It must be easy as software installation - specify place to deploy (local or remote), some options (database, account), and deploy! Target can be local WAMP/LAMP webserver or some online application service (Amazon, Google, etc..).
But that means a different designer, a different persistence etc, and you are already not enhancing the LCL + lazarus designer anymore, but having something parallel.You have to, since coordinate systems are different (as you correctly state), they don't inherit from the same basecomponents (that the designer needs) and html has a more scrolling document layout system.
The best way to avoid is to have a good UI and logic separation, or simply skip some generations of technology :-)
Huh. Learn something new every day! I always considered you the author of the library.
We've gone through this before, with TP and Kylix, and speaking from that experience, I'll predict what happens when Delphi dies:
Quote from: skalogryz on March 18, 2016, 05:23:02 amHuh. Learn something new every day! I always considered you the author of the library.And fpGUI pre-dates Lazarus.
All the communication is then done through messages (records, often with strings).
Quote from: Graeme on March 18, 2016, 04:51:00 pmAnd fpGUI pre-dates Lazarus. No it does not afaik. It does predate Lazarus' win32 backend though, so you could claim first native win32 solution :-)
And fpGUI pre-dates Lazarus.
The problem is that people want new technologies, but only on old principles. It doesn't work that way.The best way to avoid is to have a good UI and logic separation...