Tuesday, October 11, 2022

Guides for Starting Apple App Development

Apple (via Christopher Thielen):

If you’re new to iPhone software development, take a moment to familiarize yourself with the tools and technologies you’ll use. Apple provides everything you need to get started, and iOS technologies help you get the features and performance you want from your apps.

[…]

SwiftUI is the preferred app-builder technology, because it offers a modern, platform-agnostic approach to building your UI and app infrastructure. With SwiftUI, you specify your interface programmatically and let the system display and update that interface dynamically, including inside the Xcode editor.

Apple:

iPad is the ideal platform for delivering desktop-class apps that people can take anywhere. The large screen of iPad, plus support for an external display, let people display more of your app’s content. Magic Keyboard and the multitasking experience with Stage Manager make them more productive, and the power of Apple silicon drives productivity to new levels. Use these capabilities to deliver great business and productivity apps, graphics and creativity apps, media apps, games, and more.

When creating apps for iPad, your initial development path affects many of the decisions you make later. Choose a path based on the type of content you’re offering, and how you want that content to look[…]

Apple:

The Mac is all about speed and power, and macOS helps you maximize the performance of your apps. Mac is ideal for apps that require raw processing power to execute tasks as quickly as possible. However, you also use it for day-to-day tasks such as communication, news and information, social media, games, and much more.

[…]

SwiftUI offers a modern, platform-agnostic approach to building your UI and app infrastructure. Specify your interface programmatically from a set of standard SwiftUI views or create custom views with any appearance you want, and view Xcode present a visual representation of your interface in real-time. At runtime, the system uses your code to build your app’s final interface manage changes to it.

It kind of seems apt that the Mac version of this paragraph didn’t get enough proofreading.

Apple:

Embrace the living-room experience on Apple TV by delivering content people can enjoy from their couch. Stream the latest entertainment, sports, or news content. Offer a great game or education experience, or deliver personal training sessions from a fitness app. Deliver your content in high-quality formats such as 4K video, Dolby Vision, Dolby Atmos, and HDR10. Design your app’s interface to support easy navigation with the Apple TV remote.

Apple:

On Apple Watch, people interact with apps they download directly from the App Store for Apple Watch, or that accompany a companion iOS app. Apps play an important role, but complications and notifications also help people engage with your content.

Previously:

6 Comments RSS · Twitter

Not sure what’s wrong with me but I was expecting at least a basic guide on how to start building AppKit apps, especially right after reading “To get started with building AppKit apps…”. They just link to the API references instead.

SwiftUi swiftui swiftui…for some reason they love this fucking thing even though it’s complete shit. Where are the new cool new Mac apps? I don’t even want to write a new Mac app anymore because why am I going to write an app in AppKit when you’re telling me I’m using legacy tech (which is clearly superior)?

is the System Settings app on Ventura still a mess or has it gotten better? Why are they shoving SwiftUI down our throats? If I wanted a shitty developer experience I’d write web apps.

Does everyone really think SwiftUI is the right direction? Has the time come for the dev community to push back? This is getting out of hand. They‘re gonna drag the Mac down with this shit if we don’t stand up.

@Alexandre I think the non-reference AppKit docs are all in the Documentation Archive. :-(

Hmm, nice to have that cleared up. Mac is still important, honest. For raw power. Just like the raw power on the iPad Pro ...

Certainly Swift is not without its charms at the abstract types level of system-ish programming, but I'd hope against hope that C interfaces remain, because portability and feature-parity/feature-completeness are still important. Also, I'm blind, so "UI in code" does have real value to me. And I've never been madly in love with Objective-C even though the biggest issue with it is arguably that many people don't see it as a "Superset of C" but rather "the means to access Apple frameworks/runtimes", which IMO is a hard distinction to avoid when Apple pushes its frameworks so hard and most tutorials are purely about app development.

Michael: Indeed, the coveted AppKit “Getting started” document has a screenshot of a Mountain Lion (2012) environment. 😂 https://developer.apple.com/library/archive/referencelibrary/GettingStarted/RoadMapOSX/chapters/01_Introduction.html

After asking that question and getting it retweeted by Steve Troughton-Smith it seems the only decent guide that’s still up-to-date is Hacking with macOS ($50). https://twitter.com/Dieulot/status/1462741756915720194

> Mac is still important, honest. For raw power. Just like the raw power on the iPad Pro ...

The other characteristic they talk about, “speed”, is nowhere to be found in the UI of my 2020 i3 MacBook Air, a machine that has performance above the average Mac in use today. The speed that ARM Mac users got hyped about has always been available on Windows machines with half the CPU power of the 2020 i3 (that’s what I used before since 2012).

Speed is nowhere to be found on an 8Gb M1 mac either. Beachballs that don't even rotate, galore. Never had it so bad. It's stunning. Slowest Mac ever.

Every time I put the thing to sleep, it moves all my windows off my main display, so I have to wait for it to do the wrong thing, and then spend time undoing it. Who thought this would be a good idea, when it worked perfectly well before?

Oh, and Safari has this passive aggressive notice "This webpage was reloaded because it used too much energy". You know what, Apple? You're a trillion dollar company, that couldn't be bothered to write their own browser, so you stole WebKit from KDE. If you don't like Google webmail, maybe you can do some of that famed "engineering" and make a better browser that doesn't need quarter of a Gb to display a webpage? Or perhaps you could make a Mail program that doesn't lose data? Or perhaps you could pay someone to make Gmail faster? It's not like you're starving for money. Instead, you're forcing me to click a dismissal to regain my screen space every single day. In what way does that improve my life?

It really is noticeable how Macs no longer rhyme with "delight". Recall when Steve Jobs wanted the Mac to boot faster so that it wouldn't waste millions of hours of people's lives?

Leave a Comment