- cross-posted to:
- memmy@lemmy.ml
- cross-posted to:
- memmy@lemmy.ml
cross-posted from: https://lemmy.ml/post/1249875
Feel free to download and test yourself by joining the TestFlight group.
https://testflight.apple.com/join/6jaRU6rD
Please leave feedback either here or on GitHub.
Note this is very much a work in progress still and this is very barebones. I plan to continue work and submit nightly builds on TestFlight, so be on the lookout for the new releases.
Happy scrolling!
There are a few things that are a bit harder to do with RN given a bit of easy access to APIs, but you can always make modules to interface with native code. For one, this little image thing I used is just pulled from a library. It’s a bit iffy, and I am writing a replacement for that now. Same with markdown rendering.
As far as the UI itself, it gets pretty close to what you’d see with a native UI, if not exact. But I certainly do understand why from a dev standpoint you’d like to use SwiftUI, it’s great!
If there’s anything that you’d like to see in the UI though let me know!
It’s all very nitpicky, but for me, that’s what differentiates a good UX from a great UX. Just “close” isn’t really enough for me personally.
Take the swipe gestures on comments for example:
Let’s take a look how they look like:
Apollo | Memmy
Here are the main differences:
I know that all of these things are achievable, but I feel like a lot of this would be “more correct” by default when using SwiftUI (the sliding mechanism is probably using a lot of custom code in Apollo as well, but still).
Another example are grouped lists (say Profile > Subscriptions). Tapping on an entry instantly highlights it. In native SwiftUI apps, the list items have a small delay before highlighting. While this might seem odd, it’s less irritating when scrolling with an ever-so-slight delay between tapping the display and beginning to scroll. Also, the separators between elements starts where the text starts in SwiftUI (by default), the arrow icon is thicker etc.
Again, this is very likely achievable with React Native, but with SwiftUI this is the default behavior.
As I said it’s all very nitpicky, especially considering that Memmy is in a very early state. I feel kind of bad for having so much criticism over issues so minor. But these minor things is what made Apollo so great for me, even over all other third-party apps that were also good, but not great in my opinion.