Skip to content

Natives for electron and cordova apps.

License

Notifications You must be signed in to change notification settings

js-soft/ts-native-access

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Native

GitHub Actions CI

This monorepo consolidates the following packages used for acessing native operating system functionalities in hybrid web-apps:

Package Version
abstractions version
commons version
cordova version
electron version
web version

Documentation

The packages above provide the following modules:

Module Fully Operational Partly Operational
Bootstrapper: initializes native features and creates a folder structure on the filesystem. AndroidiOSLinuxMacWindowsWeb
Authentication: utilizes fingerprint scanners to verify the identity of the user. AndroidiOS LinuxMacWindowsWeb
DetailsDesktop applications can not access a fingerprint scanner and show a confirmation dialog instead
Device Info: provides information about the device like language settings or operating system. AndroidiOSMacWindows LinuxWeb
DetailsSome attributes like manufacturer and model are not available
File Access: provides the most common file system operations like delete file, read file, remove file, etc. AndroidiOSMacWindows Linux Web
DetailsFor the web browser, the file system is emulated inside the indexeddb.
Keychain Access: stores key-value pairs in the native keychain of the device. AndroidiOSMacWindows Linux Web
DetailsThe web browser can not access the keychain. It is emulated using local storage instead.
Local Notification: show notifications to the user while the app is open or in the backgound and handle user actions such as text input, button press or notification selection. AndroidiOS Web MacWindows Linux
DetailsOn desktop, text input is not available
Remote Notification: receive and process remote push notifications. iOS Android MacWindows LinuxWeb
DetailsRemote push notifications can not be forwarded to and processed by the web app if the application is killed. However, notifications are correctly displayed to the user.
Configuration: provides a configuration object defined during design time and the option to store and load additional configurations created during runtime. AndroidiOS MacWindows LinuxWeb
Database: create a lokijs database with an integrated persistence adapter. AndroidiOS MacWindows LinuxWeb
EventBus: handle events like incoming remote push notifications. AndroidiOS MacWindows LinuxWeb
Logger: log information to the console and store it on the filesystem. AndroidiOS MacWindows LinuxWeb
QR-Scanner: accesses the camera of the device to scan qr-codes. AndroidiOS MacWindows LinuxWeb
Launch Options: start the app trough an url. AndroidiOS MacWindows Linux Web
DetailsNot implemented.

Setup

Simply run npm i in the root folder. The npm workspaces feature will link coherent packages for you.

Tests

All

run npm run test --workspaces in the root folder

One Package

  1. cd in the package directory
  2. run npm run test:local

Publishing

After a PR is merged the Pipeline will push all packages that were not pushed to the registry before.

Contribute

Currently contribution to this project is not possible. This will change soon.

License

You can find the licenses of the individual packages in the corresponding sub-folder's README.md file.