Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CircleBack and WWDC 2015

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

CircleBack and WWDC 2015

Avatar for Pat Zearfoss

Pat Zearfoss

June 16, 2015
Tweet

More Decks by Pat Zearfoss

Other Decks in Technology

Transcript

  1. Swi$%2.0 • Under'the'hood'improvements • New'language'features • Error'handling'(do'...'try) • Guard'keyword •

    Improvements'to'protocols'allow'different'programming' paradigms • Error'handling'is'arguably'first'class
  2. Wut -(NSArray *)gimmeItems func gimmeItems() -> [AnyObject]? -(NSArray<UIView *>*)gimmeItems func

    gimmeItems() -> [UIView]? -(__nonnull NSArray<UIView *>*)gimmeItems func gimmeItems() -> [UIView] -(__nonnull NSArray<__kindOf UIView *>*)gimmeItems func gimmeItems() -> [UIView]
  3. Other&Swi*&improvements • Errors&are&first&class&ci.zens.& • Not&excep.ons,&but&a&func.on&can&throw&an&error.& • Errors&are&enum&types • Which&are&mapped&to&NSError •

    Protocol&imporovements • Which&I&don’t&fully&understand • Allows&for&different&seman.cs&on&collec.on&func.ons
  4. • NSUserAc)vity"(aka"handoff) • Like"a"browser"history • Index"things"the"user"has"done • CoreSpotlight • Index"of"user"content

    • Database<like • Web6Markup • Used"if"content"is"mirrored"on"the"web. CoreSpotlight!is!clearly!the!right!API!for!us!to!use.
  5. How$should$we$use$search$apis? • Contacts)can)be)indexed)in)CoreSpotlight • Updates)could)be)NSUserAc9vi9es • Watch)handoff) • Siri)/)reminders) •

    There)are)foreground)and)background)modes)we)should)explore • We)will)need)to)support)deep)linking)in)new)ways • We)should)be)sure)to)make)our)search)results)as)engaging)as)possible.)Ranking'is')ed' to'engagement • Designers)should)watch)end)of)video
  6. Miscellaneous • XCode'support'crash'repor0ng. • Storyboards'have'been'improved'with'support'for'mul0ple'files' without'hackey'custom'transi0ons • CoreData'has'be@er'support'for'async'behavior' (NSAsynchronousFetchRequest) •

    CoreData'will'allow'a'uniqueness'constraint'across'a'set'of'columns • Session'226'on'opera0ons'explains'what'I’ve'been'advoca0ng'for'in' terms'of'refactoring'our'network'stack.'
  7. Final&recommenda-ons • Adopt'Xcode'server'for'CI.'Even'run'on'the'beta'and'file'radars • Begin'to'adopt'swi>'for'some'new'code. • Adopt'nullability'now'in'new'code,'and'where'touching'old'code • Adopt'generics'when'available'in'new'code'and'when'touching'old'code. •

    Migrate'exisDng'watch'app'to'2.0,'but'maintain'funcDonality • Prepare'for'iOS'9'by'using'Contacts'framework'where'it’s'available • Need'to'use'a'clean'runDme'check. • ConDnue'discussion'about'how'we'should'use'TesOlight