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

Kotlin or Swift, why not both?

Bas Broek
November 14, 2019

Kotlin or Swift, why not both?

On Kotlin, Swift, and how we work together across and within teams at XING.

Given at a Google Developer Group meetup in Valencia with Laura Oran (twitter.com/sastresa)

Bas Broek

November 14, 2019
Tweet

More Decks by Bas Broek

Other Decks in Programming

Transcript

  1. Kotlin or Swift - why not both? Bas Broek &

    Laura Orán
  2. 2 Meeting point func makeIncrementer() -> ((Int) -> Int) {

    func addOne(number: Int) -> Int { 1 + number } return addOne } let increment = makeIncrementer() increment(7) fun makeIncrementer(): (Int) -> Int { val addOne = fun(number: Int): Int { return 1 + number } return addOne } val increment = makeIncrementer() increment(7) Similar syntax Kotlin Swift
  3. 3 Same architectures Meeting point Presenter Model View ViewModel Model

    View
  4. 4 Common tools Meeting point

  5. 5 1. XING Android app: 70% of the code 2.

    XING iOS app: 50% of the code Kotlin & Swift our current status
  6. 6 iOS 33 developers Our teams Android 32 developers ...

    and more than 15 feature teams
  7. 7 • Emails • Push notifications • Badges • Notification

    Center Notifications Team
  8. 8 • Platform-focused "core" teams • Includes user experience design,

    product owners, tester • Coordinate and help the wider iOS "Community" • App-wide improvements and architecture • High-level overview of the product Platform teams
  9. 9 • Tooling • Continuous Integration • Release Management •

    Main coordination with Platform teams Mobile Releases Team
  10. 10 Reality at XING

  11. 11 Architecture

  12. 12 Communication is hard

  13. 13 Knowledge Sharing

  14. 14 Access Token Alignment - Unified experience across platforms -

    ... both technical and for the user - Faster improvements going forward - Exchange between platforms
  15. 15 XING Design System • Cross-platform - iOS, Android and

    Web • Shared design language • Accessibility 15
  16. 16 Mobile First..?

  17. 17

  18. 17 Conclusion

  19. 17 Conclusion

  20. 17 Conclusion - It's not just about the language

  21. 17 Conclusion - It's not just about the language -

    Communication is important
  22. 17 Conclusion - It's not just about the language -

    Communication is important - Figure out how to work together
  23. 17 Conclusion - It's not just about the language -

    Communication is important - Figure out how to work together - Keep improving the technical landscape
  24. 17 Conclusion - It's not just about the language -

    Communication is important - Figure out how to work together - Keep improving the technical landscape - Consider shared patterns to ease knowledge sharing
  25. 17 Conclusion - It's not just about the language -

    Communication is important - Figure out how to work together - Keep improving the technical landscape - Consider shared patterns to ease knowledge sharing - Learn from each other's challenges & solutions
  26. Thanks! We are hiring! @sastresa @basthomas

  27. 2 3 19 Native devs? 1

  28. 2 3 19 Native devs? 1