On 11.11.2016 23:27, Lars via Lazarus wrote:
I understand the desire to just take existing LCL app and port it to the
web browser, but that's a pipe dream, because browsers will be in
sandboxes that just don't work like client applications on Ms Windows,
BSD/Linux.
Not really.
Of course it's obvious that stuff like file access can't be done in the
virtual machine (or maybe it only can be done if the browser's
parameters are set to allow to do so, which supposedly normally is not
given).
The real (pipe) dream is a behavior similar to the "pipe dream"
Silverlight promised for C#:
Take a C# application that can run on a desktop (or any mobile device)
and add certain definitions to the project (source code and/or project
settings) and with this split the application in a part that runs on the
server (behind the Web Server) and another part that runs in the
browser. The communication between the parts is done automatically by
the infrastructure. Here file access etc (usually) will be desired at
the server site and not in the "sandbox".
Of course this is a far goal, but a more manual way, having the
programmer move the "browser" part in it's own units compilable to
WebAssmbly and runnable in the "Sandbox", and to add code to call the
communication functionality would be a decent step.
Another option is just to use a separate widget set and see how that
works, such as fpGUI widget. But I guess that means you can't as easily
take an existing app and port it.
Of course this would be a decent *additional* option (as FireMonkey is
with Delphi XE), but the "Lazarus" way would be to allow the user to go
on using the GUI builder (s)he is trained to use in the best possible way.
I just found that Lazarus now shows "Restriction" notes for all element
used in the GUI builder to take account for different possible targets
(WidgetTypes). Once this feature is decently supported a check for
"sandbox-runability" can be provided.
-Michael
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus