Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GUI Programming with Python—The Road Ahead

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

GUI Programming with Python—The Road Ahead

Talk given at PyCon APAC 2015 in Taipei, Taiwan.

Avatar for Tzu-ping Chung

Tzu-ping Chung

June 05, 2015
Tweet

More Decks by Tzu-ping Chung

Other Decks in Programming

Transcript

  1. Terminology • User interacts with a program through a user

    interface (UI) • A UI based on images is a graphical user interface (GUI)
  2. What I Want • Native UI and UX • Portability

    • Ease to deploy • Pythonic API
  3. Tkinter • “Python’s de-facto standard GUI” • Native nowhere •

    Themed Tk • Binding to Tcl/Tk • Lean, but may be lacking
  4. Platform-specific • PyObjC on OS X (Cocoa) • Win32API on

    Windows • PyGObject on Gnome (GTK+) • Native UI/UX • Needs to deploy C binding • Very weird API
  5. Special Interpreters • .NET via IronPython (Windows) • AWT/Swing via

    Jython • Weird API • Compatibility with other libraries
  6. Binding to Third-party • PyQt and PySide to Qt •

    wxPython to wxWidgets • Works quite natively • Cross-platform application code • Weird API • Needs to deploy tons of things
  7. “Let’s Build Everything” • Kivy and Pyglet • Cross-platform application

    code • Nice Pythonic API • Needs to deploy C binding • Not native (and they don’t care)
  8. So?

  9. What I Want • Native UI and UX • Portability

    • Ease to deploy • Pythonic API
  10. The Solution (IMO) • Dynamic binding to native GUI •

    CPython compatibility • No non-Python dependencies • Wrapper API on top
  11. ?

  12. Recap • What we have is not good enough •

    Proposed solution • Python on mobile OSs