8 ms·
Apple’s closed-source approach is losing out to AI app builders
- drowntoge 2y agoAI assistance in IDEs was the final nail in the coffin for Apple's development environment, which had already —and consistently— been lagging behind for over a decade.
- jopsen 2y agoIs gen ai app development really that important? Does it make real apps? Or only prototypes and trash? Do we need quantity or quality apps?
- baxtr 2y agoIt seems to me that ai apps are great for prototyping and getting to v0. Maintenance and continuous improvement seem to be more challenging.
- throwaway48476 2y agoI recently saw a niche industry specific chatgpt wrapper. I don't think anyone is actually building anything of value with gen AI.
- resource_waste 2y agoI did. I do. I don't use it for everything, but it is a 2x-10x multiplier.
- throwaway0123_5 2y agoThis is a pretty big range. Are you saying the overall multiplier for all of your work is somewhere between 2 and 10x, or that some tasks are 2x and others are 10x?
- dingnuts 2y agorelevant username
- layer8 2y agoLooking at your profile page, do you use a local model then?
- layman51 2y agoThis is a good point and it reminds me of a link to an news article someone had shared some weeks earlier about how AI-generated literature in the form of ebooks is already flooding public libraries that subscribe to certain lending platforms. In a sense, it could be an advantage to have systems where it is so cumbersome to get LLMs to help you with generation so that people have to put at least a little bit of effort.
- dzikimarian 2y agoIt saves a lot of time. You don't need it to generate whole app - just do some tedious bits. It's basically electric screwdriver. You can open & close your laptop with old piece of iron. It even won't be worse in terms of quality, but if you want to fix 20 of them in a day it doesn't make sense.
- kmeisthax 2y agoIt's not. However, the fact that integrating these tools with any sort of Apple toolchain is a nightmare is still a problem. Because even if you don't care about AI slop coding, there's plenty of other things that developers are used to that become far more difficult when the only option[0] is proprietary dev tools with very strict hardware licensing requirements attached to it. This puts a very real cost on iOS development. The only reason why developers put up with iOS now is because it has half the US mobile market, so brown-nosing Apple is mandatory for certain app classes. This doesn't make the cost go away, it just means it gets spread around[1], like how everyone has to pay credit card fees or mobile storefront fees even when they're paying with cash or buying straight from the developer. But when that market power isn't there, such as on macOS[2] or visionOS (lol), developers just straight-up don't bother supporting the platform because Apple is disrespectful to developers. [0] I am aware of that one non-Apple iOS toolchain, it still requires you grab the SDK files yourself off a Real Mac™ which is a pain in the ass and not going to pass a corporate compliance department's muster. [1] The exact mechanism that forces cost-sharing is called a most favored nation agreement. You are required to offer the best pricing to people paying your junk fee and cannot discount around the fee. [2] People often blame Metal for macOS gaming being terrible. This is missing the point. iOS has the same core technology requirement; so all the middleware has to support Metal anyway. But if you don't need to be on mobile, you don't need to support any Apple platforms, which is preferable.
- dale_glass 2y agoI find it reasonably useful given these conditions: 1. I know what I want. 2. I don't know off the top of my head how to accomplish it. 3. However, I do know enough to tell whether what the AI generated works right. So for me it covers cases like "I know databases and I know programming, but I don't know enough Python to do a DB query without looking for docs. Have Copilot generate some working sample code, and then I can pick things up from there". I'm sure bigger things can be done but I think just that alone is extremely useful. Saves a bunch of time on googling, making it past all the ads, the requests to subscribe, the far too long introductions, etc. Sometimes all I want is 20 lines of sample code and nothing else, and AI seems to do very well at that without leaving the IDE.
- BriggyDwiggs42 2y agoI’m really not looking forward to the day when they start serving ads through LLMs. Hopefully local is solid enough by then to do most of the same stuff.
- mandevil 2y agoGive OpenAI 25 years and they're going to be throwing up plenty of ads in our faces. Source: I remember using Google in 1999. Momento mori to anything raising tens of billions of dollars from VCs and PE's. The UX is going to get much worse, surprisingly quickly.
- dale_glass 2y agoLLMs already can be run on expensive consumer hardware (eg, a higher end Mac Studio), so I expect that to be quite temporary.
- DaiPlusPlus 2y agoIt’s not about running an LLM that serves/doesnt-serve up ads, it’s about making one by yourself so you know it won’t serve up ads.
- yndoendo 2y ago
- deleted 2y ago[deleted]
- nsonha 2y agoMaybe... quantity? Of apps an features. The idea that software is some sort of art form that should be upheld is largely dev/designer centric instead of consumer-centric. The only type of quality that matters to me is I can achieve what I want to do quickly, so sorry your fancy native components and animation actually get in the way of it.
- runjake 2y ago> Is gen ai app development really that important? Yes, it already has fundamentally shifted software development and it will continue to do so. We're just getting started. And it's not going away. > Does it make real apps? Yes, it can, in whole or in part. > Or only prototypes and trash? Not only, but yes, it creates plenty of that, too.
- DaiPlusPlus 2y ago> Yes, it can, in whole or in part. False. I’ll admit you’re right when AI can generate a replacement for Explorer.exe for Windows 11 from a single prompt. We’re still a long way off from that.
- pram 2y ago"The platforms thriving right now are all built on open source software. More and more teams are building apps in React Native rather than Swift" Isn't Swift literally open source software lol
- deleted 2y ago[deleted]
- FloorEgg 2y agoIf you noticed inaccuracies in the article you might be interested to know that the article was written by AI. And for those of you hissing at my previous comment you might be interested to know that this joke was written by AI. Now you don't know what to do. Rip Norm Macdonald
- cess11 2y agoI think they mean SwiftUI.
- sampton 2y agoNo self respecting iOS developer would pick React Native over SwiftUI.
- echelon 2y agoWhy would a company hire iOS developers when they can build everything for all platforms in a single language and framework? It's fungible, interchangeable, easy to maintain, and easy to hire for. Apple is being boneheaded by going their own way. But closed systems lorded over by tyrannical giants typically are.
- saurik 2y ago> From there, compiling code for iOS is notoriously difficult and not officially supported outside of using Xcode. I mean, this is a stretch... you really have to go out of your way to narrowly define "officially supported" to the point of absurdity: Apple clearly supports compiling for iOS outside of Xcode, as Xcode doesn't even do the compilation, never has, and--we can be pretty confident in saying--never will. Meanwhile, despite many people using automatic provisioning, Apple's portal let's you do it all manually: it isn't as if there are a bunch of missing pieces if you aren't using Xcode to do your build. Very large companies routinely deploy code for the most popular applications without using Xcode and smaller projects are often built in languages or frameworks using tooling that completely bypasses Xcode... if you don't think Xcode is a win (and it isn't: there is a good reason why the really large-scale projects don't use it) just don't use it and your life will get better. And, if working in AI is really the competitive advantage people claim, it would seem like a no-brainer to finally get around to porting your project build to escape Xcode.
- rgovostes 2y ago> For example, there is an xcodebuild command you can run, but it often doesn't work with table stakes features like incremental builds I don't think this is true, either.
- trevor-e 2y agoI could have worded this better since running xcodebuild is obviously outside of Xcode. But it's not a stretch. Is it possible? Yes, of course. Bazel and Buck iOS builds have existed for a long time, and many large teams use them. You can even use Gradle to build an iOS project. Does Apple officially support any of those? No, you won't find any Apple instructions telling you how to do any of this, Apple expects iOS apps submitted to the store to be built with Xcode. You're on your own with these solutions. And setting up Bazel for an iOS project is not an easy undertaking.
- saurik 2y agoThere might not be end-to-end hand-holding for how to do it, but all of the needed tools are documented, and each one is individually supported. All you are doing is using clang to build a binary -- the same way you would build a binary in any other circumstance -- placing it into a .app container, code-signing it, and zipping the result to get your .ipa file. The codesign tool is documented and clearly supported by Apple, as is the manual provisioning portal, itself a website clearly designed for people to directly futz with. There is copious documentation on how to use clang, as well as on how .app bundles are organized. The only even sort of awkward thing -- like the closest you can get to an argument that any of this "isn't officially supported" -- is some awkward keys you have to place in your Info.plist... but like, that's it (and for all I know it is, too, documented somewhere... I haven't ever looked as it was just a few lines of XML to copy). Even the tool for uploading your build to the App Store without using Xcode--the one step that I'd agree might feel off the beaten path if you have never tried to look into how to do it before--is fully documented by Apple. https://help.apple.com/itc/transporteruserguide/en.lproj/static.html https://help.apple.com/itc/transporteruserguide/en.lproj/sta... Yes: you have to know how to put the steps into order, but it is a stretch to say it isn't officially supported as Apple clearly is not merely not rejecting people who do this... they are going out of their way to support all of this tooling. They could have only provided a way to do this in Xcode, but they didn't. As for "being on your own"... that's software development! We might as well claim there is not only no officially supported way to build a C/C++ command line tool, or even a JavaScript-enabled website, as there is no official upstream. Yet, on the other side, there are numerous supported ways to build such programs in myriad frameworks, some more difficult than or with more build steps than others, each supported by the open source community. If you don't know how to build a binary, how to make a .app folder, how to run codesign, or how to use Transporter, maybe your fancy LLM can do it for you? Isn't that what people are using them for anyway? To quickly generate and manage all of the boilerplate of a project? I bet it can even help you set up Bazel (though I recommend just using GNU Make, as it really isn't difficult to hand-build a binary).
- hollowturtle 2y agoIf you take a look around x, reddit or linkedin nowadays it seems full of non tech people or parents proud of their children making "complete functioning apps" without any coding. Usually they're nothing more than specialized todo lists or calendaring apps for keeping track of some habits. Do we really need all those apps? I'm worried that if I have a good idea and it happens I can execute it well, then the app would be buried in the millions of "v0" apps out there. And no, Apple won't review them all, it's impossible... maybe an AI will lol
- saagarjha 2y agoDespite not really liking AI-generated content very much myself I think it is quite neat that everyone can now have small apps that precisely cater to their needs.
- hollowturtle 2y agoWhat they need? More todo apps? Or simple crud apps that they could have hacked together with no code tools for years? If so it speaks long dinstances about the current state of software
- wild_egg 2y agoAt the end of the day, most consumer software boils down to simple CRUD apps with various skins. Sure people have been able to make those for years but it was still time consuming to wrangle the no code tools. Now people can do it in an hour or two with simple English instructions.
- munchler 2y agoThis is exactly how I felt as a photographer when smart phones took over the world 15 years ago. I try to remind myself that democratization is good, even if it isn’t necessarily pretty.
- celsius1414 2y ago
- robenkleene 2y ago> According to Evan Bacon, one of the developers leading the Expo project, 40 of the top 100 iOS apps are now non-native. And with the proliferation of AI app builders, the future is starting to look even more non-native. The linked tweet (https://x.com/Baconbrix/status/1888633966938276267 https://x.com/Baconbrix/status/1888633966938276267) is only about shopping apps.
- trevor-e 2y agoGood catch, totally missed that, will update
- s_dev 2y agoWhy does Apple allow Expo apps on the App Store when they effectively bypass App Review? Doesn't this go against their own policies? I say that as someone who uses Expo precisely for this reason.
- trevor-e 2y agoIt's definitely a very gray area within Apple's policy. Shorebird (Flutter OTA updates) describes it best in their FAQ (https://docs.shorebird.dev/faq/#does-shorebird-comply-with-app-store-guidelines https://docs.shorebird.dev/faq/#does-shorebird-comply-with-a...). It seems to be as long as you don't significantly alter the primary purpose of the app, then it's "allowed". But that's a very broad interpretation and puts native Swift apps at a huge disadvantage.
- gleenn 2y agoI think there is an implicit assumption that the top 40 apps is reflective of what all app developers should be doing. The top 40 apps are probably also all made my mega corps with enormous budgets and desires to be multi-platform right out of the gate, and also have already vetted necessary issues like "does app performance matter" versus "does developer productivity and app-parity across platforms" matter. Just because a top 40 app is high, maybe it's something like Amazon's shopping app, maybe the trade-offs are heavily towards slow-starting but very feature rich and also equivalent across platforms is necessary. If someone writes a note-taking app that takes 10 seconds to start because it's loading some JavaScript updates and spinning up the non-native code execution hamsters, I already forgot my note. Native is obviously desirable. Or a game is interesting because maybe people are patient for a slow load, but still desire very fast native performance. My main point is there are quite a few trade-offs, and it's unsurprising the leads at Expo are saying look how awesome this stack is. I've used Expo and it was awesome, but it comes with costs too.
- resource_waste 2y agoWow this is interesting AF actually. I also imagine that Linux is going to have quite the edge over microsoft on AI based programs.
- rgovostes 2y agoThe author's opening complaint is that the AI coding assistant features in Xcode aren't state of the art. Note: Xcode does have predictive code completion models and Swift Assist. GitHub Copilot for Xcode is an open source extension, proving that it is possible to extend Xcode with newer capabilities. The author cites examples of superior AI app builders that can generate non-native mobile apps, and claims that this will lead to growth in non-native iOS apps because native development is not keeping up. The author argues that the lack of AI native app builders is because Xcode is closed source and iOS development is too heavily tied to Xcode. Counterargument: Doesn't the existence of all these non-native iOS apps the author cites suggest that this isn't really true? The argument takes shift toward imagining a web-based third-party tool for app development and then describing the obstacles to this, like having to run the iOS simulator in virtual machines on Apple hardware. Where is the argument for why these hypothetical AI app builder tools have to be cloud-based, SaaS, web apps? This is at odds with the author's earlier stated preference for native apps. The idea of cross-compiling SwiftUI to WASM to run in the browser is the exact kind of thing that makes non-native apps buggy and unpleasant to use.
- geoffpado 2y ago> Xcode does have predictive code completion models and Swift Assist. Clarification: While Swift Assist was announced at WWDC in June 2024, it has yet to ship. Predictive code completion is available in Xcode 16, though.
- robertjpayne 2y agoAnd the predictive code completion is pretty bare bones awful compared to what you get in VSCode/Cursor or other editors.
- Aloisius 2y agoI haven't found predictive code completion to be good anywhere for Swift, especially anything to do with Apple frameworks. I've attributed it to the general lack of open source projects to train off.
- m3kw9 2y agoXcode need a better plugin system. The one they have right now is very restrictive. You will see stuff like ChatGPTs “work with” that looks at open windows or copilots plugin that does crappy autofills/completions but it resorts to accessibility hacks to do it and you cannot do multi file stuff
- m3kw9 2y agoApple have this promised Swift Assist feature but over a year and still nothing. Their 2gb completion model is useful for really simple boiler code, but it helps when it does
- dedrisian 2y agoWe built a fully fledged AI assistant for Xcode (callex Alex): https://alexcodes.app https://alexcodes.app
- Terretta 2y agoThis "problem" of not being able to use Claude or GPT-4o for Swift iOS apps is news to me as an aider.chat + Xcode user. Last summer I used aider.chat to develop a new feature along with a new and complex animated multi view, leveraging SwiftUI as well as a number of new Swift 5.9 and Swift 5.10 features, for a Swift 5.9 upgraded to 5.10 iOS application built using Xcode and the new live view (instead of the simulator), with auto-commits and each push to GitHub causing a Testflight build. I worked with Xcode open, but a separate MacOS "Terminal.app" window for aider.chat, with Xcode using a first class git repo. Since aider.chat does git commits to add and undo, Xcode followed along perfectly, contrary to the article's claims. In fact, as fast as aider committed code, the code changes recompiled and the live view updated, which felt about as "live" as a JS fiddle or other live JS preview tool. More amazing to me -- views usually updated with aider's changes without restarting the app or losing any state. I still prefer the hybrid of aider in terminal along side a git-savvy IDE over Cursor or Cline.
- akmarinov 2y ago> According to Evan Bacon, one of the developers leading the Expo project, 40 of the top 100 iOS apps are now non-native. And with the proliferation of AI app builders, the future is starting to look even more non-native. This is easy for Apple to regulate away. Just put in “Apps shall not use cross platform frameworks” in the developer agreement and bam - all the enterprise companies (BMW, GM, etc) will switch away for fear of being banned The thing is Apple doesn’t care if apps are native or not, as long as they bring in the money