wwdc14. let's discuss what we've saw and heard - tech hangout #40 - 2014.06.19
DESCRIPTION
On June 19, in the format of Tech Hangout internal meetings Dmitriy Osipa, Senior Software Engineer at Innovecs, talked about his own impressions on WWDC14 Conference that took place June 2-6 in San Francisco. *TECH HANGOUT COMMUNITY was found in 2012 by the developers for the developers for knowledge and experience sharing. Such meetings are the part of Innovecs Educational Project that actively develops sphere of internal trainings and knowledge exchange program among professionals. This Initiative was born within the walls of Innovecs and has proved to be extremely popular and high-demand. In a short period of time it gained its own Facebook group with more than 100 members, blog with more than 40 posts and constant quarterly external meeting of Tech hangout community with more than 80 participants. The concept of the event proposes a 30-minute report on the topic previously defined, and the discussion in a roundtable session format. Join to discuss - https://www.facebook.com/groups/techhangout/TRANSCRIPT
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!