Sign in Join
Wiki copytemporary

fpwebview

About

fpwebview is Free Pascal binding for webview, the cross-platform library that links with gtk-webkit2 on Linux, Cocoa/WebKit on macOS and Edge on Windows 10 for building desktop hybrid GUI+web applications.

Supporting shared library, dylib, DLL and import library files for x86_64 (Linux, macOS, Windows), i386 (Windows) and aarch64 (macOS) are bundled.

Getting started

Linux

% git clone https://github.com/PierceNg/fpwebview
% cd fpwebview/demo/browser_cli
% ./linbuild.sh
<output>
% ./linrun.sh

macOS

% git clone https://github.com/PierceNg/fpwebview
% cd fpwebview/demo/browser_cli
% ./macbuild.sh
<output>
% ./macrun.sh

Windows

C:\> git clone https://github.com/PierceNg/fpwebview
C:\> cd fpwebview\demo\browser_cli
C:\fpwebview\demo\browser_cli> winbuild.bat
<output>
C:\fpwebview\demo\browser_cli> winrun.bat

Demo program

Here's a simple Pascal program that uses fpwebview to implement a web browser.

pascal
program browser_cli;

{$linklib libwebview}

uses
  {$ifdef unix}cthreads,{$endif}
  math,
  webview;

var
  w: PWebView;

begin
  { Set math masks. libwebview throws at least one of these from somewhere deep inside. }
  SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);

  writeln('Hello, webview, from Pascal!');
  w := webview_create(WebView_DevTools, nil);
  webview_set_size(w, 1024, 768, WebView_Hint_None);
  webview_set_title(w, PAnsiChar('WebView Free Pascal'));
  webview_navigate(w, PAnsiChar('https://www.freepascal.org/'));
  webview_run(w);
  webview_destroy(w);
  writeln('Goodbye, webview.');
end.

License

The code is under MIT license, with following exception:

Download

GitHub repo


From the Free Pascal wiki, page "fpwebview", as it stood on 2024-04-06 after a change by PierceNg, 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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.