-
Notifications
You must be signed in to change notification settings - Fork 908
Open
Description
This is a developer experience issue for now.
Problems
- The Qt-based main app needs too much time too build and increases the development feedback loop drastically. A native macOS host application for our file provider extensions usually (clean) builds in less than 20 seconds.
- It's handling in the daily workflow is cumbersome, setting up accounts and wiping environments and creating builds happens dozens of times a day.
- The overall project is daunting and complex while the file provider extension mostly is like a self-contained client making up only a minor part of the greater whole. Most of the work concerning it does not involve changes in the larger extend of the project.
Goals
- Significantly accelerate the development feedback loop to improve developer experience and productivity in regard to the file provider extension. The whole Qt stack and build system can be circumvented when quickly wanting to try out changes.
- Lower the entry barrier for contributors to the file provider extension. People can contribute to the Nextcloud VFS client by only knowing Xcode, Swift and a tiny amount of Objective-C. Much less requirements of knowledge.
- Design it as a minimalistic developer tool and pure addition to the project, not a replacement to the actual main app which still can be worked with and tested as before.
Suggestions
- Add a new native macOS app target to the existing NextcloudIntegration Xcode project which already is used and required for the macOS system extensions.
- That app does nothing more than manage file provider extensions to enable their testing and development.
- It is comparable to the official code example by Apple.
I wrote this issue initially when I waited 53 minutes for a desktop client build on my development machine. 😅
Metadata
Metadata
Assignees
Type
Projects
Status
🧭 Planning evaluation (don't pick)