Kivy: Building GUI and Mobile apps with Python
Intro
Python library
- for building gui apps (think qt, gdk,processing)
- build from ground up for latest tech like gpu/GLes, multi-touch
- core parts (rendering, events/properties) written in c/cython
Community
- great and active community on ML, IRC, github
- good mix of hackers, professional/business, and student users
- great documentation (with some translation even)
Some showcase apps screenshots
- mobile, same app on iOS and android
- large display / multit-touch
- desktop / presentation app being used (love the metaness)
Main Features
Pure GPU accelerated rendering
- graphics compiler architecture, a sort of JIT for drawing instructions
- all rendering using opengl ES
- runs mostly anywhere these days
- render pipeline uses shaders, vbo, fbo, etc
- very powerful for experienced GL hackers
Cross Platform
- Linux, OSX, Windows, android, iOS
- runs, and support each systems input events
- input events are mapped to generic ones
- custom/platform specific data still accessible
- Mobile: same python app on iOS and android
- build straight to package
- accepted apps on apple and google app stores
- Supports new and future Input Devices
- classic GUI toolkits are build on mouse/keyboard paradigm
- Kivy widgets are multi-touch/pointer from start
- Also does Mouse/Keyboard well, native + virtual keyboard
Simple but Powerful Widget Tree
- Property/Event autobinding
- widget properties automatically create events when changed
- binding keeps data <--> view in sync
- Collection of easily customizable base widgets:
- labels, images, buttons, layout, text-input, etc
KV language
- Seriously an additional DSL?
- Yes, but dont worry...its pythonic and you will love it
- Makes certain UI building tasks very easy and efficient
- automatic property binding
- quick wireframing, working prototype for production
- styling/customization of specific / custom widgets classes
Where to go next
Website:
- http://kivy.org
- http://kivy.org/docs
Getting involved:
- #kivy on freenode
- kivy-users@googlegroups.com
- kivy-dev@googlegroups.com
- http://github.com/kivy
Never giveup. Thanks the world.