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

CircleBack and WWDC 2015

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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