Apple’s app store is fascinating. It is a runaway success, but really, when you break it down, it is made up of well-known, almost “off-the-shelf” components:
- There is a server component which serves the downloads and provides a web site where you can look at each app
- There is a “browser” component which lets you view all apps and purchase them and view your purchases (iOS app)
- There is the “installer” part that finds out what applications are installed and unpacks, downloads and places them in the right place (iOS background process)
- There is the code-signing part that ensures only applications from the app store can be installed
- There is the legal part of the license agreements that enforce a lot of the mushier aspects and the quasi-monopoly of the app store
So basically Apple did what they always do: Build very well-made versions of standard components, integrate them smoothly with each other, and leverage their existing properties (macOS and their then-new mobile hardware) to deploy them.