8 ms·
This is all just too much Stockholm syndrome. Apple’s DX (developer experience) has always been utterly abysmal, and these continued blog posts just goes to sho
by thraway3837 1y ago
This is all just too much Stockholm syndrome. Apple’s DX (developer experience) has always been utterly abysmal, and these continued blog posts just goes to show just how bad it is.
Proprietary technologies, poor or no documentation, silent deprecations and removals of APIs, slow trickle feed of yearly WWDC releases that enable just a bit more functionality, introducing newer more entrenched ways to do stuff but still never allowing the basics that every other developer platform has made possible on day 1.
A broken UI system that is confusing and quickly becomes undebuggable once you do anything complex. Replaces Autolayout but over a decade of apps have to transition over. Combine framework? Is it dead? Is it alive? Networking APIs that require the use of a 3rd party library because the native APIs don’t even handle the basics easily. Core data a complete mess of a local storage system, still not thread safe. Xcode. The only IDE forced on you by Apple while possibly being the worst rated app on the store. Every update is a nearly 1 hour process of unxipping (yes, .xip) that needs verification and if you skip it, you could potentially have bad actors code inject into your application from within a bad copy of Xcode unbeknownst to you. And it crashes all the time. Swift? Ha. Unused everywhere else but Apple platforms. Swift on server is dead. IBM pulled out over 5 years ago and no one wants to use Swift anywhere but Apple because it’s required.
The list goes on. Yet, Apple developers love to be abused by corporate. Ever talk to DTS or their 1-1 WWDC sessions? It’s some of the most condescending, out of touch experience. “You have to use our API this way, and there’s this trick of setting it to this but then change to that and it’ll work. Undocumented but now you know!”
Just leave the platform and make it work cross platform. That’s the only way Apple will ever learn that people don’t want to put up with their nonsense.
- eigenspace 1y agoIt's honestly nuts that so many developers continue to try to make software on MacOS. I understand the appeal of their current hardware, and I used to even be a big fan of the user experience, but it really seems like attempting to build software in MacOS is like trying to build a house on a sandbar. Apple has done nothing and continues to do nothing to engender any confidence in their platform as a development target.
- gjsman-1000 1y agoThe problem is that this could be easily applied to many things. To paraphrase: It’s honestly nuts that so many developers continue to try to make software using a bloated JavaScript framework and thousands of Node dependencies. That might also be true but that misses the point - programming is not engineering; nothing is done to an engineer’s preferred standard; and probably never will. It’s like being a CNC Technician and complaining about how 90% of stuff on store shelves is plastic. A metal gallon of milk would be so much more durable! Less milk would be spilled from puncturing! Production costs, and how they go downstream, are being ignored. (Edit for the downvotes, dispute me if you care enough, but literally nobody other than computer programmers ogles your clean code. Just like how nobody other than CNC mechanics are going to ogle the milk carton made on a lathe.)
- skydhash 1y agoSoftware engineering is not programming and is not about clean code. Using electron is building a skyscraper when you want to rest or a suspended bridge for crossing a small river. Even if you can order almost everything and you're just assembling, it is a wasteful and lazy solution.
- bigyabai 1y agoIt's very easy to understand. More platforms makes more money - your tinkertoy MacOS native frameworks aren't worth shit for nothing when Windows users will account for 90% of their customers. Wasteful? Wasteful is whichever solution takes the most money while giving the least in return. From the perspective of any rational business, not using Electron is an opportunity cost. Any Mac user knows the truth well, the web has been a more reliable runtime than native since Mojave.
- skydhash 1y ago> Any Mac user knows the truth well, the web has been a more reliable runtime than native since Mojave And we've got Sketch, Things 3, Bear, Omnigaffle and the whole Omnigroup suite, cleanshot, Alfred,... I'm not trying to defend Apple's ecosystem, but if opensource can deliver Libreoffice, calibre, VLC,... on all platforms, there's little defense for others to burden users with Electron.
- duped 1y agoI don't disagree with you, but there simply isn't an alternative for pro audio developers. You go where the users are and the majority of the market (by revenue) are Mac users. Now a lot of people may reply to this that Windows isn't that bad with ASIO (third party driver framework) or modern APIs like WASAPI (which is still lacking), or how pipewire is changing things on Linux so you don't need jack anymore (but god forbid, you want to write pipewire native software in a language besides C, since the only documented API are macros). Despite these changes you have to go where the revenue is, which is on MacOS.
- johnnyjeans 1y ago> You go where the users are and the majority of the market (by revenue) are Mac users. One of the worst things about Apple is how much time and effort they spend trying to lock you into their platform if you want to support it. There's no excuse for it. Even once they have you on their system, they're doing everything in their power to lock you in to their workflows and development environments. It's actually insane how shamelessly hostile OSX is.
- duped 1y agoThis is "don't anthropomorphize the lawnmower" territory imo. I don't think Apple is actively hostile to 3P developers or tries to lock them in. I think they simply don't care - or lack the institutional capacity to care even if individual developers in the organization want to care. The Apple developer experience is an abject horror because they believe everyone who is capable of developing high value applications for Apple devices works at Apple, or will work at Apple. 3P devs are a nuisance they tolerate rather than a core value-add for their services and devices. I assume it's less bad within Apple, but I really have no idea.
- johnnyjeans 1y agoI'd argue you can see the hostility if you compare shipping to Windows vs shipping to Apple. Microsoft doesn't care if you copy over your MSVC suite into a Wine environment to build your software for their platform. Even SignTool just works. It's not necessarily trivial to do, but that's simply because the MSVC suite is a horrible mess like everything else Microsoft. Apple explicitly disallows cross compilation in their Terms of Service. Even if you managed to get clang compiling for Mac on another Unix, even if you figure out how to get your app bundles signed outside of OSX, they'll revoke your developer license and invalidate your certs because you're in violation of their ToS. You're right they don't care about third party devs, but the amount of hoops you have to jump through for devops on Mac is almost certainly designed as a gluetrap.
- pjmlp 1y agoOn the old Mac OS, and early OS X day, the documentation was great, I dunno what happened to the documentation team. Swift on the server is for Apple ecosystem developers, to share code, just like all those reasons to apparently use JavaScript on the server instead of something saner.
- newsclues 1y agoMarketing pushed for features faster than engineering could build them properly to the former standard (quality and documentation).
- no_wizard 1y ago> JavaScript on the server instead of something saner JS on the server is actually really fast and well supported. Not really sure what you're driving at here.
- pjmlp 1y agoIt might be fast, doesn't make its WATs go away. https://blog.kevinchisholm.com/javascript/javascript-wat/ https://blog.kevinchisholm.com/javascript/javascript-wat/ Thankfully we can thank someone with the lifetime experience of designing Turbo Pascal, Delphi, J++, C#, and his team, to have made the experience bearable.
- spacemadness 1y agoI found some of that older documentation one day while being beyond frustrated with understanding some underdocumented iOS library APIs and it is incredible. What they have now is a joke in comparison. WWDC as a documentation strategy is terrible for people that learn from text. And it’s just a bad medium to begin with for information transfer. By its nature it’s bad at information density, and is often distracting and filled with fluff.
- galad87 1y agoIt's surely not perfect, and so much is quite horrible, but at least try to keep the facts in check. AppKit and auto layout are still working fine, they aren't going anywhere any time soon, there is no need to rewrite all the UI code. Core Data threading? Well, it has got its pitfalls, but those are known, and anyway, nothing is forcing you to use it. Xcode is so slim these days, it a ~3 GB download, it doesn't take an hour to unxip, and it can be dowloaded from the developer website. Swift? It might be needed for a bunch of new frameworks, Objective-C isn't going anywhere anytime soon either.
- gjsman-1000 1y agoLet's also keep in mind that the Linux desktop commits most of these offenses, but worse. Core Data threading? Does Linux even attempt something like Core Data? How well is that going? Swift? I remember when Linux diehards invented Vala. The Swift of Linux, but with none of the adoption. As for UI code, Linux is finally starting to get a little more stable there. GTK 2 to 3 was a disaster; Qt wasn't fun between major upgrades; if you weren't using a framework, you needed to have fun learning the quirks of Xorg; nobody who builds for Linux gets to lecture Mac about UI stability. Or, for that matter, app stability in general. Will a specific build of Blender outside of a Flatpak still work on the Linux desktop after 2 release cycles? No? Then don't lecture me about good practices. Don't lecture me about how my website or app was sloppily engineered because it has dependencies.
- 4ndrewl 1y ago[flagged]
- gjsman-1000 1y agoEven Wikipedia says Whataboutism can be completely deserved in some cases. It is absolutely deserved here - Apple built a 100 foot tower, and it's grown hairy over the last few decades. Linux built 7 30 foot towers without stairs in the same timeframe; but yelling about the overgrowth on the 100 foot tower is still somehow defensible. If they can't build their own towers correctly, they have no right to act like the main tower was built worse than their own. (Edit, posting too fast: For the complaint that Apple has money, Linux does too. 90%+ of work on Linux comes from corporate sponsorship, and has since 2004 when it was first counted. They are fully capable of doing better.)
- fxtentacle 1y agoThe Apple DX used to be pretty great around 2010. But by now, it's laughably bad. With every additional OS update, they asked for more and more work (and expensive EV signing certificates) to keep our pro audio app working, which is why it has since been abandoned. In fact, I'm now working on a USB hardware replacement for what used to be a macOS app, simply because Apple isn't allowing enough control anymore. Their DX has degraded to the point where delivering the features as an app has become impossible. Also, USB gadgets are exempt from the 30% app store tax. You can even sell them with recurring subscriptions through your own payment methods. Both for the business owner and for the developer, sidestepping Apple is better than jumping through their ridiculous hoops.
- pixl97 1y agoWith the potential criminal filings against Apple hopefully we see them back off a bit. And yea, over the years you could tell Apple stopped giving a shit except to turn everything into an app store where they can earn 30% and it's lessened the experience.
- freedomben 1y agoWe can hope, though Apple is the most "malicious compliance" company I can think of, so I don't doubt they'll figure something out.
- matwood 1y agoThe DX was certainly better. I wrote some early iOS apps and the docs were good. They have never been at the MS level though, which is what I programmed for in my day job at the time. MSDN was an achievement.
- HelloImSteven 1y agoApple's documentation used to be quite good—many useful guides, thousands of technical notes, development books quarterly—it's really a shame that they've turned their back on that. Their old docs leaned toward being overly detailed, which some complained about at the time, but I'd much prefer that over near radio silence. Apple's also been deleting more and more of its old documentation. Much of the it can only be found on aging DVDs now, or web/FTP archives if you're lucky. Even more annoying is how some of the deleted docs are _still_ referenced modern docs and code samples.
- ryandrake 1y agoI think people forget how horrible embedded (including mobile) programming was before the iPhone SDK came along. I just posted about this[1], so I won't repeat myself here, but TLDR: developing for the iPhone is a breath of fresh air compared to how unnecessarily difficult embedded and mobile development was (and in many cases still is) on other platforms. 1: https://news.ycombinator.com/item?id=43657086 https://news.ycombinator.com/item?id=43657086
- EasyMark 1y agolol and people wonder why devs like using electron front ends for their back end code, despite the memory cost. I only have so much time in the day, so I'm doing a lot of calling of c++ backend code to display my data analysis output and configuration on Electron front end. I may look into wasm someday, when that mythical "extra time" comes around
- jmull 1y ago> Stockholm syndrome I don't think that's apt. What you find to be "abuse" others might find to be the kind of obstacles/issues that every platform/ecosystem has. It probably helps if you never put Apple on a pedestal in the first place, so there's no special disappointment when they inevitably turn out to be imperfect. E.g., just because Apple publishes a new API/framework, that doesn't mean you need to jump on board and use it. Anyway, developers are adults who can make their own judgements about whether it's worth it to work in Apple's ecosystem or not. It sounds like you've made your decision. Now let everyone else make theirs.
- owebmaster 1y ago> so there's no special disappointment when they inevitably turn out to be imperfect. Oh poor Apple. If only they had the resources and engineers to fix that. /s
- spookie 1y agoTheir single biggest priority is to provide a better user experience for your customers compared to competitors. Units sold in the smartphone world uses the same function video game consoles' market does: you simply offer a bigger and better software offerings, not just hardware. If you, as a developer, have a worse time contributing to that ecosystem, then it is just a matter of time before the users themselves have a worse time with their device. I take the comment above as a signal that something is clearly not working towards Apple's goals. Of course, you make your own judgements to support a platform or not, but this indicates that decision is a lot easier than it should be. In detriment of Apple's ecosystem. All in all I wouldn't discount it.
- pixl97 1y ago>Their single biggest priority is to provide a better user experience for your customers compared to competitors. I mean in late stage capitalism their single biggest priority is to become a rent seeking monopoly by regulatory capture. If they can accomplish that, then user experience is a distant concern. Luckily it looks like apple is having some problems with that recently.
- 1y ago
- favorited 1y ago> Networking APIs that require the use of a 3rd party library because the native APIs don’t even handle the basics easily This is nonsense. I've been a professional Mac and iOS developer for well over a decade, and even in the days of NSURLConnection, I've never needed a 3rd party networking library. Uploading, downloading, streaming, proxying, caching, cookies, auth challenges, certificate validation, mTLS, HTTP/3, etc. – it's all available out of the box.
- adamwk 1y agoYeah NSURLSession is great and I always find whatever library I’m forced to use clunkier than using it directly with some helper methods.
- interactivecode 1y agoOh please, every platform and programming environment has undocumented apis, workarounds and hacks.
- BonoboIO 1y agoI'm constantly amazed how developers worship Apple while Apple couldn't care less about them. Bugs that never get fixed, documentation that's incomplete, wrong or non-existent, and their bug tracking is a complete joke.
- deleted 1y ago[deleted]