WWDC14. Let's discuss what we've saw and heard - Tech Hangout #40 - 2014.06.19
description
Transcript of WWDC14. Let's discuss what we've saw and heard - Tech Hangout #40 - 2014.06.19
Results and Impressions
What was presented?– iOS 8– OS X 10.10 Yosemite– Dev Tools major changes– CloudKit
What was presented?– iOS 8– OS X 10.10 Yosemite– Dev Tools major changes
iOS 8
What’s new?• Major AppStore improvements
• Extensions
• Fixes for old API’s
• Completely new API’s (HealthKit, HomeKit, Metal, CloudKit,.\ etc.)
• Widgets in Notification Center
• etc.
Fixes for old API’s
• View Controller
• UIAlertController & UIPopoverPresentationController
• Keyboard
• etc.
View Controllers
• No more interface orientations
• Easier custom transitions
• Easier universal applications
Interface Orientations handling
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
UIPresentationController
• presentation of view controllers
• animations
• contentView in which a presentation occurs
• presenting and presented views
UIAlertController• One controller to handle alerts and action
sheets
• Presented in the same window(no more rotation workarounds!)
• Uses modern block based API
• Different appearances for landscape and portrait
Keyboard
• custom keyboards
• Returns coordinates in current interface orientation
UISplitViewController
• Available on iPhoneUISplitViewControllerDisplayModeAutomatic,
UISplitViewControllerDisplayModePrimaryHidden, UISplitViewControllerDisplayModeAllVisible, UISplitViewControllerDisplayModePrimaryOverlay
Dev Tools
Xcode 6Swift
Why you should use Swift?
• Safety
• type checks
• optionals
• typed collections
• better memory management
• Bunch of functional paradigms
• immutability by default
• generics
• closures
• tuples
• etc.
Why you should use Swift?
• Playgrounds and REPL
• Good integration with Obj-C code
• Good, short and readable syntax
* - http://fuckingblocksyntax.com
Obj-C block declaration*returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
Swift closurevar block = { (var parameters) in
…}
Why you should’n?
• Syntax will be changed in future
• Performance is not so good, as shown in Keynote
• It’s impossible to create a Framework
• Lacks some usual object-oriented language features (Access modifiers, etc.)
Xcode 6
• View Debugging
• Swift support
• Universal storyboards
• Interface builder supports custom objects
• etc.
Demo
Thank You!