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

From iOS- to Vapor Developer (Øredev)

From iOS- to Vapor Developer (Øredev)

Diving into server-side Swift can seem straightforward at first if one knows the programming language, but it might be harder than you think since it involves developing on a new platform. I will walk you through my journey coming from iOS into Vapor, what challenges I faced, and which strengths I had coming from the iOS platform. I will talk about how these challenges can be overcome and I will share my experiences after working with Vapor in production for 6 months.

Talk given at Øredev 2017 on the 9th of November 2017.

Avatar for Steffen D. Sommer

Steffen D. Sommer

November 09, 2017

More Decks by Steffen D. Sommer

Other Decks in Programming

Transcript

  1. !

  2. ♻

  3. !"

  4. !"

  5. !

  6. • Swi% • Fast • Code share • More fullstack

    developers • Xcode • Big community • Be part of the development
  7. !

  8. ☁

  9. !

  10. • New language • New package manager • New framework

    • Xcode • Limited hos9ng op9ons • Less libraries compared to other web frameworks
  11. • JavaScript (1995): 22 years • Java (1996): 21 years

    • Ruby (1996): 21 years • Swi$ (2014): 3 years
  12. • Spring MVC (2002): 15 years • Ruby on Rails

    (2004): 13 years • Express (2010): 7 years • Kitura/Perfect/Vapor (2016): 1 year
  13. import Vapor let drop = try Droplet() drop.get("hello") { req

    in return "Hello, world." } try drop.run()
  14. • Users do not want to wait for requests to

    return • More performance = more money
  15. • Lots of moving targets (Swi3, Vapor, Vapor Cloud) •

    Overhead in crea,ng and maintaining open source packages
  16. • Lots of moving targets (Swi3, Vapor, Vapor Cloud) •

    Overhead in crea?ng and maintaining open source packages • Lack of documenta.on
  17. • Lots of moving targets (Swi3, Vapor, Vapor Cloud) •

    Overhead in crea?ng and maintaining open source packages • Lack of documenta?on • Outdated resources
  18. • Lots of moving targets (Swi3, Vapor, Vapor Cloud) •

    Overhead in crea?ng and maintaining open source packages • Lack of documenta?on • Outdated resources • Few experts
  19. • Lots of moving targets (Swi3, Vapor, Vapor Cloud) •

    Overhead in crea?ng and maintaining open source packages • Lack of documenta?on • Outdated resources • Few experts • Lots of boilerplate
  20. • Lots of moving targets (Swi3, Vapor, Vapor Cloud) •

    Overhead in crea?ng and maintaining open source packages • Lack of documenta?on • Outdated resources • Few experts • Lots of boilerplate • Linux quirkiness
  21. • Updates are slowing down (Swi3 and Vapor) • Vapor

    Cloud reached 1.0 and is stable • We don't create as many open source packages anymore
  22. • Updates are slowing down (Swi3 and Vapor) • Vapor

    Cloud reached 1.0 and is stable • We don't create as many open source packages anymore • Documenta*on is improving
  23. • Updates are slowing down (Swi3 and Vapor) • Vapor

    Cloud reached 1.0 and is stable • We don't create as many open source packages anymore • DocumentaDon is improving • More and more resources
  24. • Updates are slowing down (Swi3 and Vapor) • Vapor

    Cloud reached 1.0 and is stable • We don't create as many open source packages anymore • DocumentaDon is improving • More and more resources • Bigger community - more experts
  25. • Updates are slowing down (Swi3 and Vapor) • Vapor

    Cloud reached 1.0 and is stable • We don't create as many open source packages anymore • DocumentaDon is improving • More and more resources • Bigger community - more experts • Less boilerplate
  26. • Updates are slowing down (Swi3 and Vapor) • Vapor

    Cloud reached 1.0 and is stable • We don't create as many open source packages anymore • DocumentaDon is improving • More and more resources • Bigger community - more experts • Less boilerplate • Swi$ on Linux is more mature
  27. • 25+ customer projects • 30+ open source packages •

    Hos7ng fees are going down • More and more of our iOS developers starts to catch up
  28. • 25+ customer projects • 30+ open source packages •

    Hos7ng fees are going down • More and more of our iOS developers starts to catch up • We develop faster
  29. • 25+ customer projects • 30+ open source packages •

    Hos7ng fees are going down • More and more of our iOS developers starts to catch up • We develop faster • Less bugs than before making the switch
  30. Resources • Vapor docs: h-ps:/ /docs.vapor.codes/2.0/ • Vapor Slack: h-p:/

    /vapor.team • Vapor @Nodes: h-ps:/ /github.com/nodes-vapor • SwiBConf '17 @gtranchedone: h-ps:/ /www.youtube.com/ watch?v=IuW_hLCsIeQ