3 ms·
> It took a few hours to fall in love with SwiftUI. > It was in development for 12 months. It would have been less if SwiftUI just gave. > At the end, we did
by SpaghettiX 4y ago
> It took a few hours to fall in love with SwiftUI.
> It was in development for 12 months. It would have been less if SwiftUI just gave.
> At the end, we didn’t drop it for a couple of reasons. We were too deep into the process. Being a bootstrapped operation that was already severely behind schedule, we couldn’t afford to restart.
This may be useful to someone trying to create something:
In terms of software engineering, you took "a few hours to fall in love with SwiftUI." There could've been more evaluation done: reviewing existing complaints of SwiftUI, implementing the most challenging parts of your UI as a sanity check, or trying it in a small side project, hiring a developer that has used it before, etc. Also, why count lines of code, as opposed to describing features and challenging technical details. Lines of code doesn't signal anything (e.g. effort, quality, time spent, features, is it code generated?, etc.). Every line is an extra source of bugs.
In terms of product development, it took 1 year to ship the product, so after all that, you don't know if you have customers. That's fine for a side project, but this is a "bootstrapped operation behind schedule".
Alternative: I hear Flutter is quite productive. If you one to fall in love with technology, you'll like Flutter.
- jb1991 4y agoThe problem with solutions like Flutter is that many apps, especially iOS apps (though maybe not a calendar app), will often use powerful platform features on iOS that are not so readily available on other platforms, so some degree of platform-specific code is always going to be there -- maybe a lot of such code. For example, the amazing Core Image library, or writing Metal kernels (increasingly common since it is rather easy to leverage GPU compute on iOS and offers tremendous performance benefits), and other tools. If you are going to interact with that in Swift anyway, adding a new language and UI framework and extra layer of abstraction and communication to your app may not make sense.
- sgt 4y agoAs a Flutter developer, I am 100% aware that native is usually best, unless you are writing Android apps which are bit of a nightmare compared to iOS.
- rickspencer3 4y agoI am a heavy user of Flutter. Even for simple things if I need to throw together a UI for my own use and then throw it away, I default to Flutter simply because I have become proficient at boot strapping a Flutter project. This is especially true now that they support desktop applications. For this application, it sounds like the underlying services are not very platform specific, so on that level it seems like Flutter is a good choice. My concern would be that the developers seem very focused on the quality of the experience of even micro-interactions. My experience in Flutter would say that this degree of attention to detail would be hard to get right with Flutter, especially without choosing a platform to focus on, in which case the cross-platform benefits of Flutter are minimized. Whether delaying an MVP for months to achieve that quality in the user interactions is an interesting side debate, though.
- newZWhoDis 4y agoFlutter has massive performance issues, is based on a dead end language nothing else uses that lacks basic features, and worst of all is essentially Google developed. Native devs are going to make a lot of money rebuilding apps for companies foolish enough to base their entire company on a Google “product”
- latchkey 4y agoHave you written anything in Dart? I found it super easy to pick up and fantastic to write code in. There weren't really any specific features I found missing in the language. Not all apps require 120fps performance either, mine was just buttons and feedback from the backend. Flutter was actually perfect for this application.
- enraged_camel 4y ago>> implementing the most challenging parts of your UI as a sanity check How are you supposed to do this if you don’t yet have proficiency in the language/framework/toolset?
- akmarinov 4y agoFlutter makes the least sense from all the cross platform technologies. React Native has 1000s of people with experience in React, with experience in JavaScript/Typescript. There's people with 10+ years of experience. There's a very small percentage of Flutter devs, since Dart is barely used in Flutter. It being very knew, there's almost no one comparatively. If you're a company and go with Flutter, you'd be constantly trying to find people for your project. Even if Flutter is 2x as faster to write code for or 2x as performant than React Native, etc - it doesn't matter if you can't find the people to scale and churn. Then there's the whole "when will Google kill it" with them doing Flutter and Jetpack Compose and then there's also Kotlin Multiplatform (not from Google), it seems like they're a layoff away from shutting it down. You know Meta will keep React Native around for decades, since a lot of their stuff is built on it.