QFIELDPLUGIN FRAMEWORK 🚀
Exploring the possibilities
THE ISSUE 🤔
QField has nearly 400,000 active devices on Android alone, not every functionality justifies rolling out to all users
QField’s commitment to delivering a lean UI also means certain UXs are not a good fit by default
THE ANSWER : PLUGINS 🧩
A plugin framework to fulfill those niche needs by the growing number of QField users
Aligns with a core value promoted by OPENGIS.ch and the QField project: freedom
Plugin development and release not bound to cadence of QField releases
TYPES OF QFIELD PLUGINS 🔠
The QField framework offers two types of plugins:
App-wide plugins , activated upon app launch until exit
Project plugins , enabled while a given project is being consumed
QFIELD VS. QGIS PLUGINS 🔍
Python powers QGIS’s plugins with Qt widgets for the GUI
QML & Javascript powers QField’s plugins with QtQuick items for the GUI
QField’s project plugins can be understood as QGIS project macros
APP-WIDE PLUGINS ✨
Installed via the plugin manager by providing a URL pointing to a zipped plugin content
The plugin manager provides a quick way to enable/disable/configure plugins
Permission will be asked prior to activating a plugin
PROJECT PLUGINS 🗃️
Served as a sidecar file to the QGIS project file
Often the easiest way to deploy plugins to users as they are bundled with projects and do not require additional steps to obtain
Permission will also be asked prior to activating a plugin
Pro-tip: rely on QFieldCloud to conduct remote distribution and update of project plugins to a fleet of QField devices
WARNING ⚠️
Documentation remains a work in progress, and at the moment developers will need to go through less than ideal means to identify available items, objects, properties and invokable functions
AVAILABLE QML MODULES 📦
WebSocket
Quick3D
Charts
Sensors