ddmitov / perl-executing-browser

HTML interface for Perl 5 desktop applications :dromedary_camel:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Perl Executing Browser

GitHub Version GitHub License

Perl Executing Browser (PEB) is an HTML user interface for Perl 5 desktop applications. It is a C++ Qt 5 application running local Perl scripts as child processes without server. Inspired by Electron and NW.js, PEB is another reuse of web technologies in desktop applications with Perl doing the heavy lifting instead of Node.js.

PEB Screenshot

Contents

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL"
in the documentation of this project are to be interpreted as described in RFC 2119.

Quick Start

  • 1. Download the PEB Demo Application.
    64-bit Linux single-file AppImage executable and
    32-bit Windows ZIP archive are available.
    They include everything you need to start developing PEB-based applications.

  • 2. Unpack:

    64-bit Linux:

    ./peb-demo-*.AppImage --appimage-extract

    Windows:
    Unzip using any Windows unzip utility.

  • 3. Optionally install any CPAN modules you may need:

    64-bit Linux:

    cd squashfs-root/resources/app/perl/bin
    ./perl ./cpanm YourModule

    Windows - from the extracted peb-demo directory:

    cd resources\app\perl
    .\portableshell.bat
    cpanm YourModule
  • 4. Write your Perl application reading user input on STDIN:

    my $input = <STDIN>;
    chomp $input;
  • 5. Write a {PEB_executable_directory}/resources/app/index.html with
    a settings JavaScript object for every Perl script you want to use.
    Start local Perl scripts by clicking a link or submitting a form to a special URL.
    Select files or folders with their full paths by clicking a link to a special URL.

  • 6. Optionally change the PEB AppImage configuration files.

  • 7. Optionally pack your application:

    64-bit Linux - from the extracted squashfs-root directory:

    export VERSION="X.X.X" && ./appimager.sh

    The resulting AppImage will be produced in the squashfs-root directory.

    Windows:
    Zip your PEB-based application using any Windows zip utility.

Design Objectives

  • 1. Easy graphical user interface for Perl 5 desktop applications
  • 2. Zero-installation software
  • 3. Cross-platform availability
  • 4. Secure solution with no server process
  • 5. Maximal reuse of existing web technologies and standards

Features

Security

  • PEB does not need administrative privileges or installation procedure.
  • PEB does not need and does not implement any server process.
  • PEB can not open web pages.
  • PEB Perl scripts are executed locally with no sandbox.

Limitations

  • No access to web pages
  • No Perl scripting inside frames
  • No pop-up windows
  • No printing
  • Limited HTML5 support

Logging

PEB has unified logging of JavaScript and Perl errors in the JavaScript console.
Press Ctrl + I to open the QWebInspector and go to the Console tab.

History

PEB was started in 2013 by Dimitar D. Mitov as a simple user interface for personal database applications.

This program is free software;
you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License,
as published by the Free Software Foundation;
either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Authors

Dimitar D. Mitov, 2013 - 2020, 2023
Valcho Nedelchev, 2014 - 2016

About

HTML interface for Perl 5 desktop applications :dromedary_camel:

License:Other


Languages

Language:C++ 62.2%Language:JavaScript 11.7%Language:Perl 10.1%Language:HTML 6.9%Language:Shell 5.0%Language:QMake 2.8%Language:CSS 1.4%