Resources

App Store Evolution: Apple

Software development wouldn’t be where it is today without the app stores.

What started out as a way of collating every downloadable app for a platform into one space has become a tool that influences the way apps are built. While you don’t have to release an app on either platform to write an app, the benefits of doing so are pretty obvious.

People download your app, your app gets more traction, and you can re-invest the time into adding features, or working on the next stable build, or seeing how you can turn a little time and effort into money. App stores are a global platform, come preloaded on every smartphone, and are built to catch attention, like the merry-go-round at South Coast Plaza.

But they weren’t always popular. As more people started to browse and use their phones as a combination computer, cellphone, and entertainment center, they underwent a big change, and the platform itself had to adapt.

In tech, to look forward and see what’s going to happen, you have to look backwards. Technology and software development aren’t quite cyclical, but seeing how they developed can offer a lot of insight into what’s going to happen next.

So let’s go back to the beginning.

Let’s talk about Apple’s App Store.

History of the Apple App Store

  • 2007:
    • Steve Jobs announces that a software development kit for developers will accompany their newest product launch, the iPhone.
  • 2008:
    • With the software development kit released in March 2008, the iPhone app store opens in July with 500 initial apps. By September, there are over 3000 apps, and 100,000,000 downloads.
  • 2009:
    • The App Store adds monetization support for its apps.
  • 2010:
    • Apple announces the release of the Mac App Store, a similar platform for its macOS operating system.
  • 2013:
    • Apple adds a ‘Kids’ section to its app store, launching it alongside the release of iOS 7. Apple also announces that developers can use appstore.com to link to their apps.
    • There is also an algorithm change where search rankings now start to consider ratings, app updates, and engagement.
  • 2016:
    • To combat a download slump, Apple rolls out an advertising platform for developers that will allow them to purchase spots for ads. This is initially only available for the United States.
  • 2017
    • Apple increases the range of its app advertising program to include the United Kingdom, Australia, and New Zealand, as well as adding new configurable options for the developers. Later on in the year, Apple adds Canada, Mexico, and Switzerland, and also revamps the search ads program to offer a basic (pay-per-install) and advanced option.
    • Apple adds the ability for developers to respond to customer reviews.
    • The App store undergoes a design change that adds daily highlights and editor’s picks categories.
    • Developers can now offer applications for pre-order and make apps visible in the store between 2-90 days ahead of release.
  • 2019:
    • Apple launches the Apple Arcade, a subscription-based service for games on the App Store.
  • 2020:
    • Apple makes ‘sign in with Apple’ mandatory for any apps using third-party logins, and developers rush to implement the change by April.
  • 2022:
    • Apple finally supports unlisted apps; now you can download apps via direct links.

When you look at the dates, you’ll see it’s really only been 14 years since The App Store debuted, and with it a new type of software development. It’s also easy to forget that the App Store, like most things online, was influenced by the way the internet was changing, favoring algorithms, suggested searches, and deeper customization options rather than just putting everything onto the platform and leaving users to discover new apps at their leisure.

The App Store has come a long way from just 500 apps. Today, there are over two million apps available, and more are added regularly.

All of them come through the Software Development Kit.

The iOS Software Development Kit

In 2008, Apple published the iOS SDK – the iOS Software Development Kit – as a free download for Mac computers. The iOS SDK, created to help software developers build mobile apps for iOS, gives the developers the look and feel of iOS services – and it gives them access to some of the functions available on iOS. The kit itself even comes with an iPhone simulator, so you can test your application’s functionality in as close to real-time as possible.

It’s kept pretty tightly upgraded too: every new iOS release also comes packaged with a new version of the SDK.

Then there’s the Apple Developer Program, a microsite that goes through everything developers need to know to build for the App Store – including the changes a new iOS brings around, and gives you a place to get technical support if something’s not working right.

How does the iOS SDK work?

To start, all of its contents are split into about four major areas: touch, media, networking and core, and OS/Kernal. It works using Xcode, and it has a number of official programming language supports, including:

  1. Objective-C

Developed in the 1980s, this was the standard programming language used for Apple products up until 2014, when it was taken over by Swift. Objective-C formed the basis of quite a lot of early operating systems, but Apple’s purchase of NeXT, a tech company that specialised in business workstations, meant that it became pretty much the standard programming language for macOS in 1996 – and it’s still used today! The most recent version of Apple’s Cocoa API is based on Objective-C, and Xcode, Apple’s development environment, comprises Objective-C based development tools such as Project Builder and Interface Builder.

Objective-C works by integrating Smalltalk-style messaging into C++ to build a development environment that allows for reusability and flexibility in coding.

  1. Swift

An open-source coding language built by Apple itself, Swift was released in 2014 and took over from the previously popular Objective-C, though it still uses some of the old Objective-C code. With Swift, Apple wanted to bring some of the more modern features in programming languages to the forefront, but they also needed a language that could work with the existing Objective-C code.

As a result, Swift interoperates within the Objective-C framework. It works using Xcode, and can be concurrently run with C, Objective-C, and C++. Although Swift has many properties that make it similar to Objective-C, Apple wanted to create a programming language that could implement some of Objective-C’s concepts in a way that would make it easier to catch software bugs before they became a concern.

In addition to the programming languages above, SDK also supports .NET, Java, and Flash, though Swift is the preferred language.

What is Xcode?

Xcode is Apple’s wholesale platform for development, and it can be used to develop software for any Apple product, including iPad. It’s entirely free for developers, and can be downloaded from the Apple developer website. It supports a number of programming languages and models, including AppleScript, Python, Ruby, and C++, and third-party support exists for Ada, Go, Perl, and other languages.

XCode works by creating files with code for multiple architectures, which when run allows the operating system to pick whichever architecture is needed for that particular application.

How does coding for iOS work?

Before you begin coding, Apple gives you a wealth of tools just to test out and plan how your app is going to look. You can build out your app using the standard stuff that comes with iOS – the buttons, text labels, and views and controls, but you can also customise those aspects to give your content the best showcase. Planning it visually allows you to shorten the development time significantly: you’ve got the look and feel down, so the rest is to write the code.

Start a new project in Xcode – this will give you a ‘default’ code to build off of, saving you more time.

Pick an app-builder technology, such as SwiftUI, which can help you build your interface, and then choose the programming language you want to use. From there, you can focus on coding your app and designing the user experience to reflect what you want to achieve.

What else should you know before coding for iOS?

Apple changes the rules that govern the App Store pretty often, and it’s great to keep an eye on things just to make sure you’re following their rules, especially now that they regularly make changes to app requirements for privacy and in-app purchases. Some of the limitations can be difficult to understand, so if you’re struggling to know what you need to do, drop us a line: we’re happy to help you figure it out.