Build native mobile apps in python
Project description
# enaml-native Build native mobile apps in python using enaml and native widgets! [](https://travis-ci.org/codelv/enaml-native) [](https://codecov.io/gh/codelv/enaml-native)
[](https://youtu.be/2IfRrqOWGPA)
The goal of this project is to be an alternative to using [kivy](https://kivy.org/) for building mobile apps with python.
I made this because wanted to have a more “React Native” like environment that: 1. Uses python 2. Uses native widgets (Android / iOS) 3. Can be run from Android Studio / XCode (ie no bootstraps) 4. Uses enaml’s models, and declarative and dynamic widget framework instead of kvlang 5. Versioned “packages” and “recipes” than can be installed/updated/removed to make repeatable builds
> Android apps are currently working and have a lot of components. iOS is currently broken, and is limited to only a few components at the moment
### Docs and Examples ###
See the [project site](https://www.codelv.com/projects/enaml-native/). There’s also some short tutorials and examples on [youtube](https://www.youtube.com/playlist?list=PLXUaMWWFaOjT2WdIrJdTYjEMJmrjuvVz0).
> Need help? Try the gitter group https://gitter.im/enaml-native/Lobby
### Add-on Packages ###
Enaml-native was redesigned so separate “packages” can be created and installed to add new native widgets and other apis. Similar to the [kivy-garden](https://github.com/kivy-garden/) but it borrows the concepts of the [react-native package manager](https://github.com/rnpm/rnpm).
Packages can be created using the enaml-native init-package <your-package-name> command. Once made they can be installed with pip or the enaml-native install command (recommended).
#### Packages ####
GoogleMap support via [enaml-native-maps](https://github.com/codelv/enaml-native-maps)
MPAndroidChart graphing via [enaml-native-charts](https://github.com/codelv/enaml-native-charts)
ZXing barcode scanning via [enaml-native-barcode](https://github.com/codelv/enaml-native-barcode)
Iconfiy icons via [enaml-native-icons](https://github.com/codelv/enaml-native-icons)
Created a package? Send a PR and add it here!
### Features ### 1. Enaml’s features: declarative syntax, conditional and looper rendering, automatic data binding 2. Layouts with flexbox 3. Live app code reloading (like react-native’s live reload) 4. Versioned package management and native library linking
### Apps ###
Apps using enaml-native can be found [here](https://www.codelv.com/projects/enaml-native/apps/).
### Demos ### 1. Try out the beta demo app here [on google play](https://play.google.com/store/apps/details?id=com.frmdstryr.enamlnative.demo) 2. Try out code without installing the android SDK or NDK via the [Python Playground](https://play.google.com/store/apps/details?id=com.frmdstryr.pythonplayground)!
### Thanks to ###
This project is built on top of several existing projects:
[enaml](https://github.com/nucleic/enaml)
[python-for-android](https://github.com/kivy/python-for-android/)
[pybridge](https://github.com/joaoventura/pybridge)
[react-native](https://github.com/facebook/react-native) (inspiration)
[pyjnius](https://github.com/kivy/pyjnius/)
[kivy-ios](https://github.com/kivy/kivy-ios/)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file enaml_native-2.11.14-py2-none-any.whl.
File metadata
- Download URL: enaml_native-2.11.14-py2-none-any.whl
- Upload date:
- Size: 600.1 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7983b6462f6912df4a6f5ba27f693a6a30ac23fd302cff3b1bc0e690aa1178ac
|
|
| MD5 |
b26e8c72be0dcc706c57dd9370d5132c
|
|
| BLAKE2b-256 |
89d488d337e8a64e7135e70a712fbaead181bf6f63195d8742f75e110df3d388
|