Ptt-official-app / Ptt-iOS

37 stars 7 forks source link

iOS deployment target #44

Closed denkeni closed 1 year ago

denkeni commented 2 years ago

Based on previous internal anonymous developer survey (2021-04), there were 2 out of 3 felt constrained with iOS 9 deployment target requirement. Also referencing another iOS Developer Community Survey 2020, so the deployment requirement was updated to iOS 14.

I also proposed to keep the old compatibility code for a while, in order to respond to iOS backward compatibility requests from users, if there’s any, after the app is public on the App Store (internal discussion ref).

Some people argued users on Ptt are more “geeky” and thus more willing to update to the latest OS version. I would doubt the speculation, and hope the official app would be able to target at broader audience.

As measured by the App Store on June 3, 2021, there were 15% of all devices use iOS 13 or earlier, and 21% of all devices use iPadOS 13 or earlier. Since Apple has continued to support iOS 14 for important security updates, the market share ratio may not change much after iOS 15 release.

The official app also competes with other 3rd party Ptt apps, for minimum iOS version support:

This issue would be open for comments from the community, and for revisiting when necessary.

denkeni commented 1 year ago

Time flies. Apple just updated with latest data. As measured by devices that transacted on the App Store on February 14, 2023, there were 28% of all devices use iOS 15 or earlier, and 50% of all devices use iPadOS 15 or earlier.

For other 3rd party Ptt apps, minimum iOS version:

As of 23 Jan 2023, Apple has continued to support iOS 12, 15 and the latest iOS 16. (source: Apple security updates)

Lastly, while Xcode 13 supports on-device debugging for iOS 9 and later, Xcode 14 supports on-device debugging in iOS 11 and later. Xcode 14.1 will be required for App Store submissions, starting April 2023. (source: Apple Developer News and Updates)

xxi511 commented 1 year ago

there were 28% of all devices use iOS 15 or earlier.

Well... it is 20% of iOS 15 and 8% of earlier.
20% is a huge number, it makes sense to support iOS 15 or iOS 14 (by now).

But about earlier version.... can we drop them?
So we can use SwiftUI.
When can we have decision?

denkeni commented 1 year ago

The deployment requirement has been iOS 14 so SwiftUI can be used, for quite some time. If you’re keen to drop support for iOS 13 or earlier, please update #43 so it can be merged.

xxi511 commented 1 year ago

ok, I asked because you said hope the official app would be able to target at broader audience.. If this is not the case nowadays
That is great!

Then I would like to raise another discussion.
Don't use Texture to develop new things.

If the deployment target is iOS 14, SwiftUI will be another strong option.
Then this project has 3 layout styles, Texture, UIKit based, and SwiftUI.
I have to say this increases learning curve

I admit I don't have enough knowledge of this library, but from my understanding, this library provides better performance. But seriously, is PTT complex enough that we need to rely on this library to improve performance? Second, I am not sure how many developer use Texture, this increases learning curve.
Last, Texture is not active, we all know iOS/ Xcode update could break something, what if it breaks one day and no one fix it (e.g. Unit test issue we had), it works don't upgrade 😛

denkeni commented 1 year ago

As for Texture, that'll be another issue. Please see #59.

xxi511 commented 1 year ago

Nice, I think this issue can be closed?