Live data from Hacker News

100 Days of SwiftUI

hackingwithswift.com

41–50 of 110 posts

Re: 100 Days of SwiftUI

#41
post #12
post #4

Tangent but I'm holding out from learning Swift until I see how the "Cross platform UI" wars shake out. We've got at least Kotlin, Dart, and JavaScript all battling it out (via Kotlin Multiplatform, Flutter, React Native) to be the king of UI languages across all platforms. I really like Swift though (from the little I've learned), so it's too bad it doesn't really have a cross platform UI story yet. (I could learn a…

I’ve been dabbling in this space for a long time and I’ve become convinced there will be no good cross-platform mobile UI story. The UIs are too different for there to be a one size fits all solution. (as an aside I really like Swift too and have been enjoying noodling around with it as a server language. Probably rarely a wise choice given that it isn’t their focus but there is some attention given: https://swift.or…

Seconding this. The cross platform experience has been so abysmal for so long, that I question whether the benefits of "easier to support" are even real considering the generally worse experience, longstanding bugs that are harder to nail down, and the added time of having to switch mental models between cross platform and the native code you're going to have to eventually write.

I'm at the point now where native apps are still back in heavy consideration, as it's far more straight forward to cascade launch your products on different platforms than it is to half-ass everywhere.

Re: 100 Days of SwiftUI

#42
post #14

It's a good course, I went through it and soon after had an app published in the App store. (I assume it's still not updated with the improvements that came to SwiftUI with iOS 17, but not 100% about that.)

What's your app about?

It's a mood tracking app. Saturated market, but it was a good first app for me because it's fairly simple.

Re: 100 Days of SwiftUI

#43
post #4

Tangent but I'm holding out from learning Swift until I see how the "Cross platform UI" wars shake out. We've got at least Kotlin, Dart, and JavaScript all battling it out (via Kotlin Multiplatform, Flutter, React Native) to be the king of UI languages across all platforms. I really like Swift though (from the little I've learned), so it's too bad it doesn't really have a cross platform UI story yet. (I could learn a…

The only cross-platform UI that is likely to be feasible to use long term is HTML/CSS/JS. That comes with significant downsides in terms of display fidelity. But that is going to be the case (to some degree) with any cross-platform toolkit.

Re: 100 Days of SwiftUI

#44

Earlier quoted context omitted.

> it was dead on arrival I understand holding out hope for year of the Linux desktop, but ignoring Linux has never really hurt anybody, has it?

Well, depends. If I'm evaluating cross-platform UI libraries, Linux support is a must have, even if the market might be small. Electron, Qt, Anything Java, Avalonia, wxWidgets, all the native webview wrappers, etc. All have Linux support.

Tauri looks great (Rust, webkit & js)

Re: 100 Days of SwiftUI

#45
i used this to learn swift myself and wished there was a newsletter to send out a reminder for me. instead, i used this apple script to generate a reminder every day for me. you can open Script Editor on your mac and run this. it will start today and schedule a new alert with the appropriate link :)

```AppleScript

set baseURL to "https://www.hackingwithswift.com/100/swiftui/"

set numberOfDays to 100

tell application "Reminders"

set swiftList to make new list with properties {name:"100

Days of Swift"}

repeat with i from 0 to numberOfDays

  set dayNumber to "Day " & i

  set dayLink to baseURL & i

  set reminderDate to (current date) + (i \* days)


  tell swiftList to make new reminder with properties {name:dayNumber, body:dayLink, due date:reminderDate}

 end repeat
end tell

```

Re: 100 Days of SwiftUI

#46
post #4

Tangent but I'm holding out from learning Swift until I see how the "Cross platform UI" wars shake out. We've got at least Kotlin, Dart, and JavaScript all battling it out (via Kotlin Multiplatform, Flutter, React Native) to be the king of UI languages across all platforms. I really like Swift though (from the little I've learned), so it's too bad it doesn't really have a cross platform UI story yet. (I could learn a…

The Browser Company is currently working on a Swift on Windows

Re: 100 Days of SwiftUI

#47
post #4

Tangent but I'm holding out from learning Swift until I see how the "Cross platform UI" wars shake out. We've got at least Kotlin, Dart, and JavaScript all battling it out (via Kotlin Multiplatform, Flutter, React Native) to be the king of UI languages across all platforms. I really like Swift though (from the little I've learned), so it's too bad it doesn't really have a cross platform UI story yet. (I could learn a…

I've worked in mobile since 2004 (not a typo, '04). The 'one platform to rule them all' has been just around the corner the entire time. As was already said, don't hold your breath. All of that said, if you are time constrained and really want to look at a single thing, I would go with Flutter. It impressed me when I cranked out a side project with it a year or so ago. Hopefully they continue to put effort towards it…

I'm still holding out for Xamarin

Re: 100 Days of SwiftUI

#48

Earlier quoted context omitted.

Well, depends. If I'm evaluating cross-platform UI libraries, Linux support is a must have, even if the market might be small. Electron, Qt, Anything Java, Avalonia, wxWidgets, all the native webview wrappers, etc. All have Linux support.

Tauri looks great (Rust, webkit & js)

Oh yes, it is my preferred solution these days. Web crap is annoying as heck to work with though...

Re: 100 Days of SwiftUI

#49
post #13

Earlier quoted context omitted.

I've worked in mobile since 2004 (not a typo, '04). The 'one platform to rule them all' has been just around the corner the entire time. As was already said, don't hold your breath. All of that said, if you are time constrained and really want to look at a single thing, I would go with Flutter. It impressed me when I cranked out a side project with it a year or so ago. Hopefully they continue to put effort towards it…

From our experience Flutter apps are easy to start with but quite hard to maintain. The core system keeps changing so much you are constantly having to fix things and dealing with broken dependencies. Would never use it for anything important.

Our experience is opposite. We started with GetX because we were new. Then moved to Riverpod/Go-Router as we gained experience. We have a set-up of four modules (shared lib; shared ui; app1 and app2) for two apps targeting web+ios+android; about 50k LoC @ 160 line length.

Obviously there were a lot of friction when moving out of GetX, but upgrading things have always been easy. Usually at most one day worth of work (worst case). We don't upgrade as soon as a new flutter version is released. We give it a month at least and then upgrade.

During upgrade, most of the problems usually come from 3P dependencies which interact with native such as package info plus. Also, we don't add dependencies unless we really need to. I think we are at ~30 total between all modules.

On the other hand, our react projects are forever in dependency hell. Much larger project, yes but way too many dependencies and too many things break during upgrade.

Re: 100 Days of SwiftUI

#50
post #4

Tangent but I'm holding out from learning Swift until I see how the "Cross platform UI" wars shake out. We've got at least Kotlin, Dart, and JavaScript all battling it out (via Kotlin Multiplatform, Flutter, React Native) to be the king of UI languages across all platforms. I really like Swift though (from the little I've learned), so it's too bad it doesn't really have a cross platform UI story yet. (I could learn a…

I’ve been writing mobile apps since 2013. Cross Platform UI is a myth. Just use a framework and language you are familiar or comfortable with. I prefer native so I just stick to that. You are sure to be most productive in languages you are familiar with rather than any new/old cross platform UI framework. Just be cognizant of the fact that all of them have trade offs.
Post reply on HN