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

GUI Programming with Python—The Road Ahead

GUI Programming with Python—The Road Ahead

Talk given at PyCon APAC 2015 in Taipei, Taiwan.

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