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

CircleBack and WWDC 2015

CircleBack and WWDC 2015

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