portal

package module
v0.0.0-...-3e59879 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2024 License: MIT Imports: 1 Imported by: 0

README

Portal

Desktop runtime & development environment for JavaScript decentralized applications driven by Astral network.

Prerequisites

Before you can install & use Portal u need manually prepare the following dependencies:

Astral

Astral is a core & mandatory networking dependency for Portal. It provides a plenty of features like p2p, encryption, identity, storage, and unified API for services and apps.

Wails

Portal GUI runner uses Wails source code as a base, also it requires same dependencies for production and development purpose. For Installing them follow official Wails installation guideline.

Install

Portal sources can produce production or development executable. Generally speaking, the development runtime is an extended version of the production runtime.

  • Install production runtime if you want to:
    • Run frontend application.
    • Run backend application.
  • Install developer runtime if you want to:
    • Create new application.
    • Run development server.
    • Build application.
    • Generate application bundle.
Linux

Systray:

sudo apt-get install gcc libgtk-3-dev libayatana-appindicator3-dev
Linux & MacOS (Windows?)

Install production runtime:

go install -tags "desktop,wv2runtime.download,production" github.com/cryptopunkscc/go-astral-js/cmd/portal

Install development runtime:

go install -tags dev github.com/cryptopunkscc/go-astral-js/cmd/portal

How to use

Portal provides command line interface created using clir library.

Example commands

Print help.

portal -help

Run development server.

portal dev ./example/project

Create base application project from template.

portal create -n my_react_app -t react

Generate application bundle

portal bundle ./example/project

Run application bundle

portal open ./example/project
Legacy runners

v8 backend

go run ./cmd/legacy/v8 ./example/basic/main.js 

goja backend

go run ./cmd/legacy/goja ./example/basic/main.js 

WebView frontend

go run ./cmd/legacy/webview ./example/basic/index.html 

Compatibility

Supported platforms for specific implementation.

  • Frontend
    • wails - ES6
      • Linux
      • MacOS
      • Windows ?
    • WebView - ES6
      • Linux
      • MacOS ❌
      • Windows ?
  • Backend
    • goja - ES6 (partial?)
      • Linux
      • MacOS
      • Windows ?
      • Android ?
    • V8 - ES6
      • Linux
      • MacOS ?
      • Windows

Documentation

Index

Constants

View Source
const (
	Version        = "v0.0.1"
	Name           = "Portal"
	NameDev        = "Portal Development"
	Description    = "Runtime environment for Astral apps."
	DescriptionDev = "Development environment for Astral apps."
	AstralVersion  = "v0.0.0-20240510192132-6172557ff205"
	WailsVersion   = "v2.6.0"
)

Variables

This section is empty.

Functions

func GoModuleVersion

func GoModuleVersion() (version string)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL