What do I actually need to start building Mac and iOS apps?
Apple-platform development has a reputation for being a walled garden, and the honest starting question is: what do you actually need before you can write your first app?
The hardware requirement
You need a Mac. Apple's development environment, Xcode, runs only on macOS, and building iOS apps requires it. This is the real cost of entry, and there's no supported way around it for native development. Any reasonably recent Mac will do for learning — you don't need the most powerful machine to build small apps. You do not need an iPhone to start: Xcode includes a simulator that runs iOS apps on your Mac, and a physical device only becomes important when you want to test things the simulator can't fully reproduce, like camera behavior or real-world performance.
The software: Xcode
Xcode is Apple's integrated development environment — editor, interface builder, compiler, debugger, and simulator in one download, free from the Mac App Store. It's a large install, and it is effectively mandatory: tutorials, documentation, and the build system all assume it.
The languages: Swift and Objective-C
Modern Apple development centers on Swift, Apple's language introduced in 2014. It's what current tutorials teach and what new frameworks are designed around. Objective-C is the older language; a large body of existing code and older tutorials use it, and you may eventually read it, but a beginner today should start with Swift and not worry about Objective-C until a project forces the issue. Both languages, along with every framework, are covered in the Apple Developer Documentation, which is the primary official reference for macOS and iOS frameworks, Swift, and Objective-C.
The frameworks, briefly
A framework is Apple's pre-built code for a domain: user interfaces, networking, data storage, graphics. The main thing a beginner should know is that there are currently two ways to build user interfaces — a newer declarative approach (SwiftUI) and the older imperative toolkits — and most current beginner material teaches the newer one. The framework reference pages in Apple's documentation tell you which platforms and OS versions each API supports, which matters as soon as you care about users on older devices.
What about the developer program?
Writing apps and running them in the simulator is free. Distributing through the App Store requires enrolling in Apple's paid developer program — but that's a decision for after you've built something, not before.
Web skills still transfer
If you come from web development, less carries over syntactically than you might hope — Swift is not JavaScript — but the concepts transfer well: event-driven thinking, separating data from presentation, and consuming APIs. And the reverse path exists too: many "apps" are really web apps, and for those the platform references at MDN Web Docs remain your toolbox. If you're torn, read should I learn web or native development first? before buying anything.
A realistic first month
Install Xcode, follow one current Swift beginner sequence end to end, and rebuild a tiny app from scratch without the tutorial open. Keep the Apple Developer Documentation open in a tab throughout — learning to navigate it is part of the skill.