Python + Qt
PySide2 vs PyQt
2 portages dispo: PySide2 et PyQT5.
- PyQT5 s'installe normalement mais aurait une licence moins cool. Par contre pyqt5-tools (qui comporte les outils QML) ne s'installe pas avec pip.
Exemple de pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
pyqt5-tools = "==5.11.3.1.4"
PyQt5 = "==5.11.3"
[requires]
python_version = "3.7"
- PySide2 est impossible à installer avec Pipenv.
QWidget vs QML
QWidget: on déclare dans le code les widgets qui forment l'application.
- look distinctif (aka moche)
QML: langage descriptif basé sur Javascript
- look natif de la plateforme (utile pour iOS par exemple)
- modèle MVC
- on peut embed du QML dans un QWidget mais c'est vraiment chercher les problèmes (utile en cas de migration notamment)
- en général, les applis possèdent 1 seul gros fichier QML (mais on peut aussi les splitter)
other
Qt Creator
HTML5/JS vs Qt: pas de multibrowser testing à faire, embedded use (smaller CPU for Qt) Usages: Terminaux agriculture, in flight entertainment, Nokia, Nintendo DS, Mindstorm, IVI voiture, e-gym, Les web apps: Netflix, Livebox FB utilise du NATIVE Netflix: nécessite proprietary rendering engine (Gibbon)