📜 ⬆️ ⬇️

WWDC'16 Mobile Developer Guide

View from Moscone West


After WWDC, there are a lot of sessions on the Apple site. It takes a lot of time to figure out what to watch and what does not. Since I spent the whole week at the conference and looked through a lot of topics, I wanted to collect in one place a short list of new products and videos that need to be viewed on each topic.


The article will be most relevant for mobile developers who use the capabilities and embedded iOS frameworks when developing native applications.


In each category, the sessions are arranged in the recommended viewing order where possible.


It is worth starting with
101 - Keynote and
102 - Platforms State of the Union ,
These sessions provide an overview of all news with pictures and examples of work.


Content:





Tag cloud inside the convention center


iOS


SiriKit


Perhaps the most pleasant news of the conference: in iOS 10, third-party applications will have access to SiriKit. More precisely, this Siri will get access to what is happening in the applications, and will be able to activate functions and even display the interface of your application directly in the system panel.


You can configure Siri for a specific application in a rather limited way:


  1. You need to set the vocabulary specific to the application (name, functionality, features),
  2. List terms that are relevant to a specific user (for example, contact names),
  3. Write intent handlers (a limited number of them are available),
  4. If desired, provide an interface in the form of an App Extension for display in a dialogue with the user.

Siri behaves differently on the clock, in the car, on the iPhone or with voice activation. This behavior is fully transferred to third-party applications. The dialogue engine is able to recognize both single and multi-step requests.


The most annoying is the predefined set of domains (Domains) for recognition: voice calls, taxi order, sending messages and some others. Of course, Apple engineers promise to complement domains in the future. But the implemented domains work great: you can choose different wording, slang, conversation sequence. This is no comparison with what is happening in the chatbots market, which essentially solve the same problem.


217 - Introducing SiriKit
225 - Extending Your Apps with SiriKit


Search APIs


SiriKit is not the only entry point to the application. Content can be searched through Spotlight, it can be advertised based on Handoff, messages from applications can appear in iMessage, and iBeacon Geofencing and Beacons allow you to offer location-based applications. How to work with so many entry points in the following sessions:


240 - Increase Usage of Your App With Proactive Suggestions
223 - Making the Most of Search APIs


Notifications


In iOS 10, the user will receive a new alert design. In addition to the fact that they will be displayed in the form of identical banners throughout the entire system, the Title field will be added. If you make Force Touch on the notification, then you can display a part of the application interface through App Extensions, but this View will not be interactive. You can also attach media files (pictures, gifs, audio, video) in the format of links in the payload fields to notifications.


708 - Advanced Notifications
724 - What's New in the Apple Push Notification Service
707 - Introduction to Notifications


iMessage


IMessage has added a bunch of new features, but for us, the developers, two are important: stickers and App Extensions.
Stickers can be created directly in Xcode, both static and animated versions are supported. Stickers can be placed in a separate iMessage AppStore, that is, you do not need to create a parent application.


For large applications, the ability to write extensions in iMessage is available. For example, the table reservation application can be used to send a reservation card to friends. In this case, the card will seem even to someone who does not have the application, and this is an additional channel for viral distribution.


Of course, applications can embed images and links into the chat. All this works through App Extensions, that is, the interface is displayed right inside iMessage. Sent messages will be visible on the poppy and the clock.


204 - iMessage Apps and Stickers, Part 1
224 - iMessage Apps and Stickers, Part 2


iMessage Apps & Stickers


Cocoa touch


In the developer tools a lot of new. In addition to renaming the heap of the system API (see the Swift section), new buns have been added.


  1. The interface of work with GCD was processed under a swift, private queues were added,
  2. Foundation classes got rid of NS- prefixes,
  3. There are additional methods for working with Remote Clipboard in third-party applications,
  4. For the QuickType system keyboard, you can set your own dictionaries - for example, contact names or menu items that are specific to an application,
  5. RefreshControl is now available for ScrollView and all its subclasses,
  6. The UIView animation system has been reworked, it is now easier to create reversible and controlled animations,
  7. Of course, added integration capabilities in system calls using CallKit.

205 - What's New in Cocoa Touch
213 - Improving Existing Apps with Modern Best Practices
216 - Advances in UIKit Animations and Transitions
230 - Enhancing VoIP Apps with CallKit
220 - Leveraging Touch Input on iOS
236 - What's New in Auto Layout
228 - A Peek at 3D Touch
219 - What's New in UICollectionView in iOS 10


It is also worth paying attention to the sessions about working with AutoLayout and Size Classes in the Xcode section.


Fragmentation on iOS devices


iOS Frameworks


There are always a lot of changes in system frameworks, the competition with Android and the need to provide developers with the most relevant tools. For the user, this is not very noticeable at first glance (except that support for extended RGB on new iPads and iPhones), but the possibilities of developers are expanding.


720 - Concurrent Programming With GCD in Swift 3
716 - Core Location Best Practices
711 - NSURLSession: New Features and Best Practices
714 - Networking for the Modern Internet
719 - Optimizing I / O for Performance and Battery Life
712 - Working with Wide Color
242 - What's New in Core Data


Several sessions about launch speed optimization and polishing of iOS applications:
406 - Optimizing App Startup Time
420 - Optimizing Web Content in Your App
221 - Optimizing On-Demand Resources


Last year, a mechanism for working with XLIFF was presented. This time the sessions are about better practices than about new mechanisms:
238 - Measurements and Units
201 - Internationalization Best Practices
232 - What's New in International User Interfaces


Security


In Cupertino unrealistic bother with privacy and security. Most experts, including Russian ones, admit that the iOS security model is much more thoughtful and secure than the Android implementation. Full control over software and hardware allows you to organize multi-layered protection, which is why for almost 10 years of the platform’s existence there have not been a single massive case of theft of user data or tools.


705 - How iOS Security Really Works
706 - What's New in Security


How iOS Security Really Works


Enterprise, Medical, Education


In iOS 9.3, the shared iPad mode was introduced, when several appleID accounts can use one device. This is true for schools or businesses.
In fact, the whole mechanism is to save and load content via iCloud: between sessions, everything is blocked and the data remains individual. There are optimizations due to which the iPad will not transfer all data again, if at least once they have already been downloaded. This applies to on-demand resources, and to keychain, and to loaded UserPreferences.
The HealthKit, ResearchKit and CareKit frameworks presented earlier have not yet become widely spread on the Russian market, but success stories in the west speak for themselves.


304 - Best Practices for Buildings
237 - Getting Started with CareKit
209 - Getting the Most Out of HealthKit
234 - What's New in ResearchKit
713 - Health and Fitness with Core Motion




watchOS


In watchOS 3, most of the innovations relate to the correction of those defects that made previous versions of the platform non-usable. Appeared AppDock, which not only contains links to launch favorite applications, but also causes the system to keep them in a running state and run in a split second. For the same, there is a mechanism for updating the background of all application components: a screenshot in the dock, Complication on the main screen and applications on the iPhone.


Also, third-party applications now have access to all digital crown events, full control over touch input processing (swipe, drag, pan, long press gestures) and constant access to accelerometer data. There is a hope that with all this you can make the same fast and responsive applications, as on iOS.
Notifications on watchOS can now be local - that is, show only on the clock and not get on the phone.


235 - Building Great Workout Apps
208 - What's New in watchOS 3
Frankly, you can stop at session 208. Everything else is the same, but in a different sauce:
211 - Quick Interaction Techniques for watchOS
7 227 - Architecting for Performance on watchOS 3
218 - Keeping Your Watch App Up to Date




Design


There were fewer design sessions this year, and the content is not very interesting. Of course, all the information is collected in the guidelines, but the illustration does not hurt.


As you know, Apple systems from last year use the new San Francisco font family. This year, monospace varieties are added in all styles: SFMono. In Xcode 8, all of them will be included by default, from the features: the width of characters of one point is the same in all styles, numbers and symbols are specifically configured for development, there are Cyrillic characters in the fonts.


803 - Typography and Fonts


For watchOS, Apple designers have a few recommendations. Applications must first be "glanceable", that is, deliver content in a minimum number of steps. The typical time of interaction with the clock should remain within 2 seconds.
804 - Designing Great Apple Watch Experiences


Also this year, the traditional Keynote design sessions continued. In detail, the process of prototyping and screening options.
805 - Iterative UI Design
801 - Inclusive App Design
802 - Designing for tvOS


Every year passes Design Awards. Get inspired here:
103 - Apple Design Awards


Review of design options




Swift 3


For Swift 3, in addition to syntax changes, thousands of methods were renamed in system frameworks. Apple calls it “Grand Renaming”, and the system APIs are finally getting rid of the old legacy.


402 - What's New in Swift
403 - Swift API Design Guidelines
419 - Protocol and Value Oriented Programming in UIKit Apps
207 - What's New in Foundation for Swift
404 - Getting Started with Swift
416 - Understanding Swift Performance


Since Swift was launched a year ago in the open source, Apple is promoting it as a language for server development as well.
415 - Going Server-side with Swift Open Source


Swift Playgrounds is coming soon on the iPad - a code editor for teaching children to programming in Swift.
408 - Introducing Swift Playgrounds


Presidio




Xcode 8


Xcode gets better every year, although there are still nasty jambs and problems.


The system for signing applications for testing on devices has been seriously reworked. If earlier only the thrill-seekers used the Fix Issue button, now the signature logic will allow the system to resolve most problems on its own. Now in the project settings it is recommended to enable the Automatic Signing setting, and all certificates and provisioning profiles will be generated and configured according to the AppleID developer account. This means that you can safely work on several working machines and safely commit the project settings for colleagues. Also, Capabilities settings will automatically work.
Of course, you still have the opportunity to do everything yourself, in order to clearly send the assembly to the app.


401 - What's New in Xcode App Signing
213 - Improving Existing Apps with Modern Best Practices
409 - Advanced Testing and Continuous Integration
417 - Debugging Tips and Tricks
414 - Using and Extending the Xcode Source Editor
410 - Visual Debugging with Xcode
413 - Introduction to Xcode


222 - Making Apps Adaptive, Part 1
233 - Making Apps Adaptive, Part 2


The tools also have updates and new features.
411 - System Trace in Depth
412 - Thread Sanitizer and Static Analysis
418 - Using Time Profiler in Instruments




iTunesConnect


Changes in iTunesConnect are small but important:


  1. Apple continues to work on reducing the time of the review, and the results were visible for the last six weeks
  2. The subscription mechanism is now available for all categories in the AppStore.
  3. If a user's subscription lasts longer than a year, the developer gets 85% of its value on hand, and this mechanism will work now
  4. In the fall, promotional codes will be added for in-app purchase.
  5. A new dimension has been added to the AppStore Analytics - Impressions. This is viewing the application icon in any place: in the banner, in the Featured, in the search results.
  6. Now iTunesConnect screenshots can be automatically resized down. That is, you can fill them for iPhone 6s Plus, and the rest will be generated automatically
  7. Added a new category of applications for iMessage and stickers
  8. Seriously reformatted requirements App Review Guidelines. They have become more human-readable and understandable. In addition, they were translated into new languages.

305 - What's New in iTunes Connect
301 - Introducing Expanded Subscriptions in iTunes Connect
302 - Introducing Search Ads


AppReview Guidelines Comics


All other sessions (and there is still a lot about the development of games, macOS and tvOS) can be viewed on developer.apple.com


')

Source: https://habr.com/ru/post/303616/


All Articles