Sign in Join
Wiki copytemporary

pas2js widgetsets: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11The ultimate goal is to use Free Pascal and Lazarus to create a webpage in a RAD manner as much as possible. There can be several approaches to this.
22
33- Create an actual LCL widgetset
44- Do not use the actual LCL widgetset, but create a widgetset that uses the IDE support for a custom designer in Lazarus.
55- Do not use the actual LCL widgetset, but create one that supports Pas2JS app development in the browser.
66
77Either way, a set of basic widgets that can be used in HTML are needed.
88
99Currently, several efforts are underway to create such a widget set.
1010
1111### Open Source
1212
1313In random order, they are:
1414
1515- XComponents (and XIDE): [1](https://github.com/Steve--W/XComponents) (Steve Wright)
1616- Web Component Library (WCL): [2](https://github.com/pascaldragon/Pas2JS_Widget) - fork of Pas2JS Widgetset (Sven Barth)
1717- (archived) Pas2JS Widgetset: a RAD Framework to develop Web Applications [3](https://github.com/heliosroots/Pas2JS_Widget) (Heliosroots)
1818- Pas2js implementation of DHTMLX: [4](https://github.com/cutec-chris/dhtmlx-for-pas2js) (Christian Ulrich)
1919
2020### Other Demonstrations
2121
2222- Web Widgets, bundled with pas2js: [5](https://www.freepascal.org/~michael/pas2js-demos/widgets/#)
2323- projJ: [6](https://github.com/pas2js/pas2js.github.io/tree/master/master/projJ)
2424- Puma: [7](https://www.sc10.com.br/puma/puma_doc.html) - lightweight UI components for pas2js based on Bulma
2525- VUE using pas2js: [8](https://github.com/imperyal/pas2js-and-VUE)
2626
2727### Commercial
2828
2929Most freeware tools for Lazarus Web Application lack of features and documentations. If you really need a good component for Web Application then TMS Web Core is worth to try.
3030
3131- TMS software has created: [TMS Web Core](https://www.tmssoftware.com/site/tmswebcoreintro.asp)
3232- Install TMS Web Core to Lazarus:<https://www.youtube.com/watch?v=YzZazLnF8Zk>
3333- TMS Web Core Developer Guide: <http://www.tmssoftware.biz/Download/Manuals/TMSWEBCoreDevGuide.pdf>
3434
3535**Another commercial alternative that is free for open-source projects is [xProject](https://green-hill.srl)**
3636
3737This project transforms your Delphi or Lazarus project into a web app without any modifications.\
3838There's no need to install components in Delphi or Lazarus.\
3939The result is exclusively HTML, CSS, and JavaScript, and it looks and behaves exactly like the desktop application.
4040
4141### XIDE/XComponents
4242
4343XIDE is a simple, stand alone, open source IDE for Free Pascal which runs in the browser (and on other platforms supported by Lazarus).
4444
4545It 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 while also being as platform independent as possible. XComponents is the widgetset that enables XIDE.
4646
4747XIDE 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.
4848
4949XIDE 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).
5050
5151**Examples…..**
5252
53-`   XIDESimplePascalExample.html `[`9`](https://steve--w.github.io/XIDEPages/XIDESimplePascalExample.html)\
54-`   XIDESimplePythonExample.html `[`10`](https://steve--w.github.io/XIDEPages/XIDESimplePythonExample.html)\
55-`   XIDEPascalSVGAndGPUExample.html `[`11`](https://steve--w.github.io/XIDEPages/XIDEPascalSVGAndGPUExample.html)
53+```text
54+ XIDESimplePascalExample.html [https://steve--w.github.io/XIDEPages/XIDESimplePascalExample.html]
55+ XIDESimplePythonExample.html [https://steve--w.github.io/XIDEPages/XIDESimplePythonExample.html]
56+ XIDEPascalSVGAndGPUExample.html [https://steve--w.github.io/XIDEPages/XIDEPascalSVGAndGPUExample.html]
57+```
5658
5759**To build from source….**
5860
59-`   XIDE `[`12`](https://github.com/Steve--W/XIDE)` `\
60-`   XComponents `[`13`](https://github.com/Steve--W/XComponents)
61+```text
62+ XIDE [https://github.com/Steve--W/XIDE]
63+ XComponents [https://github.com/Steve--W/XComponents]
64+```
6165
6266**XIDE Screenshot**
6367
6468
6569![](/wiki-images/e/e6/XIDEExampleScreenShot.jpg)
6670
6771### Pas2JS Widgetset
6872
6973Pas2JS Widgetset is a RAD Framework to develop Web Applications like to develop Windows Applications.\
7074Installation Procedure:\
71751\. Download from: <https://github.com/heliosroots/Pas2JS_Widget>\
7276or from <https://github.com/pascaldragon/Pas2JS_Widget>\
73772\. Extract to **Lazarus - pas2js_designer**\
74783\. Open: Lazarus - pas2js_designer - package: **pas2js_designer_package.lpk**
7579
7680
7781![](/wiki-images/6/63/Pas2js_designer-install-01.png)
7882
79834\. Click on **Use - Install**
8084
8185
8286![](/wiki-images/8/87/Pas2js_designer-install-02.png)
8387
84885\. Click on Yes to install this package
8589
8690
8791![](/wiki-images/d/de/Pas2js_designer-install-03.png)
8892
89936\. You will see LCL for pas2js!
9094
9195
9296![](/wiki-images/1/1b/Pas2js_designer-install-04.png)
9397
9498## Navigation
9599
96100- Back to [[pas2js]]
97101- Back to [[Pas2JS Version Changes]]
98102- Back to [[lazarus pas2js integration]]
99103
100104---
101105*From the Free Pascal wiki, page "pas2js widgetsets", as it stood on 2023-10-03 after a change by Peter.kainz, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
102106Category: Pas2js

Back to history