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
posted @ 2013-08-18 22:45  小糊涂的超级blog  阅读(461)  评论(0编辑  收藏  举报