Re: [Lazarus] Quick Video: A Web Application

2017-11-09 Thread Michael Schnell via Lazarus

On 09.11.2017 11:12, Michael Van Canneyt via Lazarus wrote:

We are busy creating this framework.
Great. From the previous messages I got the impression it would be 
depreciated.


But Rome wasn't built in a day.

Obviously. I am not trying to hurry anybody. I am very happy with what 
Lazarus and fpc do offer. Nonetheless I think discussing improvements 
always does make sense.


Thanks a lot !
-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-09 Thread Michael Van Canneyt via Lazarus



On Thu, 9 Nov 2017, Michael Schnell wrote:


On 08.11.2017 16:39, Michael Van Canneyt wrote:
.. I 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.


This depends on who is "you" :) .


Everybody wishing to develop for the web or browser.



I've already been doing some " Lazarus Community" work (I do have a working 
draft for an "application" Widget Type that does not do a GUI binding, as an 
extension to the NoGui Widget Type, but stop working on it due to the 
complexity of publishing any of it), and so "you" might be the creator of 
Lazarus means to provide such a framework managing the clint/server 
communication in some (yet undefined) user friendly way.


We are busy creating this framework.

But Rome wasn't built in a day.

Michael.
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-09 Thread Michael Schnell via Lazarus

On 08.11.2017 16:39, Michael Van Canneyt wrote:
.. I 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.


This depends on who is "you" :) .

I've already been doing some " Lazarus Community" work (I do have a 
working draft for an "application" Widget Type that does not do a GUI 
binding, as an extension to the NoGui Widget Type, but stop working on 
it due to the complexity of publishing any of it), and so "you" might be 
the creator of Lazarus means to provide such a framework managing the 
clint/server communication in some (yet undefined) user friendly way.


-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Sven Barth via Lazarus
Am 08.11.2017 16:29 schrieb "Michael Schnell via Lazarus" <
lazarus@lists.lazarus-ide.org>:

On 08.11.2017 14:15, Sven Barth via Lazarus wrote:

>
> Nope, WebAssembly and what pas2js does are two different things even if in
> the end both run in the browser's JavaScript engine.
>
Of course I do know this.

But AFAIK WebAssembly has been invented with JS in mind, so it might follow
some paradigms, that are closer to JS than to Pascal (e.g. not strictly
typed variables). So maybe some stages of the transpilation / compilation
might be similar.


WebAssembly was made with execution in a JavaScript engine in mind not with
JavaScript in mind. Reading JS-based WebAssembly code is more like reading
native assembly then reading high level code.

Regards,
Sven
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Van Canneyt via Lazarus



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


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Schnell via Lazarus

On 08.11.2017 14:15, Sven Barth via Lazarus wrote:


Nope, WebAssembly and what pas2js does are two different things even 
if in the end both run in the browser's JavaScript engine.

Of course I do know this.

But AFAIK WebAssembly has been invented with JS in mind, so it might 
follow some paradigms, that are closer to JS than to Pascal (e.g. not 
strictly typed variables). So maybe some stages of the transpilation / 
compilation might be similar.


-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Schnell via Lazarus

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.


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.


-Michael
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Sven Barth via Lazarus
Am 08.11.2017 12:43 schrieb "Michael Schnell via Lazarus" <
lazarus@lists.lazarus-ide.org>:

On 08.11.2017 12:28, Michael Van Canneyt via Lazarus wrote:

> It is the basic building block.
>
I do agree that it is a very viable building block, but theoretically for
"Rich internet Applications" there are alternatives:
 - WebAssembly (which as far as I understand is considered for fpc, and I
suppose it might get started after pas2js is released, as it partly might
be based on same. )


Nope, WebAssembly and what pas2js does are two different things even if in
the end both run in the browser's JavaScript engine.
WebAssembly basically represents a CPU with stack and heap and the ability
to call JS functions while pas2js is a Pascal to Javascript transpiler thus
working with a different ruleset.

Regards,
Sven
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Van Canneyt via Lazarus



On Wed, 8 Nov 2017, Leonardo M. Ramé via Lazarus wrote:



El 08/11/17 a las 04:57, Michael Van Canneyt via Lazarus escribió:


There is.

Normally, early december a RC version of pas2js will be released.
pasjs currently is more or less at the level of D7 compatibility (minus 
interfaces and
pointers). There is a web-based compiler (i.e. you can do 'hot reload' 
as found in many

web development systems) etc.

Many basic RTL units work, there is access to all browser features or
node.js. you can import any javascript library (e.g. jquery is available)
using an import unit.

TDataset now also works, pas2js will ship with simple REST connection and
JSON Dataset components.

In short, everything to develop Pascal programs that run in the browser:
FPC will be a full development stack for web applications.

It will also be fully integrated in Lazarus.

Michael.


Hi Michael, I wonder how the import unit is created. For example, I use 
a library called Tabulator (a fantastic grid) I would like to interface 
with pas2js, should I do the interface by hand or is there an automatic 
method?.


There is a unit that can partially do it for you. It will create an external 
class definition in pascal based on a javascript object instance. 
But it is limited in the sense that you will need to provide types 
and names of arguments to functions. (javascript does not make them

available)

I did the units web/js/libjquery by hand, from documentation.

Michael.-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Leonardo M. Ramé via Lazarus


El 08/11/17 a las 04:57, Michael Van Canneyt via Lazarus escribió:


There is.

Normally, early december a RC version of pas2js will be released.
pasjs currently is more or less at the level of D7 compatibility (minus 
interfaces and
pointers). There is a web-based compiler (i.e. you can do 'hot reload' 
as found in many

web development systems) etc.

Many basic RTL units work, there is access to all browser features or
node.js. you can import any javascript library (e.g. jquery is available)
using an import unit.

TDataset now also works, pas2js will ship with simple REST connection and
JSON Dataset components.

In short, everything to develop Pascal programs that run in the browser:
FPC will be a full development stack for web applications.

It will also be fully integrated in Lazarus.

Michael.


Hi Michael, I wonder how the import unit is created. For example, I use 
a library called Tabulator (a fantastic grid) I would like to interface 
with pas2js, should I do the interface by hand or is there an automatic 
method?.


Regards,
--
Leonardo M. Ramé
Medical IT - Griensu S.A.
Av. Colón 636 - Piso 8 Of. A
X5000EPT -- Córdoba
Tel.: +54(351)4246924 +54(351)4247788 +54(351)4247979 int. 19
Cel.: +54 9 (011) 40871877
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Van Canneyt via Lazarus



On Wed, 8 Nov 2017, Michael Schnell via Lazarus wrote:


On 08.11.2017 12:28, Michael Van Canneyt via Lazarus wrote:

It is the basic building block.
I do agree that it is a very viable building block, but theoretically 
for "Rich internet Applications" there are alternatives:
 - WebAssembly (which as far as I understand is considered for fpc, and 
I suppose it might get started after pas2js is released, as it partly 
might be based on same. )
 - using a 3rd party JS based GUI framework (like EXTJS/EXTPASCAL, 
which is very expensive/depreciated/dead), or e.g. "React", which might 
be not decently suited as a target for the Lazarus GUI builder.


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.

pas2js can use extjs or react or even angular, if you so choose.

Michael.-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Schnell via Lazarus

On 08.11.2017 12:28, Michael Van Canneyt via Lazarus wrote:

It is the basic building block.
I do agree that it is a very viable building block, but theoretically 
for "Rich internet Applications" there are alternatives:
 - WebAssembly (which as far as I understand is considered for fpc, and 
I suppose it might get started after pas2js is released, as it partly 
might be based on same. )
 - using a 3rd party JS based GUI framework (like EXTJS/EXTPASCAL, 
which is very expensive/depreciated/dead), or e.g. "React", which might 
be not decently suited as a target for the Lazarus GUI builder.


-Michael
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Van Canneyt via Lazarus



On Wed, 8 Nov 2017, Michael Schnell via Lazarus wrote:


On 08.11.2017 08:57, Michael Van Canneyt via Lazarus wrote:

Normally, early december a RC version of pas2js will be released.
I understand that the issue of this thread is using Lazarus to do a 
server based "Rich Internet" application that shows it's GUI in the browser.


So pas2js is only part of the game.


It is the basic building block.

Without that, no browser development in pascal.

All the rest is secondary and will be worked out in due course, but
the first no-code Data-Aware applications are already working, so we're on
the good track.

Michael.
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Schnell via Lazarus

On 08.11.2017 11:14, Mattias Gaertner via Lazarus wrote:

A server is not needed. You can write standalone browser applications that work 
offline too.
OK. Great !  Stand alone browser based applications might be one 
desirable type of application, but AFAIK, the more commonly required 
type of application would be server based.


Sigh. Michael, sometimes I got the impression you are stuck in a loop. 
Use TFPTimer and TThread. 

You might be right :-)
But it's not just me, but it's based on the Lazarus claim "write once, 
compile everywhere" which means that I can design and test an 
application in - say - Windows (using the "RAD"-way that once has been 
introduced by (Borland-) Delphi, and then tell Lazarus to create a 
server application with a browser GUI by just compiling  my code. In a 
perfect world this should simply work, in a less perfect world, some 
tweaks might be necessary to optimize the thing for either platform to 
run on.



   - Communication between the Server application and the part running on the 
brower via a 3rd party web server.

There are various ways since years.
I do know. Some are depreciated, I feel at the moment WebSocktes is the 
way to go.
But see above: the Lazarus user should not even see this, but the 
infrastructure would organize the communication in a (as good as 
possible) compatible way, by just telling Lazarus to compile the 
application as a server based application with a browser based GUI 
accessible via a web-server.



   - allowing for decent Debugging in Lazarus (e.g. via an optional built-in 
web server, which AFAIK already is in place) .

Server debugging is already possible. But I agree, it could be easier.
Client side debugging is working. You can use the browser's debugger to set 
breakpoints in the Pascal code and step through.
I suppose you are talking about pas2js, running in a Browser, which is 
perfectly viable, of course.


What I meant was debugging the server based part of the application 
(which accesses an attached GUI part done in pas2js. Here (AFAIK) a 
webserver unit that allows for attaching to a browser to display the GUI 
while the application (i.e. the "business code") runs under Lazarus, 
already is provided. so I don't assume any problems here. (While in 
Delphi AFAIK, this is  a major problem).



   - Lazarus providing a GUI builder for the browser based GUI.

That's a big topic. Some parts already work.
As I already did some research om that (some time ago) I do know that is 
is a big topic :) . That is why I ask. Great to hear that it is worked 
on and something already is functional.

Moreover IMHO a migration path from Java script in the Browser (pas2js)
to using WebAssembly in the Browser should be considered.

It has been started in FPC, but no one is working on that.


So same state as since quite a while. Regarding that most decent 
browsers nowadays provide the WebAssembly framework, it seems viable to 
ask, but of course developing time is limited.


-Michael
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Mattias Gaertner via Lazarus
On Wed, 8 Nov 2017 10:25:48 +0100
Michael Schnell via Lazarus  wrote:

> On 08.11.2017 08:57, Michael Van Canneyt via Lazarus wrote:
> > Normally, early december a RC version of pas2js will be released.  
> I understand that the issue of this thread is using Lazarus to do a 
> server based "Rich Internet" application that shows it's GUI in the browser.

A server is not needed. You can write standalone browser applications
that work offline too. And you can write node.js programs.


> So pas2js is only part of the game.
> 
> Other components would be
>   - Allowing for an "Application" (out of the box providing TTimer, 
> TThread.Queue/Synchonize etc.) to run on the server without any binding 
> to a local GUI framework.

Sigh. Michael, sometimes I got the impression you are stuck in a
loop. Use TFPTimer and TThread.


>   - Communication between the Server application and the part running on 
> the brower via a 3rd party web server.

There are various ways since years. What is missing?


>   - allowing for decent Debugging in Lazarus (e.g. via an optional 
> built-in web server, which AFAIK already is in place) .

Server debugging is already possible. But I agree, it could be easier.

Client side debugging is working. You can use the browser's debugger to
set breakpoints in the Pascal code and step through.


>   - Lazarus providing a GUI builder for the browser based GUI.

That's a big topic. Some parts already work.

 
> Moreover IMHO a migration path from Java script in the Browser (pas2js) 
> to using WebAssembly in the Browser should be considered.

It has been started in FPC, but no one is working on that.

Mattias
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-08 Thread Michael Schnell via Lazarus

On 08.11.2017 08:57, Michael Van Canneyt via Lazarus wrote:

Normally, early december a RC version of pas2js will be released.
I understand that the issue of this thread is using Lazarus to do a 
server based "Rich Internet" application that shows it's GUI in the browser.


So pas2js is only part of the game.

Other components would be
 - Allowing for an "Application" (out of the box providing TTimer, 
TThread.Queue/Synchonize etc.) to run on the server without any binding 
to a local GUI framework.
 - Communication between the Server application and the part running on 
the brower via a 3rd party web server.
 - allowing for decent Debugging in Lazarus (e.g. via an optional 
built-in web server, which AFAIK already is in place) .

 - Lazarus providing a GUI builder for the browser based GUI.

Moreover IMHO a migration path from Java script in the Browser (pas2js) 
to using WebAssembly in the Browser should be considered.


Any news about these topics ?

-Michael
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-11-07 Thread Michael Van Canneyt via Lazarus



On Wed, 8 Nov 2017, Marcello via Lazarus wrote:


On 30/04/2017 21:42, Michael Van Canneyt via Lazarus wrote:



I'm afraid that the world is still waiting for a good GUI designer for
web.



We will deliver it :)



Can you share with us when?  :)


Current tentative schedule is september. But no guarantees. It doesn't 
depend only on me :)


But today an important milestone (for me) was reached, so there is 
hope :)


Michael.




This news is really interesting.
Are there any information about it?


There is.

Normally, early december a RC version of pas2js will be released.
pasjs currently is more or less at the level of D7 compatibility (minus 
interfaces and
pointers). There is a web-based compiler (i.e. you can do 'hot reload' as found 
in many
web development systems) etc.

Many basic RTL units work, there is access to all browser features or
node.js. you can import any javascript library (e.g. jquery is available)
using an import unit.

TDataset now also works, pas2js will ship with simple REST connection and
JSON Dataset components.

In short, everything to develop Pascal programs that run in the browser:
FPC will be a full development stack for web applications.

It will also be fully integrated in Lazarus.

Michael.


-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-05-07 Thread Lars via Lazarus

On 2017-04-19 10:21, Graeme Geldenhuys via Lazarus wrote:

On 2017-04-19 15:58, Michael Schnell via Lazarus wrote:
Lazarus would b able to seamlessly create such programs (even more up 
to
date, versatile and fast: using WebAssembly compiled from Pascal 
instead

of hand crafted Java Script).



I believe that is what Michael van Canneyt is working on.



I am also working on something like this for chromium embedded Offline 
Apps (with callbacks that can call native fpc code using html5/js 
widgets as the GUI), but, as I have many programs on the go, and many 
ideas, and not sure if it will be open source... I don't want to blow 
the whistle early. FastCGI would be a good mechanism for events, since 
it keeps a exe/elf open all the time rather than forking a new one for 
each event. But fastcgi doesn't run on that many servers.

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-05-07 Thread Lars via Lazarus
Sorry, didn't watch the video yet, but, wasn't Morfik something similar? 
Or that was mostly offline apps?


Then there was also the intraweb for delphi, but AFAIR the Indy authors.
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-30 Thread Marcos Douglas B. Santos via Lazarus
On Thu, Apr 20, 2017 at 6:03 AM, Michael Van Canneyt via Lazarus <
lazarus@lists.lazarus-ide.org> wrote:

> On Thu, 20 Apr 2017, Santiago A. via Lazarus wrote:
>
> El 19/04/2017 a las 17:09, Anthony Walter via Lazarus escribió:
>>
>>> Thank you all for the feedback and discussion. From me, the
>>> implementer and designer, I can say the most difficult part of
>>> creating this project, and in most projects, is not the actual
>>> programming. It's the creation of the user interface design. Choosing
>>> and creating a layout, and deciding on css values. That by far took
>>> more time than the actual code, and I'm sure that part could be vastly
>>> improved.
>>>
>> Of course, GUIs are massive time consuming. Have you ever create a form
>> by hand in runtime?
>>
>> That is what RAD and GUI designers were created for ;-)
>>
>> I'm afraid that the world is still waiting for a good GUI designer for
>> web.
>>
>
> We will deliver it :)


Can you share with us when?  :)


Marcos Douglas
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-20 Thread Michael Schnell via Lazarus


On 20.04.2017 11:11, Graeme Geldenhuys via Lazarus wrote:

Yes, many times.


There obviously are lots of alternate GUI design tools (e.g. mse, 
FireMonkey, WXPython (Poenix), ...) . But for Lazarus users, it of 
course would be beneficial to be able to use the GUI designer already 
perfectly working in the IDE.


-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-20 Thread Michael Schnell via Lazarus

On 20.04.2017 09:54, Santiago A. via Lazarus wrote:


That is what RAD and GUI designers were created for ;-)
Obviously it's not easy to do a (compatible) GUI designer for a 
Browser-(remote)-GUI. Otherwise I suppose Lazarus would have it.


With WebAssembly, maybe there is a new chance...

-Michael
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-20 Thread Michael Schnell via Lazarus

On 19.04.2017 17:21, Graeme Geldenhuys via Lazarus wrote:
I believe that is what Michael van Canneyt is working on. 


It seems like, which to me is great news !

Of course we would need first a Pascal->WebAssembly compiler and then a 
new WidgetType in Lazarus. Same maybe could be derived from 
"CustomDrawn", as this also uses Pascal Code to generate the (more 
complex) widgets. Such code would be translated to WebAssembly and at 
runtime be transferred to and then executed in the Browser in high speed.


-Michael
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-20 Thread Graeme Geldenhuys via Lazarus
On 2017-04-20 08:54, Santiago A. via Lazarus wrote:
> Of course, GUIs are massive time consuming. Have you ever create a form
> by hand in runtime?

Yes, many times. If you want to see the real ease of that (without
needing a GUI Designer), then take a look at Java's MiGLayout layout
engine. Absolutely brilliant, dynamic, requires little code, supports
multiple size types (pixel, cm, mm, inches etc), knows the button order
between OSX, Windows, and even supports a "debug overlay" to help you
resolve layouting problems.

  http://miglayout.com/

This blogs shows a nice comparison of MiGLayout vs other Java layout
options. Noticably you can see MiGLayout requires much less code and has
many more features.


https://objectcomputing.com/resources/publications/sett/may-2009-miglayout-the-one-java-layout-manager-that-does-it-all/


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
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-20 Thread Michael Van Canneyt via Lazarus



On Thu, 20 Apr 2017, Santiago A. via Lazarus wrote:


El 19/04/2017 a las 17:09, Anthony Walter via Lazarus escribió:

Thank you all for the feedback and discussion. From me, the
implementer and designer, I can say the most difficult part of
creating this project, and in most projects, is not the actual
programming. It's the creation of the user interface design. Choosing
and creating a layout, and deciding on css values. That by far took
more time than the actual code, and I'm sure that part could be vastly
improved.

Of course, GUIs are massive time consuming. Have you ever create a form
by hand in runtime?

That is what RAD and GUI designers were created for ;-)

I'm afraid that the world is still waiting for a good GUI designer for web.


We will deliver it :)

Michael.-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-20 Thread Santiago A. via Lazarus
El 19/04/2017 a las 17:09, Anthony Walter via Lazarus escribió:
> Thank you all for the feedback and discussion. From me, the
> implementer and designer, I can say the most difficult part of
> creating this project, and in most projects, is not the actual
> programming. It's the creation of the user interface design. Choosing
> and creating a layout, and deciding on css values. That by far took
> more time than the actual code, and I'm sure that part could be vastly
> improved.
Of course, GUIs are massive time consuming. Have you ever create a form
by hand in runtime?

That is what RAD and GUI designers were created for ;-)

I'm afraid that the world is still waiting for a good GUI designer for web.

-- 
Saludos

Santiago A.
s...@ciberpiula.net

-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-19 Thread Anthony Walter via Lazarus
Here are the typescript files:

https://github.com/sysrpl/Codebot.Files

I'll add the C# file backend after I remove my salt and private keys, and
denote to other people that they need to add their own salt and private
keys.

For the curious, here is what the file with main() looks like:

https://github.com/sysrpl/Codebot.Files/blob/master/app/manager/manager.ts
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-19 Thread Graeme Geldenhuys via Lazarus
On 2017-04-19 15:58, Michael Schnell via Lazarus wrote:
> Lazarus would b able to seamlessly create such programs (even more up to 
> date, versatile and fast: using WebAssembly compiled from Pascal instead 
> of hand crafted Java Script).


I believe that is what Michael van Canneyt is working on.

Regards,
  Graeme

-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-19 Thread Michael Schnell via Lazarus

On 19.04.2017 16:31, Graeme Geldenhuys via Lazarus wrote:

That's very impressive. I'm still amazed at what is actually possible
via a web browser - other than just viewing web pages. Thanks for sharing.

In fact my little QNAP NAS (an ARM Linux Box) features a GUI vi Browser 
that is very similar to a Gui that would have been designed by using the 
Lazarus IDE.


AFAIK, they transfer a lot of Java Script from the server to the bowser 
to have the appropriate widgets created there.


So this seems rather standard since some years. It would be great if 
Lazarus would b able to seamlessly create such programs (even more up to 
date, versatile and fast: using WebAssembly compiled from Pascal instead 
of hand crafted Java Script).


-Michael
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-19 Thread Anthony Walter via Lazarus
Thank you all for the feedback and discussion. From me, the implementer and
designer, I can say the most difficult part of creating this project, and
in most projects, is not the actual programming. It's the creation of the
user interface design. Choosing and creating a layout, and deciding on css
values. That by far took more time than the actual code, and I'm sure that
part could be vastly improved.

The sad thing is with more design capability (html/css/images) the harder
it is to create a final stylized application.
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-19 Thread Leonardo M. Ramé via Lazarus


El 19/04/17 a las 11:14, Michael Van Canneyt via Lazarus escribió:



On Wed, 19 Apr 2017, Anthony Walter via Lazarus wrote:


This isn't a free pascal or lazarus project, but something I wrote using
typescript quite a while ago.

http://cache.getlazarus.org/videos/cloud-files.mp4


Soon, you'll be able to write this app in Free Pascal.



How? what's cooking?.

--
Leonardo M. Ramé
Medical IT - Griensu S.A.
Av. Colón 636 - Piso 8 Of. A
X5000EPT -- Córdoba
Tel.: +54(351)4246924 +54(351)4247788 +54(351)4247979 int. 19
Cel.: +54 9 (011) 40871877
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-19 Thread Graeme Geldenhuys via Lazarus
On 2017-04-19 14:54, Anthony Walter via Lazarus wrote:
> This isn't a free pascal or lazarus project, but something I wrote using
> typescript quite a while ago.

That's very impressive. I'm still amazed at what is actually possible
via a web browser - other than just viewing web pages. Thanks for sharing.

Regards,
  Graeme

-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Quick Video: A Web Application

2017-04-19 Thread Michael Van Canneyt via Lazarus



On Wed, 19 Apr 2017, Anthony Walter via Lazarus wrote:


This isn't a free pascal or lazarus project, but something I wrote using
typescript quite a while ago.

http://cache.getlazarus.org/videos/cloud-files.mp4


Soon, you'll be able to write this app in Free Pascal.

Michael.
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus