Skip to content

iOS support #47

@ogoffart

Description

@ogoffart

Here's a possible breakdown of tasks that we devised.

  1. Base iOS Port Milestone. This milestone covers the foundation of the port, to allow for the cross-compilation of a Rust based Slint application, deployment to a device, and showing primitive graphics on the screen, including text labels. Rendering is to be done with Skia, for GPU acceleration and native looking text rendering.
  • Create or modify an existing example to cross-compile and deploy to the device, re-using existing crates and functionality in the Rust ecosystem.
  • Set up the CI system to test the build (and optionally deployment to the emulator).
  • Document how users can write applications for iOS using Slint.
  1. Text Input Integration Milestone. This milestone covers the work to allow the user to interact with text input fields in Slint in a way that is consistent with other iOS applications.
  • Show or hide the iOS system virtual keyboard depending on focus on text input fields.
  • Ensure visibility of text input fields when focused and the virtual keyboard occupies a part of the screen. This includes scrolling and resizing the user interface.
  1. Add support for notches and orientation in the Slint language by exposing the areas and orientation to Slint files.

  2. Write documentation Documentation for Mobile Development #10117

  3. Create slint-viewer as iOS application to enable live-preview on iOS

  • 4.1 Make slint-viewer work on iOS with a minimal UI.
  • 4.2 Develop a protocol that permits sharing a slint file and all dependencies (including images & fonts) from our VS code extension to slint-viewer running on IOS. (Remote controlled slint-viewer #9880)
  • 4.3 Publish slint-viewer on the iOS App Store.

Sub-issues

Metadata

Metadata

Assignees

Labels

roadmapTickets that we can use for roadmapping

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions