Developing Web Apps with Pascal

From Free Pascal wiki
Revision as of 09:53, 25 September 2020 by Steve--w (talk | contribs) (I added detail on the XComponent WidgetSet and XIDE running in the browser, and provided links to the GitHub projects)
Jump to navigationJump to search

Overview

This page describes various ways of integrating javascript with Free Pascal.


XIDE/XComponents

XIDE is a simple stand alone IDE for Free Pascal which runs in the browser (and on other platforms supported by Lazarus).

It is a combined Client Side Run Time Library and RAD IDE intended to allow Pascal(Pas2JS) and/or Python(Pyodide) development with the minimum of installation or learning curve. XComponents is the widgetset that enables XIDE.

XIDE is intended for Prototyping, Small Group Collaboration and Agile Line of Business projects where the choice of browser can be specified. It will run on any platform that is supported by Chrome or Electron, or Lazarus(+CEF). It is not intended for the development of general-purpose public facing web sites. It may also run on other HTML5 browsers (e.g. Microsoft Edge), but this is not tested.

XIDE projects can be deployed as a single static HTML/Javascript (or .exe) file combining the User App with the RTL and IDE Code. This can be done with the IDE disabled (for end users) or enabled (as done in the examples below, for collaborators).

Examples…..

   XIDESimplePascalExample.html [1]
   XIDESimplePythonExample.html [2]
   XIDEPascalSVGAndGPUExample.html [3]

To build from source….

   XIDE [4] 
   XComponents [5]


ExtPascal

ExtPascal is a set of Pascal components that wrap the Ext JS set of JavaScript widgets.

http://code.google.com/p/extpascal/

With the optional ExtP Toolkit, you can turn Lazarus into an ExtPascal IDE.

qxotica

The qxotica tools provide a way to use Lazarus to create both the qooxdoo-based JavaScript client and the Pascal server backend for a Web app.

https://sourceforge.net/projects/qxotica/

See also

  • fcl-web Framework for developing web applications. Also lets you use JSON/REST APIs.
  • Fano Framework Web application framework for modern Pascal programming language.