Hacker News new | ask | show | jobs
by lovskogen 2028 days ago
What was the biggest benefit of using Swift?
1 comments

The learning curve was quite easy (when we started building it, no one in the dev team had experience with iOS before). Architecture wise, it fits _really well_ with functional reactive programming (RxSwift or Combine + MVVM). And a lot of things like animations are very straightforward to do.

The downside is whenever you want to do something quite standard in UIKit that doesn't exist yet in SiwftUI. The "carousel" that we have at the start of the app is a UIPageViewController in UIKit, but we had to re-implement it ourselves in SwiftUI.

Also there are weird bugs and crashes. A lot. I think in the end, the productivity gain from SiwftUI evens out to the same productivity as UIKit due to the time spend on those bugs/limitations.

We also planned to build widgets very soon, and having the same code base (they are SwiftUI only) is definitely going to be a plus.

Any reason you decided on two separate code-bases (iOS & Android) with a small team versus building one in React Native or another hybrid framework. I'd think that the latter would be a better choice but wanted to see what went in to your decision making.
yeah good question, we actually debated quite a bit on this. In the end, we want to build the best UX possible (we realized it's one of the value prop of our product), and we felt that going native would be better mid & long term because at some point, you hit a threshold with those react native/hybrid and it makes more time to polish things out.

Also right when we started (in Feb), we had to implement Apple Sign-in, and the UX around it for React native or Hybrid framework was absolutely terrible.

In the end, I still think it was a good choice: while we compromise and make people wait a bit more for Android, it gave our (small) team a lot more focus. We learn and make mistakes on one platform, iterate faster on it, and once we feel comfortable with what we've done on iOS, we'll roll it out to Android (which we plan to do in Jan/Feb next year).

Cool, thanks for the detailed response. As a dev I'm always curious about the decision making for startups that are choosing between hybrid and native. Seems like the best decision for that is unique to each project.
Glad it helps! If we didn’t put so much focus on UX (i.e: if we were building a “boring” typical B2B education tool), we would most likely have gone with React Native (we also have a lot of expertise with React in the team). But we talked with people, and realized that they use our app at the same time that they go on IG, Snapchat or TikTok. What that means for us is that our UX needs to be just as good or even better than those big players if we want to compete on “screen time”.

That’s already quite hard to do with a 2 people tech-team, so adding on top of that limitations from cross-platform frameworks would have been shooting ourselves in the foot.