WriteFreely SwiftUI Multiplatform App (Mac, iPhone, iPad)

Following up on the WriteFreely Swift package, I’m happy to announce that work is starting on a WriteFreely client app for Mac, iPhone, and iPad!

We’re building this as a SwiftUI multiplatform app targeting iOS/iPadOS 14 and macOS 11, coming this fall. This is a totally new way to build apps for Apple platforms, and I’m personally pretty excited by the idea of being able to build apps for three different devices out of a common codebase.

The goal is to launch this on the App Stores in time for the release of iOS 14 and macOS 11. That’s a tight deadline, so we’re limiting the initial scope of the app to a subset of actions that are most important to WriteFreely users:

  • logging into your WriteFreely account
  • creating a new draft locally
  • publishing local drafts to the server, either as a draft or to a collection
  • updating your published drafts

If you’re interested in helping build this, the source code is in this GitHub repo — the project is open to developers of all experience levels, just let me know in this forum topic!

5 Likes

This is great news. I am looking forward to it. Its the one thing thats lacking at the moment. Thanks.

2 Likes

I posted a little update on how things are going: https://write.as/angelo/the-promise-vs-reality-of-swiftui-multiplatform

By the way, if you’d like to contribute to the project, please don’t hesitate! I wrote a bit more about how to contribute here.

Another progress update! You can read about how things are going here, and I thought I’d share a few screenshots in this thread.

:point_up_2: The app running on iPhone and iPad. You can choose a collection to view posts in that collection, or choose “Drafts” to see posts that don’t belong a collection, just like on WriteFreely. There’s also an “All Posts” library, to show you, as you might guess, all your posts.

:point_up_2: Here it is, running on the Mac. Same kind of navigation setup — a sidebar to choose the collection, which populates a list of posts in the selected collection, and then an editor for the selected post. Notice there are two fields in the editor: one to edit the title, and another to edit the content. This is a departure from the web app.

:point_up_2: Yep, it supports “Dark Mode” — this feature mostly comes for free when you’re using standard SwiftUI elements, but I had to use a bit around of a workaround for Xcode/iOS/macOS beta 4 to let you choose if you wanted the app to always use a light scheme, always use a dark scheme, or simply follow the OS setting. Not sure if that bug’s been fixed in later betas.

There’s still lots to do, but it’s coming along!