The annual Worldwide Developer Conference is a great opportunity for the developer community to learn about new possibilities in the Apple ecosystem and to interact with specialists from Apple. The platforms and devices have grown over the years – iPhone, iPad, Mac, Apple Watch and Apple TV with iOS, iPadOS, macOS, watchOS and tvOS. The combined ecosystem provides a great opportunity for developers to create a unified, seamless experience across devices and use-cases. The experience of a news channel custom-created on Apple TV is vastly different from its native app experience on a phone. Similarly, a bank’s digital experience on a phone and the Apple Watch will have to be treated differently both from a design and engineering perspective.
This year, due to the on-going COVID-19 pandemic, the format of the Apple Keynote event to kick off the WWDC week was different – it was entirely shot on video without a live crowd inside a hall. The format came in for much praise for its slick production value. Let’s take a look at some of the announcements and its implications for developers, product owners and enterprises.
Boosting the developer ecosystem on all fronts
In this segment, we will explore how Apple is empowering developers by offering programming flexibility, simplified UI designing, extended support outside the apple framework, interoperability, and much more. Let’s start with the major updates that were announced across the developer platforms in use:
- SwiftUI: Build 100% SwiftUI-Based Apps
Launched last year, SwiftUI came as a beautiful gift from Apple that allowed you to bring your wildest app UI ideas to life in the most hassle-free manner, by leveraging the power of declarative programming. This year, Apple is making things more exciting by offering the ability to design 100% SwiftUI based apps. This means you can now design an entire app interface using the SwitfUI platform, instead of embedding the SwiftUI code in AppKit, UIKit or WatchKit.
With the all-new Lazy Stack, developers get to implement more efficient scrolling in their designs. This allows you to integrate beautiful toolbars, lists, grids, and shapes, along with cool new visual effects, as the Lazy API ensures efficient handling of enormous data sets to offer great performance. The code built-in SwitfUI can be easily shared across all Apple platforms.
- Xcode 12: Redesigned for a cutting-edge app building experience
Apple has launched Xcode 12 (BETA), which comes bearing a slew of awesome features, making it one of the top highlights of WWDC 2020.
A great feature in Xcode 12 is the StoreKit tool. This takes designing paid subscriptions and in-app purchase experiences to the next level. It allows you to manipulate in-app payments in the iOS simulator with a new menu available in Debug > StoreKit. This way, you can simulate subscription setup, in-app purchases, and even refunds, all locally on your Mac. There’s also a new StoreKit testing framework that allows you to automate testing of purchase workflows.
Along with that, the new Xcode version comes with a fresh new look to match the macOS Big Sur update. New document tabs make the opening of multiple files super-fast and lightweight. It allows you to open interface files, logs, and project files in their own tab. Navigator fonts can now be matched with the system size or can be set to small, medium, or large. The best part is that Xcode 12 builds macOS Universal apps by default to support new Macs with Apple silicon
- Web Development: Make web experiences more powerful and flexible
This year’s WWDC event has witnessed quite a lot of announcements on the web development front, allowing you to build great experiences for your users when they use your website, home screen web apps, or embedded WebKit views.
Apple has made it very easy for developers to build new extensions for Safari, as extensions from other browsers (developed in Java or HTML) can now be imported into Safari using its all-new Web-based API. There is only one thing you need to do, that is, to package the extension using Xcode and distribute it through the AppStore.
Along with that, Apple announced major improvements in performance, media features, and Web APIs.
1. Inter-operability: Apple has pushed the envelope for cross-browsing experience as Safari has passed over 14,000 interoperability tests.
2. Browsing performance: Your web-apps will get a major performance boost as Safari, yet again, sets new standards such as
- 3x lower CPU usage while scrolling
- 10x faster IndexedDB operations
- 2x faster JavaScript Promises
- 5x faster for-of loops
- 12x faster JavaScript delete operations
3. Media features:
- Support for WebP image format
- Default image aspect ratio and orientation
- Mac HDR display support
- Remote Playback and Picture-in-Picture APIs
4. CSS: A new line of system font families were announced; system-ui, ui-sans-serif, ui-serif, ui-monospace, and ui-rounded
5. Integrations: Apple has enabled various useful integrations for a more seamless web experience:
- Face ID & Touch ID: your websites or web apps can make use of Apple’s authentication system in a secure manner using Web Authentication API. It uses the secure enclave of the iPhone or iPad to provide the private keys, and guarantees they cannot leave the device.
- AR Quick Look: You can customize the AR Quick Look feature for your web experience using the ARKit.
- Payment: New Apple Pay updates with new button types and redacted billing information.
- Web Animations API: Play around with animations in web platforms with Web Animations API.
Unifying app development experience across Operating Systems
Now let’s get down to the specific OS announcements.
1. iOS
Widgets: As the new iOS 14 was announced, the first thing that must have caught your attention must be the all-new widgets. Apple has indeed revamped its Springboard platform for a fresh new Home Screen experience. Widgets can now be a part of the Home Screen and can be completely customized as per one’s taste. And as you guessed it, Widgets are built completely using the SwiftUI platform, allowing you to build, customize and share widget codes across all iOS devices.
App Clips: With App Clips, Apple has transformed discoverability for Apps. It allows users to experience small portions, or rather, a clip of an App and interact with it. This way, it allows them to avoid downloading full apps to just try them out and have more ephemeral experiences with apps. With over 2 million apps in the App Store, this is the perfect time for developers to leverage this feature. App Clips use “ephemeral” permissions to push notifications within 8 hours of the Clip launch and are built using a subset of the full project’s code (up to a 10 MB limit). A StoreKit view can be used to prompt the user to upgrade to the full version. Initially, Apple will allow users to launch clips by way of a QR code, but a new “App Clip Code” arriving later this year will allow users to find App Clip suggestions from the real-world using location tagging.
ARKit 4: The new ARKit introduces new a new Depth API to combine sensor data to map GPS data to points in a virtual world; Integrating Location Anchors to connect virtual objects with a real-world longitude, latitude, and altitude.
Picture-in-picture: Apple has finally brought Picture-in-Picture (PiP) to its devices. You can add PiP playback to your custom player by using the AVKit framework’s AV PictureInPictureController class.
2. macOS
The macOS Big Sur and the ARM-based Macs have been the highlights all along. But there are quite a few important updates that you might have missed. Let’s take a look at all of them:
- Smooth Transition: The MacOS Big Sur has been optimized for a smooth transition from Intel-based Macs to ARM-based Macs, as ARM-optimized code is generated by Rosetta 2 without any changes or I/O slowdowns.
- Apple’s hypervisor: It has been updated for ARM Macs to discourage the kernel extension requirement by VM tools.
- Unmodified iOS Apps on Mac: This feature will be available on Macs with ARM processors, and be exclusive to those devices.
- Custom content: Custom content extensions for Notification Centre are available to both Catalyst and AppKit developers.
- Mac Idiom: The Mac Idiom allows iOS apps built using the Catalyst Project to be run on Macs in a full-blown native Mac resolution.
Improving user-experience across devices
Now let’s get down to the device-specific announcements
1. iPadOS
- Virtual Object Placement: With the all-new ARKit 4, Li-DAR enabled iPads now have instantaneous object placement that allows for entirely new types of apps, such as on-site architecture, design, landscaping, and manufacturing.
- PencilKit stroke API: This API gives apps access to location, angle, and pressure data. Multi-tap and drag-to-select selects handwritten words and lines for manipulation in PencilKit apps.
- Sidebars: 2-column to 3-column sidebars made from SwiftUI List are now available in both landscape and portrait orientation.
- Scribble: PencilKit now features Scribble, which makes it easy to create apps with text entry fields that users can write in with Apple Pencil.
2. WatchOS
WatchOS 7 gets a makeover with new personalization features, health and fitness configurations for Apple Watch
- Multiple Complications: Apps can create and offer multiple SwiftUI complications for each complication family, powered by the new CLKComplicationDescriptor object.
- Edit Previews: Xcode 12’s live-updating complication previews feature lets you define example complications.
3. tvOS
Apple has released a slew of new features in the tvOS SDK, allowing you to enhance a user’s movie-watching or gaming experience even further.
- Multiuser support: Using the new multiuser support for gaming, users can now switch dynamically between users and use both the Game Centre and iCloud to keep track of multiple players’ information. Use the new GKAccessPoint class to let users view and manage their Game Centre information from within your game.
- Controller inputs: Allow users to play your game using their favourite controllers, by accepting inputs from additional types of devices, like a touchpad, a keyboard, or a mouse.
- Picture-in-Picture (PiP): tvOS now supports AVPictureInPictureController, allowing you to implement a custom video player that offers PiP playback.
- Custom Player Controls: A new SwiftUI VideoPlayer structure lets you add system-supplied playback controls to your custom player.
Bringing together the global developer community
Apart from all the software and hardware updates, there were some other announcements that also delighted developers across the world.
- Virtual Lab: In-view of the on-going pandemic, Apple is creating an online version of the App Store lab to further support the Apple developer community across all of its platforms. Developers are encouraged to share their feedback at the virtual lab.
- More accessibility: To integrate your apps into core platform features and deliver powerful functionality, Apple is launching a new Find My network accessory program. This program lets third-party device makers take advantage of a network with hundreds of millions of devices while continuing to offer end-to-end encryption so that only the user can see the location of their item.
- AppStore guidelines: Developers will be able to appeal decisions if an app violates a given guideline, and also challenge the guideline itself. For apps that are already on the App Store, bug fixes not be delayed due to guideline violations (except for legal issues).
With this year’s WWDC event, it is clear that Apple is aiming to revolutionize app development across all devices and foster an ecosystem that allows developers to create applications for the future. With its continuous efforts, Apple is attracting more developers to build for its devices and leverage the latest tech innovations using its open-source tools.
More importantly, it allows both enterprises and developers to provide even more seamless experiences across devices and screens. Enterprises which have native apps on say iOS can now explore possibilities of bringing alive the app experience on other devices within the ecosystem, if there is a strong use case. This will further lock in customers making user retention easier.
At Robosoft, our experience on the Mac platform spans two decades. We were among the first to offer mobile app development as a service. Today, we are well poised to offer end-to-end digital experiences across platforms, devices and emerging technologies such as voice, chat, blockchain and more. The possibilities are even more exciting after the announcements at WWDC 2020.