[fpc-devel] First pas2js public release

Michael Van Canneyt michael at freepascal.org
Fri Dec 22 09:05:34 CET 2017

On Thu, 21 Dec 2017, Michael Schnell wrote:

> On 21.12.2017 08:52, Michael Van Canneyt wrote:
>> because I consider it a misguided approach,
> Could you elaborate why you think so ?

Because it will only work for simple scenarios. As soon as things become
moderately complex, this approach fails, as you will need to do the
communication manually. That is why I think approaches as
extpascal, extgui and - in its days - intraweb are failures.

> What I have in mind is:
>  - Do a common project for both "business" and the "GUI near" code.
>  - The IDE provides some means to define which parts of the codes are 
> to go where (in an Object Pascal system supposedly based on classes).

The IDE may try to decide this for a 'simple' hello world, but for a general
application, this is simply impossible.

What's more, most applications I have seen mix business and GUI code - 
exacerbated by RAD, of course - making this separation impossible.

By forcing people to clearly separate client and browser, this split between
business code and GUI code is automatic.

>  - With that, interfaces are provided for the communication (e.g. 
> procedure calls; in an Object Pascal system supposedly class based 
> procedures, properties and events).

Creating a huge overhead in the process:

The browser communication is done asynchronously. 
The code needed to make it look like your code runs synchronously will 
simply block the browser.

>  - The IDE compiles the code appropriately with acknowledging separates 
> definitions for both parts to be runnable where.
>  - The communication between the parts is implemented accordingly: if 
> it's a "local" GUI, just a normal executable is created, if the GUI is 
> Browser based: this part is implemented with pas2js, and the loading and 
> communication is implemented accordingly (if the main part is stand 
> alone, including a built-in web server, if the main part is to be run 
> behind a web server doing it as a cgi).
> I do see that this is unlikely to happen, but IMHO just because lack of 
> dev time, not because of bad concept.

Well, we clearly disagree. I do think it is a really bad concept, and of
course then I will not spend dev time on it :)


More information about the fpc-devel mailing list