Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Best Strategy for Developing App Architecture and High Quality App

This presentation is my tech. sharing for Yahoo Mobile Developer Conference 2016 in taiwan. Introducing YDevelopKit project and DevOps flow in Taiwan Yahoo.

  • Identifiez-vous pour voir les commentaires

Best Strategy for Developing App Architecture and High Quality App

  1. 1. Best Strategy for Developing App Architecture and High Quality App Anistar Sung ABU Engineering Manager, Yahoo
  2. 2. Duration of Development Quality of Product
  3. 3. CHALLENGE
  4. 4. I want red color background. Challenge on Color Design easy sync tool for designer Designer said:
  5. 5. Sure! Challenge on Color Design easy sync tool for designer Developer said: self.backgroundColor = [UIColor redColor];
  6. 6. I want #7b19a9 color background. Challenge on Color Design easy sync tool for designer Designer said:
  7. 7. Hmmm… What the color is? Challenge on Color Design easy sync tool for designer Developer said:
  8. 8. I want Yahoo purple background. Challenge on Color Design easy sync tool for designer Designer said:
  9. 9. Using Category to improve UIColor + (UIColor *)colorWithHexString:(NSString *)hexstring;
 + (UIColor *)colorWithHexNumber:(NSUInteger)hexNumber; Challenge on Color Design easy sync tool for designer
  10. 10. Management your theme color + (UIColor *)themeBackground; + (UIColor *)themeForeground; + (UIColor *)themeDisabled; + (UIColor *)themeFocus; + (UIColor *)themeHighlight; + (UIColor *)themeTitle; + (UIColor *)themeSubtitle; Challenge on Color Design easy sync tool for designer
  11. 11. + (UIColor *)themeBackground
 {
 return [UIColor colorWithHexString:@"1f2f3b"];
 } + (UIColor *)themePanel
 {
 return [UIColor colorWithHexString:@"333e49"];
 } Change once apply anywhere Theme color management
  12. 12. + (UIColor *)themeBackground
 {
 return [UIColor colorWithHexString:@"dedede"];
 } + (UIColor *)themePanel
 {
 return [UIColor colorWithHexString:@"f4f4f4"];
 } Change once apply anywhere Theme color management
  13. 13. Change once apply anywhere Theme color management
  14. 14. YDevelopKit
  15. 15. Introducing YDevelopKit in iOS development Jeff Lin ABU Senior App Engineer, Yahoo
  16. 16. YDevelopKit Hex Color Date Formatter Number Formatter Gradient View Over 100+ features Animation App Util Nib Size Calculator CalculatorHelper AutoLayout Constraint Tool Image Filters ModalMaskView Dynamic width/height Cell Pull to Refresh Infinite scrolling
  17. 17. YDevelopKit Hex Color Date Formatter Number Formatter Gradient View Over 100+ features Animation App Util Nib Size Calculator CalculatorHelper AutoLayout Constraint Tool Image Filters ModalMaskView Dynamic width/height Cell Pull to Refresh Infinite scrolling
  18. 18. 5pt 20pt [today hideViewWidth]; [today hideTrailingConstraint]; [8hr hideViewWidth]; [8hr hideTrailingConstraint];
  19. 19. Demo Using UIView+YDKAutoLayoutSupport
  20. 20. Image Filters
  21. 21. Color replacement
  22. 22. Color replacement
  23. 23. ModalMaskView
  24. 24. Demo Using UIImage+YDKImageFilter
  25. 25. Dynamic Height/Width cell
  26. 26. Demo Using YDKCellDynamicSizeCalculator
  27. 27. Pull to Refresh & Infinite scrolling
  28. 28. Demo Using UIScrollView+YDKPullToRefreshView
  29. 29. The following story is inspired 
 by actual events
  30. 30. SOFTWARE TESTING IS 
 NOT OPTIONAL but it doesn’t have to be a burden
  31. 31. The DevOps Strategy in Mobile Development QC Li ABU Senior App Engineer, Yahoo
  32. 32. DevOps
  33. 33. DevOps Continuous Delivery
  34. 34. Continuous Delivery “Continuous Delivery (CD) is a software engineering approach in which teams keep producing valuable software in short cycles and ensure that the software can be reliably released at any time. — Wikipedia
  35. 35. Continuous Delivery “Continuous Delivery (CD) is a software engineering approach in which teams keep producing valuable software in short cycles and ensure that the software can be reliably released at any time. — Wikipedia
  36. 36. Continuous Delivery Commit to Production without human intervention
  37. 37. Continuous Delivery Pipeline ▪ Workflow of tasks ▪ Automatically delivers code from commit to production Automation Commit Commit Stage Acceptance Testing Non-functional Testing Production Candidate Release
  38. 38. Continuous Delivery Pipeline ▪ Keep everything in Version Control Automation Version Control Ready for release Commit Stage Acceptance Testing Non-functional Testing Production Candidate A Commit A
  39. 39. Continuous Delivery Pipeline Automation Version Control Ready for release Commit Stage Acceptance Testing Non-functional Testing Production Candidate A Automation Commit B Commit Stage Acceptance Testing Non-functional Testing Production Candidate B Commit A ▪ Keep everything in Version Control
  40. 40. ▪ Each change should propagate through the pipeline instantly Continuous Delivery Pipeline Trigger Commit A Commit Stage Acceptance Testing Non-functional Testing
  41. 41. Continuous Delivery Pipeline ▪ If any part of the pipeline fail, stop the line. Trigger Commit A Commit Stage Acceptance Testing Non-functional Testing Trigger Feedback
  42. 42. Continuous Delivery Pipeline ▪ If any part of the pipeline fail, stop the line. Trigger Production Candidate Commit A Commit Stage Acceptance Testing Non-functional Testing Trigger Trigger Trigger Trigger Trigger Commit B Commit C Trigger Trigger Feedback
  43. 43. Continuous Delivery Pipeline ▪ Let the state of pipeline visible Trigger Production Candidate Commit A Commit Stage Acceptance Testing Non-functional Testing Trigger Trigger Trigger Trigger Trigger Commit B Commit C Trigger Trigger Feedback
  44. 44. Continuous Delivery Pipeline ▪ Let the state of pipeline visible ● Dashboard
  45. 45. Continuous Delivery Pipeline ▪ Let the state of pipeline visible ● Physically
  46. 46. Demo Using physical device to be the whistle
  47. 47. TVBS News Visits Yahoo Office
  48. 48. Continuous Delivery Pipeline
  49. 49. App Release ▪ Submit the production candidate to Google Play / App Store .apk .ipa
  50. 50. After Release ▪ If find an error in production… ▪ Add test cases to prevent it, 「不貳過」
  51. 51. Duration of Development Quality of Product
  52. 52. YDevelopKit Open Source is Coming Soon…
  53. 53. Q + A

×