{"id":15717205,"url":"https://github.com/salvadordf/webui4delphi","last_synced_at":"2025-04-05T16:05:41.176Z","repository":{"id":214966740,"uuid":"735546915","full_name":"salvadordf/WebUI4Delphi","owner":"salvadordf","description":"WebUI4Delphi is a WebUI wrapper, which allows you to use any web browser as a GUI, with Delphi or Lazarus/FPC in the backend and HTML5 in the frontend.","archived":false,"fork":false,"pushed_at":"2025-03-14T10:20:41.000Z","size":10139,"stargazers_count":130,"open_issues_count":1,"forks_count":18,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-05T16:05:25.444Z","etag":null,"topics":["browser","console","delphi","delphinuspackage","embarcadero","fmx","fpc","gui","javascript","lazarus","lcl","linux","macosx","pascal","typescript","vcl","web","webapp","webui","windows"],"latest_commit_sha":null,"homepage":"https://www.briskbard.com/forum/","language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/salvadordf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"salvadordf","patreon":"salvadordf","liberapay":"salvadordf","custom":"https://paypal.me/briskbard"}},"created_at":"2023-12-25T10:04:25.000Z","updated_at":"2025-03-21T04:44:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"54c11f15-8a4e-447b-932a-f3da2833d2fb","html_url":"https://github.com/salvadordf/WebUI4Delphi","commit_stats":null,"previous_names":["salvadordf/webui4delphi"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salvadordf%2FWebUI4Delphi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salvadordf%2FWebUI4Delphi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salvadordf%2FWebUI4Delphi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salvadordf%2FWebUI4Delphi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/salvadordf","download_url":"https://codeload.github.com/salvadordf/WebUI4Delphi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361621,"owners_count":20926643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","console","delphi","delphinuspackage","embarcadero","fmx","fpc","gui","javascript","lazarus","lcl","linux","macosx","pascal","typescript","vcl","web","webapp","webui","windows"],"created_at":"2024-10-03T21:49:04.067Z","updated_at":"2025-04-05T16:05:41.142Z","avatar_url":"https://github.com/salvadordf.png","language":"Pascal","funding_links":["https://github.com/sponsors/salvadordf","https://patreon.com/salvadordf","https://liberapay.com/salvadordf","https://paypal.me/briskbard","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=FTSD2CCGXTD86","https://liberapay.com/salvadordf/donate"],"categories":[],"sub_categories":[],"readme":"# WebUI4Delphi [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Add%20WebUI4Delphi%20to%20your%20applications%20to%20use%20any%20web%20browser%20as%20a%20GUI%20in%20your%20application\u0026url=https://github.com/salvadordf/WebUI4Delphi\u0026via=briskbard\u0026hashtags=WebUI4Delphi,delphi,webui)\nWebUI4Delphi is a [WebUI](https://github.com/webui-dev/webui) wrapper, which allows you to use any web browser as a GUI, with [Delphi](https://www.embarcadero.com/products/delphi/starter) or [Lazarus/FPC](https://www.lazarus-ide.org/) in the backend and HTML5 in the frontend. \n\nWebUI allows you to link your Delphi or Lazarus application with a web app that runs in a web browser installed in the operating system. Originally WebUI was created to have all the UI code in the web browser and the rest of the code in your hidden Delphi or Lazarus application.\nHowever, you can also decide to have a visible Delphi or Lazarus application communicating with a HTML5 app. You can get web browser events in your desktop application, call Pascal functions from JS, call JS functions from Pascal code, execute JavaScript, etc.\n\nWebUI4Delphi can be used in Delphi or Lazarus applications for Windows, Linux and MacOS. \n\nWebUI4Delphi was developed and tested on Delphi 12.3 and Lazarus 3.8/FPC 3.2.2 but it also supports Delphi 2010. \n\nWebUI4Delphi includes VCL, FireMonkey (FMX), LCL and console examples.\n\nWebUI4Delphi demos have been tested in Windows 10, Windows 11, Linux Mint 21.2 and Raspberry Pi OS.\n\nWebUI doesn't embed a web browser in your application. It's used as a bridge between a desktop application and the web browser running an HTML5 app. If you need to embed a web browser instead of using the installed web browser then consider using [CEF4Delphi](https://github.com/salvadordf/CEF4Delphi) or [WebView4Delphi](https://github.com/salvadordf/WebView4Delphi). \n\n\n## Features\n\n- Fully Independent (*No need for any third-party runtimes*)\n- Lightweight \u0026 Small memory footprint\n- Fast binary communication protocol between WebUI and the browser (*Instead of JSON*)\n- Multi-platform \u0026 Multi-Browser\n- Using private profile for safety\n- Original library written in Pure C\n- Help insight documentation.\n- Help file available.\n\n\n## Minimal Example\n\n```pas\nprogram Minimal;\n\n{$APPTYPE CONSOLE}\n\n{$R *.res}\n\nuses\n  System.SysUtils, uWebUI, uWebUIWindow, uWebUITypes;\n\nvar\n  LWindow : IWebUIWindow;\n\nbegin\n  try\n    WebUI := TWebUI.Create;\n    if WebUI.Initialize then\n      begin\n        LWindow := TWebUIWindow.Create;\n        LWindow.Show('\u003chtml\u003e\u003chead\u003e\u003cscript src=\"webui.js\"\u003e\u003c/script\u003e\u003c/head\u003e Hello World ! \u003c/html\u003e');\n        WebUI.Wait;\n      end;\n  except\n    on E: Exception do\n      Writeln(E.ClassName, ': ', E.Message);\n  end;\nend.\n```\n\n[More examples](https://github.com/salvadordf/WebUI4Delphi/tree/main/demos)\n\n\n## Text editor\n\nThis [text_editor](https://github.com/salvadordf/WebUI4Delphi/tree/main/demos/Console/text_editor) is a lightweight and portable example written in Delphi and JavaScript using WebUI as the GUI.\n\n![text_editor](https://github.com/salvadordf/WebUI4Delphi/assets/17946341/306533de-5885-4bab-9c05-1627ea9b9bc8)\n\n\n## Installation\n\n* Open the file packages\\WebUI4Delphi.dproj.\n* Select the Projects→Build all projects menu option.\n* Add the source directory to the search path in your applications.\n* Add the \"FMX\" conditional define in your project options. This define is only required for Firemonkey applications.\n\n\n## Links\n* [Developer Forums](https://www.briskbard.com/forum)\n* [WebUI project](https://github.com/webui-dev/webui) \n* [WebUI Pascal project for Lazarus](https://github.com/webui-dev/pascal-webui)\n* [C API documentation](https://webui.me/docs/#/c_api)\n\n## Support\nIf you find this project useful, please consider making a donation.\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=FTSD2CCGXTD86)\n\nYou can also support this project with Patreon.\n\n\u003ca href=\"https://patreon.com/salvadordf\"\u003e\u003cimg src=\"https://c5.patreon.com/external/logo/become_a_patron_button.png\" alt=\"Patreon donate button\" /\u003e\u003c/a\u003e\n\nYou can also support this project with Liberapay.\n\n\u003ca href=\"https://liberapay.com/salvadordf/donate\"\u003e\u003cimg alt=\"Donate using Liberapay\" src=\"https://liberapay.com/assets/widgets/donate.svg\"\u003e\u003c/a\u003e\n\n## Related projects \n* [CEF4Delphi](https://github.com/salvadordf/CEF4Delphi) \n* [WebView4Delphi](https://github.com/salvadordf/WebView4Delphi)\n* [PasDoc](https://pasdoc.github.io/)\n\n## Other resources\n* [Learn Delphi](https://learndelphi.org/)\n* [Essential Pascal by Marco Cantù](https://www.marcocantu.com/epascal/)\n* [Free Pascal Reference guide](https://www.freepascal.org/docs-html/ref/ref.html)\n* [Modern Object Pascal Introduction for Programmers](https://castle-engine.io/modern_pascal)\n* [FreePascal from Square One by Jeff Duntemann](http://www.copperwood.com/pub/FreePascalFromSquareOne.pdf)\n* [Pascal and Lazarus Books and Magazines](https://wiki.freepascal.org/Pascal_and_Lazarus_Books_and_Magazines)\n* [Lazarus Documentation](https://wiki.freepascal.org/Lazarus_Documentation)\n* [Delphi Succinctly](https://www.syncfusion.com/succinctly-free-ebooks/delphi)\n* [Start Programming using Object Pascal](https://code.sd/startprog/StartProgUsingPascal.pdf)\n\n\nAdditional: Delphinus-Support\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalvadordf%2Fwebui4delphi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalvadordf%2Fwebui4delphi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalvadordf%2Fwebui4delphi/lists"}