despia-native 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -16
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,18 +1,45 @@
|
|
|
1
1
|
# Despia SDK
|
|
2
2
|
|
|
3
|
-
JavaScript SDK for [Despia](https://
|
|
3
|
+
JavaScript SDK for [Despia](https://despia.com) - the #1 low-code hybrid framework that ships native apps to app stores in one click. This npm package provides command queuing and variable watching capabilities for seamless integration with Despia's 60fps GPU-accelerated native runtime and **25+ deep native device features** including NFC, Siri, HealthKit, RevenueCat, and offline support.
|
|
4
4
|
|
|
5
5
|
## About Despia
|
|
6
6
|
|
|
7
|
-
Despia
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
7
|
+
Despia is the #1 low-code hybrid framework that transforms web applications into fully native mobile apps for iOS and Android. Build your web app in any framework you like (React, Vue, Angular, vanilla JS, etc.) - just connect it with the Despia editor and it will import all your configurations. The visual editor lets you build widgets, shortcuts, and configure dynamic targets into your application without needing any native development knowledge.
|
|
8
|
+
|
|
9
|
+
Ship your app to the App Store and Google Play Store in just one click with automatic CI/CD build processes, automatic updates, and over-the-air updates. Get full source code export with complete Xcode and Android Studio projects in human-readable code - no vendor lock-in, full ownership guaranteed. Built with a fully visual editor, Despia gives you **deep access to native device features** with 60fps GPU-based rendering - all from one codebase.
|
|
10
|
+
|
|
11
|
+
**Ship a native app in a weekend to the app stores with all native features!**
|
|
12
|
+
|
|
13
|
+
### Key Features:
|
|
14
|
+
- **Any Framework Support** - Build with React, Vue, Angular, vanilla JS, or any framework
|
|
15
|
+
- **Visual Editor** - Import your web app config and build widgets/shortcuts visually
|
|
16
|
+
- **No Native Knowledge Required** - Configure dynamic targets without native development
|
|
17
|
+
- **Full Source Code Export** - Get complete Xcode and Android Studio projects in human-readable code
|
|
18
|
+
- **No Vendor Lock-in** - Edit the entire codebase after export, full ownership guaranteed
|
|
19
|
+
- **One-Click Deployment** - Ship to App Store & Google Play Store instantly
|
|
20
|
+
- **Automatic CI/CD** - Built-in continuous integration and deployment
|
|
21
|
+
- **Over-the-Air Updates** - Push updates without app store approval
|
|
22
|
+
- **60fps GPU Rendering** - Hardware-accelerated performance
|
|
23
|
+
- **Deep Native Access** - Full access to 25+ native device features (NFC, Siri, HealthKit, RevenueCat, offline support, etc.)
|
|
24
|
+
- **Single Codebase** - One codebase for iOS, Android, and web
|
|
25
|
+
|
|
26
|
+
### **Deep Native Device Features Include:**
|
|
27
|
+
- **📱 App Links & Deep Linking** - Native app-to-app communication
|
|
28
|
+
- **🎯 Native Widgets & App Clips** - iOS widgets and Android shortcuts
|
|
29
|
+
- **💳 In-App Purchases & Subscriptions** - RevenueCat integration
|
|
30
|
+
- **🔔 Push Notifications & Local Notifications** - Native notification system
|
|
31
|
+
- **📷 Camera Roll & File Downloads** - Direct file system access
|
|
32
|
+
- **🔐 Biometric Authentication** - Touch ID, Face ID, fingerprint
|
|
33
|
+
- **📍 Background Location** - GPS tracking with native permissions
|
|
34
|
+
- **👥 Contact Access** - Read device contacts with permissions
|
|
35
|
+
- **📳 Haptic Feedback** - Light, heavy, success, warning, error vibrations
|
|
36
|
+
- **📊 App Analytics** - Version numbers, bundle IDs, device UUIDs
|
|
37
|
+
- **🖼️ Screenshots** - Native screenshot capture
|
|
38
|
+
- **📱 Status Bar Control** - Color and text styling
|
|
39
|
+
- **🔄 App Reset & Tracking** - User privacy controls
|
|
40
|
+
- **📤 Share Functionality** - Native share sheets
|
|
41
|
+
- **🎨 UI Controls** - Spinners, hide bars, dynamic targets
|
|
42
|
+
- **And 8+ more native features**
|
|
16
43
|
|
|
17
44
|
## Installation
|
|
18
45
|
|
|
@@ -20,6 +47,40 @@ Despia provides native device capabilities to web applications through a simple
|
|
|
20
47
|
npm install despia-native
|
|
21
48
|
```
|
|
22
49
|
|
|
50
|
+
## 🚀 **Build in Any Framework → Make it Native**
|
|
51
|
+
|
|
52
|
+
**Step 1:** Build your web app in any framework you prefer (React, Vue, Angular, vanilla JS, etc.)
|
|
53
|
+
|
|
54
|
+
**Step 2:** Connect your project to Despia editor:
|
|
55
|
+
- **Remote URL:** Add your project's remote URL (gets updated over-the-air automatically)
|
|
56
|
+
- **Upload Project:** Upload your project files directly to the editor
|
|
57
|
+
|
|
58
|
+
**Step 3:** Use Despia to transform it into a native app with full device access
|
|
59
|
+
|
|
60
|
+
**Step 4:** This npm package gives you access to all native functionalities and native data
|
|
61
|
+
|
|
62
|
+
## 📱 **Access 25+ Native Device Features**
|
|
63
|
+
|
|
64
|
+
With Despia, your web app gets **full native device access** without any native development:
|
|
65
|
+
|
|
66
|
+
- **🔐 Biometric Check** - Touch ID, Face ID, fingerprint authentication
|
|
67
|
+
- **📍 Location Services** - Background GPS tracking with native permissions
|
|
68
|
+
- **📷 Camera & Photos** - Direct camera access and photo library
|
|
69
|
+
- **👥 Contacts** - Read device contacts with proper permissions
|
|
70
|
+
- **📳 Haptic Feedback** - 5 types of native vibrations
|
|
71
|
+
- **🔔 Push Notifications** - Native notification system + OneSignal remote push
|
|
72
|
+
- **💳 In-App Purchases** - RevenueCat integration for subscriptions & purchases
|
|
73
|
+
- **🎯 Widgets & Shortcuts** - iOS widgets and Shortcuts
|
|
74
|
+
- **📱 App Store Features** - Version info, bundle IDs, device UUIDs
|
|
75
|
+
- **🎨 Native UI** - Status bar styling, spinners, fullscreen mode
|
|
76
|
+
- **📤 Share & Export** - Native share sheets and file downloads
|
|
77
|
+
- **🔄 Privacy Controls** - App reset and tracking disable
|
|
78
|
+
- **📡 NFC Access** - Near Field Communication for contactless interactions
|
|
79
|
+
- **🎤 Siri Integration** - Voice commands and shortcuts
|
|
80
|
+
- **❤️ HealthKit & Google Fit** - Health data integration
|
|
81
|
+
- **💾 Offline Support** - Offline database and data persistence
|
|
82
|
+
- **And many more native features!**
|
|
83
|
+
|
|
23
84
|
## Usage
|
|
24
85
|
|
|
25
86
|
### Basic Despia Command Execution
|
|
@@ -50,7 +111,7 @@ const contacts = await despia('readcontacts://', ['contacts']);
|
|
|
50
111
|
|
|
51
112
|
// Background Location
|
|
52
113
|
despia('backgroundlocationon://');
|
|
53
|
-
// Use native browser geolocation API (not despia
|
|
114
|
+
// Use native browser geolocation API (not despia native runtime)
|
|
54
115
|
const watchId = navigator.geolocation.watchPosition(
|
|
55
116
|
(position) => console.log('Location:', position),
|
|
56
117
|
(error) => console.error('Location error:', error)
|
|
@@ -138,7 +199,7 @@ Background location tracking requires a two-step process:
|
|
|
138
199
|
// Step 1: Enable native background location tracking via Despia
|
|
139
200
|
despia('backgroundlocationon://');
|
|
140
201
|
|
|
141
|
-
// Step 2: Use native browser geolocation API for actual tracking (not despia
|
|
202
|
+
// Step 2: Use native browser geolocation API for actual tracking (not despia native runtime)
|
|
142
203
|
const watchId = navigator.geolocation.watchPosition(
|
|
143
204
|
(position) => {
|
|
144
205
|
console.log('Location update:', {
|
|
@@ -417,16 +478,17 @@ const deviceInfo: any = despia.deviceInfo;
|
|
|
417
478
|
|
|
418
479
|
## Integration with Despia
|
|
419
480
|
|
|
420
|
-
This
|
|
481
|
+
Despia operates through a streamlined protocol handler system, allowing you to invoke native features using the global `window.despia` object. This npm package is the JavaScript SDK that makes your web app communicate with Despia's native runtime. The SDK provides:es and sdks
|
|
421
482
|
|
|
422
483
|
- **Command Queuing** - Sequential execution of Despia commands via `window.despia` setter
|
|
423
484
|
- **Variable Watching** - Async monitoring of response variables
|
|
424
|
-
- **
|
|
485
|
+
- **Hybrid Framework Compatible** - Works with Despia's hybrid app framework
|
|
425
486
|
- **Direct Access** - Proxy-based access to window variables
|
|
426
487
|
|
|
427
488
|
### How It Works
|
|
428
489
|
|
|
429
|
-
The SDK uses the setter pattern to execute commands:
|
|
490
|
+
Despia's protocol handler system eliminates the need for complex libraries or dependencies, making it compatible across various frameworks and platforms. The SDK uses the setter pattern to execute commands:
|
|
491
|
+
|
|
430
492
|
```javascript
|
|
431
493
|
// When you call:
|
|
432
494
|
despia('lighthaptic://');
|
|
@@ -435,7 +497,7 @@ despia('lighthaptic://');
|
|
|
435
497
|
window.despia = 'lighthaptic://';
|
|
436
498
|
```
|
|
437
499
|
|
|
438
|
-
This
|
|
500
|
+
This streamlined approach triggers Despia's native runtime to handle the native command, providing seamless access to device capabilities directly from your web codebase.
|
|
439
501
|
|
|
440
502
|
## License
|
|
441
503
|
|