Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

iOS Development experience (with Swift) guest lecture for NUS CS3217

1,509 views

Published on

The guest lecture I gave to students in NUS Computing CS3217 on iOS Development. It is primarily about developmental issues using Swift as well as differences between an app developed in a school environment vs a production app in companies.

Published in: Software
  • Great information about writing! If you ever need any help with proofreading, editing or research check out Writer’s Help. They are a great resource for personal, educational or business writing needs. The website is HelpWriting.net
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

iOS Development experience (with Swift) guest lecture for NUS CS3217

  1. 1. My iOS dev experiences By: Yeo Kheng Meng (CS3217 alumni) https://github.com/yeokm1 http://yeokhengmeng.com/ yeokm1@gmail.com
  2. 2. About me • Year 4 Computer Science student • Interned in two startups doing Android and iOS • Developer for NUS SoC Print app (iOS and Android) • Took CS3217 from Jan to May 2014 • Last class in Objective-C
  3. 3. Just four main areas 1. CS3217 app vs production app 2. Experience in developing my iOS (Swift) app and publishing to app store 3. Stuff I learned in the workplace as an iOS dev 4. Working with Android devs
  4. 4. Disclaimer • I’m not a Swift expert • I may make mistakes • Practices I suggest may not be the best • Apple may have changed • New UI guidelines • New/Modified APIs
  5. 5. 1. CS3217 app vs Production app Type CS3217 Production Screen type/resolution (inches) 10” iPhone: 3.5”, 4”, 4.7”, 5.5” Device types/functions iPad Air iPhone: 4S, 5, 5S, 6, 6+ iPod Touch: 5G iPad: 2, 3, 4, Air, Air 2, Mini, Mini 2 OS version iOS8 iOS7, iOS8 UI polish Just satisfy Prof Sim and STEPS visitors Must satisfy Apple’s human interface “guidelines” User support/feedback/improvements None Negative ratings or lost customers for you if you don’t Code robustness Good enough to demo Very high Your Bible: https://developer.apple.com/library/ios/documentation/UserExperie nce/Conceptual/MobileHIG/
  6. 6. 2a. App intro https://itunes.apple.com/sg/app/id916524327 https://github.com/yeokm1/nus-soc-print-ios https://play.google.com/store/apps/details?id=com.y eokm1.nussocprintandroid https://github.com/yeokm1/nus-soc-print • Sends documents for printing to our SoC Unix printers ( psts, pstsb… psc011…)
  7. 7. 2b. How it works? SoC Sunfire serverNUS SOC Print App-to-app transfer SSH http://yeokhengmeng.com/2014/12/nus-soc-print-androidios-background-technical- aspects-and-learning-points/
  8. 8. 2c. Developing with Swift during the early days • Little or no documentation, Stackoverflow examples, online examples, NO NOTHING  • Changing APIs (especially ? or !) • Buggy Xcode betas, iOS 8 betas • Crash loops • Wrong auto-completion • Basic clean insufficient, need clean build folder
  9. 9. 2d. Swift issues today • No auto-refactor • Swift still in flux • https://github.com/ksm/SwiftInFlux • Compatibility with future Apple OSes • No source code compatibility • App Binary compatibility • Embedded Swift runtime • No library binary compatibility • Certain functions/libraries have no Swift equivalent • Apple Reachability library • Existing libraries: NMSSH etc • Solution: Objective C – Swift interoperation (later)
  10. 10. 2f. User support • Users cannot ask questions from the App Store • They just give you negative ratings instead • Make it easy for them to contact you in-app • Put your email/contacts in an easily accessible place • Include device details • Don’t wait for users to report crashes, receive crash reports automatically and act on them. • (More on Crashlytics later)
  11. 11. 2g. Publishing on the app store (actually pitching to Apple) • Prepare a “dummy” user account (if needed) • Prepare 4 sets of screenshots (3.5, 4, 4.7, 5.5) • Ideally on actual devices so you can test at the same time • Make a demo video to boost your chances • Upload way before busy periods • Upload and prayyyyyyyy for 1-2 weeks (or longer…)
  12. 12. 3. Stuff from the workplace • Library package manager (Cocoapods/Carthage) • Reduce repo pollution/size • Keeps libraries up to date • Existing codebase/libraries in Objective-C • Interoperation between Obj-C and Swift code • Bridging headers • Use analytics libraries, get stats and user behaviour (Google Analytics/Flurry) • Debugging library (Crashlytics android example) • Crashlytics signup wait time of a few weeks
  13. 13. The rise of Android iOS only iOS first, Android maybe iOS first, Android later iOS and Android Development priorities over the years:
  14. 14. 4. Working with Android devs • App consistency vs platform consistency • Eg. iOS Tab Bar vs Android Actionbar • Aim for similarity in code/UI behaviour • Limitations on Android vs iOS platform • iOS dev and Android dev takes about the same time • Android testing slower (due to fragmentation) • Android publishes faster to Play Store, can be guinea pigs for you (you read the previous point right) Terms iOS Android UI UIViewController Activity/Fragment Threading NSOperation Asynctask Screen density assets 1x, 2x, 3x xxhdpi, xhdpi, hdpi, mdpi, ldpi Remote notification Apple push notification Google Cloud messaging
  15. 15. Further reading (DO NOT use in CS3217) • Use HTML/CSS for UI with native wrapper eg, Phonegap • Use only C# for both iOS and Android. By Xamarin • How Dropbox Uses C++ for Cross-Platform iOS and Android Development • Google’s Java to Objective C transpiler • Used by Inbox app
  16. 16. Questions time • Need maintainer for both iOS/Android SoC print apps after I graduate • yeokm1@gmail.com

×