Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tonai/chinese-events
Chinese events app
https://github.com/tonai/chinese-events
Last synced: 4 days ago
JSON representation
Chinese events app
- Host: GitHub
- URL: https://github.com/tonai/chinese-events
- Owner: tonai
- Created: 2024-04-25T08:03:32.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-05-30T09:41:21.000Z (8 months ago)
- Last Synced: 2024-05-31T06:39:29.102Z (8 months ago)
- Language: TypeScript
- Size: 1.01 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chinese events
https://tonai.github.io/chinese-events/
## Building
### Bubblewrap
Will download Java and Android SDK in `~/.bubblewrap`.
In the `packages/pwa` folder run:
```bash
npm run build
npm run bubblewrap:init # Init android project from deployed PWA
npm run bubblewrap:build # Build APK
```APK is generated in `android` directory.
### Capacitor
Prerequisites:
- Android Studio with SDK : https://developer.android.com/studio?hl=fr
- Java 17 : https://www.oracle.com/fr/java/technologies/downloads/In the `packages/capacitor` folder run:
```bash
npm run build # Build local Vite project
npm run capacitor:init # Create Android project
npm run capacitor:icons # Generate icons
npm run capacitor:sync # Copy Vite build in Android project
npm run capacitor:open # Open project on Android Studio
```Then build with capacitor (do'nt works):
```bash
npm run capacitor:build -- --keystorepath=[...] --keystorealias=[...] --keystorepass=[...] --keystorealiaspass=[...]
```APK is generated in `android/build/outputs/apk/release` directory, but the generated app can't be installed.
Or use Android Studio to build the app (works):
- Go to Build > Generate Signed Bundle / APK
- Select APK
- Add keystore
- Select debug or releaseAPK is generated in `android/app/debug` or `android/app/release` directory.
## Comparison
### Bubblewrap
pro:
- easy to use
- easy to configure (use manifest.json...etc.)
- very lightweight : ~400ko APK / ~700ko installed
- can be installed through the web appcons:
- limited to PWA capabilities
- needs to deploy the app on the web
- browser header bar (can be removed: https://dev.to/hyunsoong_i/twa-apps-how-to-hide-the-url-bar-browser-bar-and-display-app-as-full-screen-4cm3)
- iOS support is experimental### Capacitor
pro:
- full-screen app
- based on web code
- access to native sdk with pluginscons:
- needs Android Studio
- needs more setup (use `@capacitor/assets` for icons...etc.)
- needs to configure the app with Android Studio
- heavier: ~4.3Mo APK / ~10.7Mo installed### React-native
pro:
- full-screen app
- access to more native feature (like the status bar...etc.)
- access to native features with Expo
- access to native sdk through the android projectcons:
- also needs Android Studio
- needs some setup
- use react-native and Expo components instead of web standards
- a lot heavier: ~53.5Mo APK / ~64Mo installed