On Wed, 8 Nov 2017, Michael Schnell via Lazarus wrote:
On 08.11.2017 13:12, Michael Van Canneyt via Lazarus wrote:
ExtPascal way (or UniGUI for that matter) is the wrong way to do
things. Interesting as a toy, but not suitable for
a) Large, scalable websites
b) serveless applications.
Agreed ! But if doing a server based application (ore one that includes
the web-server) that mainly does unattended, "embedded" work, and tghe
GUI is only used for configuration and monitoring, such a
toy-functionality might be useful, nonetheless.
Maybe, but since we're aiming for the more general case,
this 'toy' is an avenue we're going to skip...
From the view of the application programmer, doing a Rich Internet
Application with pas2js is a similar endeavor as Microsoft intended by
Silverlight (which has been canceled some time ago) : Design an
application and define "bridging points" that "somehow" shift the
execution between server and browser.
With Silverlight, both parts would be compiled to CIL byte code and run
an a CIL (aka .NET) framework, with fpc, the server part would be
compiled to a native executable while the Browser part would be compiled
to JS (or maybe later to WebAssembly).
The user source code would not necessarily need to contain much more
than appropriate definitions of the bridging points (supposedly some
kind of inter-class interface), and the Lazarus infrastructure would
take care of the communication.
I think you're better off coding it as a real client/server application,
which is what it actually is.
Trying to hide that aspect is IMO futile and will in the long run lead
to problems anyway.
I spent too much time fighting such frameworks, and believe that you should
embrace the platforms you're using. That means: browser as client, webserver as
server, and HTTP or websocket as the transport layer.
Michael.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus