The only complaint I have is when you get down to issues with layout and animations not working as expected, it's incredibly hard to debug what's causing it since it's in the "magic" part of the UI frameworks. Often, some re-shuffling of main DispatchQueue steps fixes things up.
I released a SwiftUI calculator I built earlier as open source on GitHub, it may be useful for some dipping their toes into it.
I actually really enjoyed working in SwiftUI. Towards the end of my time, I started moving into a hybrid approach where I would borrow some of the concepts of CSS stylesheets and clearly separate constant parameters used in UX into their own swift files (making it easier to flip between them, eg when going from light mode to dark or from iPhone to iPad)
Is "what I wanted" just the calculator app you link? Of course I don't know how much complexity went into it, but maybe the app just didn't touch on the darker corners/pitfalls of SwiftUI that I find you only run into when it comes to Core Data, fancy views, animations/transitions and so on.
I wrote a reasonably valued answer on controlling animations in SwiftUI on SO, so I was happy to push the boundaries there: https://stackoverflow.com/questions/58284994/swiftui-how-to-...
The app doesn’t have any super advanced animation, but for most apps, I don’t think that is required. But that’s personal opinion.
This is a longwinded way of saying perhaps you are right and I haven’t fully appreciated more advanced UI, but at the same time many of the basics in SwiftUI cover many use cases :)
Yeah, I fully agree. But I also feel like if your use case isn't covered, you're losing much of the elegance, and I hope that's just because SwiftUI isn't fully mature yet.
Sorry if I came across like I just thought your app was too basic. I was just trying to say that you might have happened to not run into any of SwiftUI's rough edges, no offense.
Regarding Core Data of course you're right that it's not directly related to SwiftUI but interfacing with it from a SwiftUI app feels very un-SwiftUI-like. I hope they have something in the pipeline for WWDC.
Indeed, I think at the moment it's hands down the best language available for general application programming. The problem is the lack of libraries on non-apple platforms.
@Persisted(key: “myKey”) var myInt = 42
which is a really nice way to avoid a lot of boilerplate.
I like Swift’s use of generics and protocols (can’t remember if I am using the right terms), but I really didn’t like some of the more recent changes that obscured parts of the language behind unnecessarily obtuse DSLs.
That said, I think everybody enjoys what they use most, so I don’t see Swift leaving the Apple ecosystem in the near future.
These days I have been abducted by aliens, extra terrestrial beings, and program exclusively in Common Lisp, with its secret alien technology. Now THAT is a language I recommend, its simply amazing to me :)
FWIW I've used Python and C++ the most, and I deeply dislike them. :)
Correction: I understood the original comment as developing software for linux and getting paid for it, and not using it to make web apps, doing web development is platform independent obviously..
I’m moving more into technical software, so I couldn’t afford more than half my potential user base saying Oh I don’t have a Mac
Doesn't the vast majority of the world's commercial software run on Linux?
https://netmarketshare.com/operating-system-market-share.asp...
But that isn't where most software runs. Most people just run a browser or a couple of desktop apps locally.
The vast majority of software is embedded or in data centres, running on Linux or iOS as an exceptional case.
Think about how many services you interact with daily - how many websites, payment services, bank systems, networking systems, other online computer systems in your life. You probably interact with hundreds of such systems every day not always realising it. Compared to what... three or four desktop apps maybe?
Many poorer people don't even own a desktop or laptop at all - so they interact with zero desktop apps but still hundreds of services via their (Linux) phones.
> What is this hallucination that all programs are some sort of command line chron job?
That's literally what most programs are - services providing an API or a web UI running as a command line program in a data centre.
It's not about how many computers - it's about where most software is running - those are two different things.
> then say that web pages served from open source software are "running commercial software"
Yes websites are commercial software. I don't understand what's confusing about that? Facebook is commercial software. It runs on Linux. It makes billions of dollars. Thousands and thousands of engineers working on it are making money on Linux.
Facebook, Google, Twitter, etc, are all examples of massive successful commercial applications running on Linux.
The original question was 'How can you make money on linux?'
The answer is these companies and more make billions, and the employees make hundreds of thousands, all writing applications on Linux. Most developers I know make money writing applications on Linux.
Do you think that might not be indicative of the big picture? If you lived on the equator would you say "no one really needs a thick warm coat, no one I know has one" ?
I'm fascinated that you don't want to look beyond local anecdotes for real systemic information.
96.3% of the world’s top 1 million servers run on Linux.
90% of all cloud infrastructure operates on Linux.
https://hostingtribunal.com/blog/linux-statistics/
Even at Microsoft they run most stuff on Linux.
https://www.zdnet.com/article/microsoft-developer-reveals-li...
72% of phones are running Linux.
https://gs.statcounter.com/os-market-share/mobile/worldwide
Look at any tech jobs site. How many jobs are for writing Microsoft Windows or macOS desktop or iOS phone software compared to for writing Linux applications? A tiny tiny proportion.
... but I still agree, it's to my loss. Damn good APIs, damn good integrated user experience. I decided I didn't want to feed the beast, but it's a really good beast.
I have since moved on to building my own GUIs with Rust.
But I that my app has different requirements than most.
Its part of the appeal of Apple’s ecosystem - the very high level of standardisation, although it obviously has its drawbacks as you have mentioned
I know a lot of people complain about the 99$ developer fee each year, but Apple in my humble opinion has the hands down best APIs currently for mobile / touch systems. For example, I created my own music app within a day. And WWDC is the heart of showcasing their features for the year to come.
I don’t program for IOS anymore, but will watch from a far distance. I’m all in on linux these days!