Tool GUI library evaluation

From Post-Apocalyptic RPG wiki

Jump to: navigation, search

Infrastructure proposal.png This article covers an infrastructure proposal.

Infrastructure proposals are suggestions how to improve the project infrastructure; this also includes the code toolchain and tools for code documentation. Infrastructure proposals will be evaluated by the project management department and implemented down the line if they have been agreed upon.

This infrastructure proposal evaluates our options in terms of GUI libraries we could use for tools that will be part of the asset pipeline.

Contents

Rejected gui libraries

In the interest of saving time we decided to focus on evaluating no more than two gui libraries. In addition to the fact that most of the current development team has had much more experience with Qt, the following sections document gui libraries that were rejected for consideration and the reasons why they were rejected.

Tkinker

  • Not expressive enough, too simple;
  • Questionable cross-platform support;

GTK

  • Limited widget set;
  • Bindings not well documented;
  • Somewhat difficult to install on Windows;
  • Few PARPG developers experienced with GTK;

WxWidgets

  • Takes more effort than Qt to skin;
  • Most PARPG developers preferred Qt to WxWidgets;

Requirements for the GUI library

  • Python bindings
  • Tools to assist in creating interfaces that support generating Python code.
  • Available on Win32, Linux, Mac
  • Free of charge
  • Compatible with GPL 3.0

Contenders

  • Pyside
  • Pyqt

Developer experience

PySide

  • Bindings for more component libraries (mobility, QML, MeegoTouch Framework) than PyQt
  • More liberal license (LGPL vs GPL) than PyQt
  • Explicit plans to work with Python 3

Pyqt

  • Faster than PySide
  • Smaller than PySide
  • More mature bindings than PyQt (PySide only recently got Windows support)
Personal tools