8000 GitHub - HapticX/happyx-native: Macro-oriented web-framework compiles to native written with ♥
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

HapticX/happyx-native

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HappyX Native

macro-oriented web-framework compiles to native

API Reference

Install

nimble install happyx-native

or via GitHub:

nimble install https://github.com/HapticX/happyx-native

Features

  • Support for Chrome/Yandex/Edge browsers & Webview
  • Support for Android

Project Initialization

To init project you should use this command:

hpx-native init --name ProjectName

This command will automatically initialize your project.

It also fetches ANDROID_SDK_ROOT from environment (need for android compilation).

Building

To build your project you should move into project folder

cd ProjectName

and just build it!

hpx-native build

This automatically builds your project for your OS as target platform.

Cross-Compilation

To compile for other OS use

hpx-native build --target linux

Possible values:

OS value aliases
Windows windows win
Linux linux unix
MacOS macosx mac, macos
Android android -

Android compilation

You should have:

  • Android Studio with SDK and NDK;
  • Gradle >= 7.5;
  • Nim >= 2.0.0;

By default hpx-native build --target android supports all android architectures. If you want to disable some architectures then use:

hpx-native build --target android --no-x86_64

Possible architectures

Architecture Disable Argument
x86 --no-x86
x86_64 --no-x86_64
armeabi-v7a --no-armeabi-v7a
arm64-v8a --no-arm64-v8a

If you doesn't want to use gradle building then use

hpx-native build --target android --no-gradle

This command will build only .so libraries.

Building Assets

HappyX Native supports "building" assets - all resources from app directory (by default /assets) and all subdirectories are "sewn" into executable fi 8045 le.

This way you can distribute your application over the network with only one executable file.

This option can be disabled via --no-build-assets

Webview Notes

When building with -d:webview, on Windows, you may notice that the window icon is not set for you. This is due to a limitation within Happyx Native, that will be resolved in the future. Currently, you may manually link in your desired window icon, like how is done in https://github.com/neroist/webview/tree/main/examples/example_application/windows.

In addition, Webview does not currently support window positioning (see webview/webview#642), so the x and y arguments passed to nativeApp will be ignored.

Browsers

If you want choose other browser instead of default - use these flags:

browser flag
Default browser uses by default
Chrome -d:chrome
Edge -d:edge
Yandex -d:yandex
Webview -d:webview

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0