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.

Doing more in less time - Mobiconf

178 views

Published on

Mobiconf slides

Published in: Mobile
  • Be the first to comment

  • Be the first to like this

Doing more in less time - Mobiconf

  1. 1. The art of developing more in less time - how to not get caught by long build times? @EliSawic
  2. 2. The art of developing more in less time @EliSawic
  3. 3. How to not get caught by long build times? @EliSawic
  4. 4. About me Eliasz Sawicki Blog: www.eliaszsawicki.com Twitter: @EliSawic www.brightinventions.pl @EliSawic
  5. 5. The beginning... @EliSawic
  6. 6. Objective-C @EliSawic
  7. 7. $wift @EliSawic
  8. 8. Think @EliSawic
  9. 9. A short story about Love @EliSawic
  10. 10. A short story about Love 1. Friendship @EliSawic
  11. 11. A short story about Love 1. Friendship 2. Love @EliSawic
  12. 12. A short story about Love 1. Friendship 2. Love 3. Doubt @EliSawic
  13. 13. A short story about Love 1. Friendship 2. Love 3. Doubt 4. Betrayal @EliSawic
  14. 14. A short story about Love 1. Friendship 2. Love 3. Doubt 4. Betrayal 5. Starting over again @EliSawic
  15. 15. A short story about Love 1. Friendship 2. Love 3. Doubt 4. Betrayal 5. Starting over again 6. Rebuild the trust @EliSawic
  16. 16. How does it end? @EliSawic
  17. 17. Friendship @EliSawic
  18. 18. Objective-C @EliSawic
  19. 19. The UIKit @EliSawic
  20. 20. Why do we need UIKit? @EliSawic
  21. 21. Love @EliSawic
  22. 22. Swift @EliSawic
  23. 23. Practice @EliSawic
  24. 24. Tests! @EliSawic
  25. 25. Why do we need tests? @EliSawic
  26. 26. Why do we have brakes in a car?? @EliSawic
  27. 27. To go faster! @EliSawic
  28. 28. Test Driven Development @EliSawic
  29. 29. Doubt @EliSawic
  30. 30. Long build times @EliSawic
  31. 31. Slow feedback loops @EliSawic
  32. 32. No tests for you today @EliSawic
  33. 33. Betrayal @EliSawic
  34. 34. React Native @EliSawic
  35. 35. Testing feels natural @EliSawic
  36. 36. Qucik reloading @EliSawic
  37. 37. Not a silver bullet @EliSawic
  38. 38. Starting over again @EliSawic
  39. 39. What was the problem? @EliSawic
  40. 40. Long build times @EliSawic
  41. 41. Slow feedback loop @EliSawic
  42. 42. Rebuild the trust @EliSawic
  43. 43. Tackling compilation times @EliSawic
  44. 44. Type Inference @EliSawic
  45. 45. Bottleneck @EliSawic
  46. 46. Warnings -Xfrontend -warn-long-function-bodies=200 -Xfrontend -warn-long-expression-type-checking=100 @EliSawic
  47. 47. Did not work in my case @EliSawic
  48. 48. Debug information format @EliSawic
  49. 49. With or without you? @EliSawic
  50. 50. Take a look at your build phases @EliSawic
  51. 51. Build phases @EliSawic
  52. 52. Build phases @EliSawic
  53. 53. Xcode settings defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 10 defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 5 @EliSawic
  54. 54. Build Active Architecture Only @EliSawic
  55. 55. Whole module optimization @EliSawic
  56. 56. Drastically decreased time in which the project compiles @EliSawic
  57. 57. A catch @EliSawic
  58. 58. A trick @EliSawic
  59. 59. Why isn't it turned on all the time? @EliSawic
  60. 60. Build tools @EliSawic
  61. 61. Bazel, Buck @EliSawic
  62. 62. Xcode @EliSawic
  63. 63. Xcode @EliSawic
  64. 64. Managing dependencies @EliSawic
  65. 65. Easy way to decrease the compilation time by half @EliSawic
  66. 66. Do not compile the other half @EliSawic
  67. 67. Modularizing the code @EliSawic
  68. 68. More things to think about... @EliSawic
  69. 69. Is it bad? @EliSawic
  70. 70. Nope @EliSawic
  71. 71. How do we split? @EliSawic
  72. 72. Don't bite off more than you can chew @EliSawic
  73. 73. Step by step @EliSawic
  74. 74. What is the code that I write? @EliSawic
  75. 75. We write apps! @EliSawic
  76. 76. Do we really write apps? @EliSawic
  77. 77. Tests! @EliSawic
  78. 78. Why do we compile the UI code? @EliSawic
  79. 79. Separating the UI @EliSawic
  80. 80. Is it bad that we break up with UIKit? @EliSawic
  81. 81. Nope @EliSawic
  82. 82. MVC @EliSawic
  83. 83. MVC @EliSawic
  84. 84. MVVM @EliSawic
  85. 85. MVVM @EliSawic
  86. 86. Why would you remove UIKit? @EliSawic
  87. 87. Passive Views @EliSawic
  88. 88. Logic @EliSawic
  89. 89. Why are they still together? @EliSawic
  90. 90. Multiple targets @EliSawic
  91. 91. One for UIKit @EliSawic
  92. 92. One for logic @EliSawic
  93. 93. Two for Tests @EliSawic
  94. 94. Can be used anywhere @EliSawic
  95. 95. Better architecture @EliSawic
  96. 96. Easier to maintain @EliSawic
  97. 97. Speeded up tests @EliSawic
  98. 98. Faster builds @EliSawic
  99. 99. The art of developing more in less time - how to not get caught by long build times? @EliSawic
  100. 100. The art of developing more in less time @EliSawic
  101. 101. How to not get caught by long build times? @EliSawic
  102. 102. Time is not the only issue @EliSawic
  103. 103. It's about the experience @EliSawic
  104. 104. How does it end? @EliSawic
  105. 105. It depends @EliSawic
  106. 106. It depends on you @EliSawic
  107. 107. @EliSawic www.eliaszsawicki.com @EliSawic

×