Pas2js - Abstimmung nächstes Sprachfeature

Für Dinge zum Forum, Kritik, Verbesserungsvorschläge, Umfragen und ähnliches.
Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von m.fuchs »

theo hat geschrieben:In so einem Tool möchte ich ja auch z.B. PHP, SCSS und andere Dateien gleichzeitig bearbeiten inkl. PHP Debugger und Code Insight, PHPDoc etc..

Es gibt durchaus auch Leute, die PHP durch Freepascal ersetzen. Mache ich zum Beispiel für einige Projekte.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von theo »

m.fuchs hat geschrieben:
theo hat geschrieben:In so einem Tool möchte ich ja auch z.B. PHP, SCSS und andere Dateien gleichzeitig bearbeiten inkl. PHP Debugger und Code Insight, PHPDoc etc..

Es gibt durchaus auch Leute, die PHP durch Freepascal ersetzen. Mache ich zum Beispiel für einige Projekte.

Es gibt immer Leute, die etwas anders machen als die anderen 99.99% ;-)
Aber spätestens wenn man ein CMS Framework nutzen möchte, bringt das halt auch nichts mehr.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von mschnell »

Mattias hat geschrieben:Code editieren:
Die codetools kennen die Eigenheiten von pas2js. Code editieren funktioniert also.

Super !

Mattias hat geschrieben:Übersetzen, Starten:
Es gibt das IDE package Pas2jsDsgn mit dem man mit ein paar Klicks ein Lazarus Projekt erzeugen kann. Ausserdem erlaubt es bei F9 einen Webbrowser zu starten, in dem wiederum die WebApplikation gestartet wird.

Super !

Mattias hat geschrieben:Debuggen:
Man kann im Browser debuggen. pas2js kann eine srcmap erzeugen, die moderne Browser erkennen. Die Browser eigenen Debugger zeigen dann die Pascalquelldateien statt dem generierten JavaScript.

Super !

Mattias hat geschrieben:Serverkommunikation:
Die RTL bietet Units für get, post, REST, etc. Mit fcl-db kann man sogar wie gewohnt mit DataSets arbeiten.

Das verstehe ich nicht, was vermutlich daran liegt, dass ich mich mit dem Thema nicht genügend beschäftigt habe.
Genau das will ich natürlich vermeiden und hoffe deshalb, dass auf die Dauer Libraries für den Server(-Teil) und das im Browser laufende (Teil-) Programm zur Verfügung gestellt werden, die den User von den schmutzigen Kommunikations-Detais entlasten.

Mattias hat geschrieben:GUI bauen:
Die RTL bietet Zugriff auf den Browser DOM aber mit mehr Typsicherheit. Man kann also JS-typisch mit wenigen Zeilen Buttons, Forms, etc erstellen. Oder wenn man eine HTML-Seite hat, mit dieser zu agieren.
An GUI Komponenten für die IDE bauen schon einige.

Dann besteht also Aussicht auf Hoffnung :)

Es wäre aber natürlich wichtig, die GUI-Komponenten für die "normalen" LCL Widget-Types und die mit pas2js im Browser benutzbaren so zu synchronisieren dass (sofern man nur die in beiden implementierten verwendet), man das Programm mit wenigen Clicks sowohl für den lokalen Rechner als auch als Browser-Applikation übersetzen kann.

Deshalb sollten die angebotenen Browser-Widges am besten eine - möglichst umfangreiche - Teilmenge der "normalen" sein.

-Michael
Zuletzt geändert von mschnell am Fr 27. Apr 2018, 11:52, insgesamt 4-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von mschnell »

theo hat geschrieben:Gibt es irgendwo einen Text darüber, was der Zweck eines solchen Tools ist?

Ich fände es super, CGI-ähnliche Applikationen komplett in Pascal bauen zu können, die eine Oberfläche im Browser zeigen.

Mit " CGI-ähnlich" meine ich einerseits Programme, die "hinter" einem Standard-Webserver laufen und andererseits "embedded" Programme auf Boxen, die im allgemeinen keine Display-Hardware haben und (z.B. für Wartungs-Aufgaben) optional per TCP/IP mit einem Browser angesprochen werden können, und da ihre GUI zeigen.

-Michael
Zuletzt geändert von mschnell am Fr 27. Apr 2018, 11:53, insgesamt 2-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von mschnell »

theo hat geschrieben: für einen Web-Entwickler sehr nah und darum soll es hier ja letztlich auch gehen. :wink:

Warum sollte man es einem Pascal-Nutze nicht leicht machen dürfen, ein Web-Entwickler zu werden ?!?!?!?!? :shock:
-Michael

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von theo »

mschnell hat geschrieben:
theo hat geschrieben: für einen Web-Entwickler sehr nah und darum soll es hier ja letztlich auch gehen. :wink:

Warum sollte man es einem Pascal-Nutze nicht leicht machen dürfen, ein Web-Entwickler zu werden ?!?!?!?!? :shock:
-Michael

Merkwürdige Frage.
Natürlich "darf" man das. Ich glaube nur nicht, dass es befriedigend gelingen würde bzw. dass das die Kernaufgabe von Lazarus ist.
Genauso wenig wie ich im Browser eine native Anwendung entwickeln möchte. Das könnte man vielleicht auch hinbiegen, aber dafür gibt es ja Lazarus. :wink:

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von mschnell »

theo hat geschrieben:Genauso wenig wie ich im Browser eine native Anwendung entwickeln möchte. Das könnte man vielleicht auch hinbiegen, aber dafür gibt es ja Lazarus. :wink:

Eben umgekehrt !!!
Du kannst die Anwendung "nativ" (also normal) entwickeln und testen und dann (innerhalb von Lazarus) mit Hilfe von pas2js als Browser-Applikation compilieren. (GUI siehe oben -> "Aussicht auf Hoffnung".)

-Michael

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von theo »

mschnell hat geschrieben:Du kannst die Anwendung "nativ" (also normal) entwickeln und testen und dann (innerhalb von Lazarus) mit Hilfe von pas2js als Browser-Applikation compilieren. (GUI siehe oben -> "Aussicht auf Hoffnung".)

Das habe ich schon verstanden.
Ich wollte nur herausfinden, ob ich das für meine Zwecke irgendwie gebrauchen kann. Bisher bin ich davon nicht überzeugt.
Es macht aber bestimmt Spaß, so ein Tool zu entwickeln.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von mschnell »

Mattias,

Jetzt wird Webassembly ja generell von Browsern unterstützt (-> http://webassembly.org/).

Warum ist es sinnvoll, nach Java Script zu kompilieren ? WebAssembly ist doch eigentlich genau für diesen Zweck (irgend eine Hochsprache soll Code für Browser Applications erzeugen) erfunden worden und sollte eigentlich performanter as java Script sein.

-Michael

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von theo »

mschnell hat geschrieben:Jetzt wird Webassembly ja generell von Browsern unterstützt (-> http://webassembly.org/).

Seit wenigen Monaten.
Pas2js wird ja schon seit Jahren entwickelt.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von mschnell »

Genau.

Die Frage ist, ob man nicht aufbauend auf dem mit pas2js erreichten auf WebAssembly umschwenken sollte.

-Michael

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von theo »

mschnell hat geschrieben:Die Frage ist, ob man nicht aufbauend auf dem mit pas2js erreichten auf WebAssembly umschwenken sollte.

Kann sein. Macht aber erst mal keinen großen Unterschied für Lazarus/FPC.

Man muss nicht immer der Erste sein.

In einem anderen Forum habe ich einen guten Spruch dazu gelesen:
In times like ours, the tricky part isn't learning all the new stuff but rather figuring out early enough which three quarters of that stuff you can wait out
:wink:

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von Christian »

Das hört sich bei euch an als ob das was komplett anderes ist. WebAssembly ist nur ein subset von Javascript Befehlen. Ich denke das könnte später auch ein optimizer Schritt erledigen. Insofern ist es warscheinlich kein Problem das nachzureichen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von Christian »

Ich würd mir als nächstes ein neues fpc und lazarus Release wünschen.
Für mich wirds zeit das sowohl pas2js als auch die IDE Intrgrationen in einer Stable landen :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Pas2js - Abstimmung nächstes Sprachfeature

Beitrag von mschnell »

Christian hat geschrieben:Das hört sich bei euch an als ob das was komplett anderes ist. WebAssembly ist nur ein subset von Javascript Befehlen. Ich denke das könnte später auch ein optimizer Schritt erledigen. Insofern ist es warscheinlich kein Problem das nachzureichen.

Ganau dazu würde ich ja gerne Mattias' Meinung hören !

-Michael

Antworten