Difference between revisions of "fpwebview"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "'''fpwebview''' is Free Pascal binding for [https://github.com/webview/webview webview]. ==Getting started== Binary support files for x86_64 for Linux, macOS and Windows are...")
 
(Add other supported architectures. Update license.)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''fpwebview''' is Free Pascal binding for [https://github.com/webview/webview webview].
+
{{fpwebview}}
 +
 
 +
==About==
 +
 
 +
'''fpwebview''' is Free Pascal binding for [https://github.com/webview/webview 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==
 
==Getting started==
 
Binary support files for x86_64 for Linux, macOS and Windows are provided in the GitHub repo. See the files in the dll/x86_64 folder.
 
  
 
'''Linux'''
 
'''Linux'''
Line 30: Line 34:
  
 
==Demo program==
 
==Demo program==
<syntaxhighight lang="pascal">
+
Here's a simple Pascal program that uses fpwebview to implement a web browser.
 +
 
 +
<syntaxhighlight lang="pascal">
 
program browser_cli;
 
program browser_cli;
  
Line 57: Line 63:
 
end.
 
end.
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
==License==
 +
 +
The code is under MIT license, with following exception:
 +
 +
* Microsoft's WebView2Loader.dll is distributed as per LICENSE.Microsoft.
  
 
==Download==
 
==Download==
 +
 
[https://github.com/PierceNg/fpwebview/ GitHub repo]
 
[https://github.com/PierceNg/fpwebview/ GitHub repo]

Latest revision as of 04:38, 6 April 2024

English (en)

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.

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:

  • Microsoft's WebView2Loader.dll is distributed as per LICENSE.Microsoft.

Download

GitHub repo