<div dir="ltr">This is fantastic. Great work everyone.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 20 December 2017 at 11:59, Mattias Gaertner <span dir="ltr"><<a href="mailto:nc-gaertnma@netcologne.de" target="_blank">nc-gaertnma@netcologne.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, 20 Dec 2017 12:29:25 +0100<br>
Ingemar Ragnemalm <<a href="mailto:ingemar@ragnemalm.se">ingemar@ragnemalm.se</a>> wrote:<br>
<br>
>[...]<br>
<span class="">> After some initial fiddling, I realized that there was a misspelling in<br>
> the wiki, and Hello World worked once I use -Jirtl.js rather than<br>
> -jirtl.js.<br>
<br>
</span>Fixed.<br>
<span class=""><br>
<br>
> And then I got some of the provided demos running too and<br>
> managed to write one of my own. So it looks good!<br>
><br>
> Here is an early result, expressing my feelings for this release:<br>
><br>
> <a href="http://ragnemalm.se/images/santa/santa.html" rel="noreferrer" target="_blank">http://ragnemalm.se/images/<wbr>santa/santa.html</a><br>
><br>
> I couldn't get sound working, but otherwise it seems to work as it<br>
> should! (I hope it does for the rest of you.)<br>
<br>
</span>Beautiful.<br>
Can I add the URL as an example?<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
Mattias<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
><br>
> /Ingemar<br>
><br>
> Den 2017-12-17 kl. 12:00, skrev Michael Van Canneyt:<br>
> > From: Michael Van Canneyt<<a href="mailto:michael@freepascal.org">michael@freepascal.org</a><wbr>><br>
> > To: FPC mailing list<<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.<wbr>freepascal.org</a>>, FPC<br>
> > development mailing list<<a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.<wbr>freepascal.org</a>>, Lazarus<br>
> > mailing list<<a href="mailto:lazarus@lists.lazarus-ide.org">lazarus@lists.lazarus-<wbr>ide.org</a>><br>
> > Subject: [fpc-pascal] First pas2js public release<br>
> > Message-ID:<<a href="mailto:alpine.DEB.2.20.1712161655180.32745@home.telenet.be">alpine.DEB.2.20.<wbr>1712161655180.32745@home.<wbr>telenet.be</a>><br>
> > Content-Type: text/plain; format=flowed; charset=US-ASCII<br>
> ><br>
> ><br>
> > Hello fellow Pascal enthousiasts,<br>
> ><br>
> > It is with great pleasure that I can finally announce the first publicly<br>
> > available version of pas2js. A "beta" version, version 0.8.39.<br>
> > The endpoint (for the time being) of nearly 10 years of (slow) development.<br>
> ><br>
> > pas2js is a Object Pascal to Javascript transpiler. It compiles Object<br>
> > pascal, and emits Javascript. The javascript is usable in the browser, and<br>
> > in Node.js.<br>
> ><br>
> > It is open source, and part of FPC/Lazarus.<br>
> > This makes Free Pascal a full-stack development environment for Web Development:<br>
> > You can use it to program the server and the browser alike, all from within<br>
> > the environment you love so much:)<br>
> ><br>
> > What does pas2js include ?<br>
> > --------------------------<br>
> ><br>
> > * On the language level:<br>
> ><br>
> > It supports basically Delphi 7 syntax, interfaces excepted.<br>
> > Naturally, any memory pointer operation is not possible in Javascript.<br>
> > Code that relies on this will not work.<br>
> ><br>
> > This is just the first version, we of course want to add the same language<br>
> > features that exist in Delphi and FPC today.<br>
> ><br>
> > * On the runtime level:<br>
> ><br>
> > Beside the compiler itself, there is a basic Object Pascal RTL,<br>
> > and several units from the FPC Packages are also available:<br>
> ><br>
> > system<br>
> > sysutils<br>
> > Math<br>
> > strutils<br>
> > rtlconst<br>
> > classes<br>
> > contnrs<br>
> > DB (yes, TDataset)<br>
> > fpcunit testsuite<br>
> > custapp<br>
> > restconnection<br>
> > js (javascript system objects)<br>
> > web (browser provided objects)<br>
> > libjquery (jquery is available too)<br>
> > nodejs (basic node runtime environment)<br>
> > typeinfo<br>
> > objpas<br>
> > browserconsole (support for writeln)<br>
> > dateutils<br>
> > browserapp<br>
> > nodejsapp<br>
> ><br>
> > * Debugging:<br>
> ><br>
> > Obviously, the browser debugger can be used to debug the Javascript.<br>
> > But there is more: the compiler can emit a source map, and this means that<br>
> > if the browser finds the source file, it will display the original source<br>
> > file instead of the javascript. You can debug Object pascal in the browser.<br>
> ><br>
> > * Demoes ?<br>
> ><br>
> > The package has several demoes, including FPReport, TDataset, JQuery and<br>
> > Bootstrap.<br>
> ><br>
> > * Documentation ?<br>
> ><br>
> > As befits an open source project, docs are lagging behind :/<br>
> ><br>
> > But a WIKI page has been started, it will be expanded as time permits:<br>
> ><br>
> > <a href="http://wiki.freepascal.org/pas2js" rel="noreferrer" target="_blank">http://wiki.freepascal.org/<wbr>pas2js</a><br>
> ><br>
> > * Sources ?<br>
> ><br>
> > The pas2js compiler sources and RTL sources have been checked in in FPC's<br>
> > subversion repository. The page describes where to find it in SVN.<br>
> ><br>
> > * Binaries ?<br>
> ><br>
> > A snapshot is available:<br>
> > <a href="http://www.freepascal.org/~michael/pas2js/pas2js-demo-0.8.39.zip" rel="noreferrer" target="_blank">http://www.freepascal.org/~<wbr>michael/pas2js/pas2js-demo-0.<wbr>8.39.zip</a><br>
> ><br>
> > * Reporting bugs ?<br>
> ><br>
> > The FPC bugtracker has now a 'pas2js' project, it can be used to report<br>
> > bugs.<br>
> ><br>
> > * Can you help ?<br>
> ><br>
> > Yes, of course. There is still a lot of work to be done.<br>
> > Feel free to contact me or Mattias Gaertner with questions.<br>
> ><br>
> > What about Lazarus ?<br>
> > --------------------<br>
> ><br>
> > Lazarus "understands" the extensions to object pascal (for importing Javascript<br>
> > classes) that were borrowed from the JVM version of the compiler, so the<br>
> > code completion will continue to work.<br>
> ><br>
> > Using the pre-compiler command, CTRL-F9 just works. On error, you will be<br>
> > shown the error location etc.<br>
> ><br>
> > Further and deeped integration of pas2js into lazarus is expected.<br>
> > In the first place, IDE integration.<br>
> > Later on, a real widget set for the browser can (and hopefully will) be created.<br>
> ><br>
> > But that is not all !<br>
> > ---------------------<br>
> ><br>
> > In the very near future, a major Delphi component vendor will announce a<br>
> > complete package for RAD web development in the Delphi IDE.<br>
> > The expectation is that later on, the exact same components will be usable<br>
> > in Lazarus. In essence, the component developer has created a complete browser<br>
> > widgetset. More than 100 controls are available.<br>
> ><br>
> > Using this, you can design a web application as you design a desktop app;<br>
> > Fully RAD, as you are used to. But even more, you can bind controls on a<br>
> > form to existing tags in a web page, thus preserving the style in the web page.<br>
> ><br>
> > The first demoes for a selected audience have evoked very positive feedback<br>
> > indeed.<br>
> ><br>
> > All this is based on pas2js.<br>
> ><br>
> > As soon as I receive permission, I will announce here where it becomes<br>
> > available.<br>
> ><br>
> > Lastly!<br>
> > -------<br>
> ><br>
> > On a more personal note, I wish to explicitly thank Mattias Gaertner for finally<br>
> > finishing what has been started a long time ago.<br>
> ><br>
> > Without him, none of this would have been possible.<br>
> ><br>
> > The same is true for Detlef Overbeek, editor of Blaise Pascal magazine,<br>
> > without his moral and financial help, it would have taken many more years to<br>
> > finish this.<br>
> ><br>
> > It is - for me - a long standing dream finally come true.<br>
> ><br>
> > Enjoy !<br>
> ><br>
> > Michael.<br>
><br>
</div></div><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
fpc-pascal maillist - <a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.<wbr>org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal" rel="noreferrer" target="_blank">http://lists.freepascal.org/<wbr>cgi-bin/mailman/listinfo/fpc-<wbr>pascal</a></div></div></blockquote></div><br></div>