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. 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.
  • 4.3 Publish slint-viewer on the iOS App Store.

Metadata

Metadata

Assignees

No one assigned

    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