MaxMorais / enaml-native

Build native mobile apps in python with enaml

Home Page:https://www.codelv.com/projects/enaml-native/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

enaml-native

Build native mobile apps in python using enaml and native widgets! Build Status codecov

Python Playground

The goal of this project is to be an alternative to using kivy 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. There's also some short tutorials and examples on youtube.

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 but it borrows the concepts of the react-native package manager.

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

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.

Demos

  1. Try out the beta demo app here on google play
  2. Try out code without installing the android SDK or NDK via the Python Playground!

Thanks to

This project is built on top of several existing projects:

  1. enaml
  2. python-for-android
  3. pybridge
  4. react-native (inspiration)
  5. pyjnius
  6. kivy-ios

About

Build native mobile apps in python with enaml

https://www.codelv.com/projects/enaml-native/

License:MIT License


Languages

Language:Python 87.9%Language:Java 10.9%Language:C 0.8%Language:Makefile 0.3%