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.

Steffen D. Sommer

November 09, 2017
Tweet

More Decks by Steffen D. Sommer

Other Decks in Programming

Transcript

  1. !

  2. !"

  3. !"

  4. !

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

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

  7. !

  8. • New language • New package manager • New framework

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

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

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

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

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

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

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

    Overhead in crea?ng and maintaining open source packages • Lack of documenta?on • Outdated resources
  16. • 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
  17. • 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
  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 • Lots of boilerplate • Linux quirkiness
  19. • 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
  20. • 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
  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 • DocumentaDon is improving • More and more resources
  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 • DocumentaDon is improving • More and more resources • Bigger community - more experts
  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 • Bigger community - more experts • Less boilerplate
  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 • Less boilerplate • Swi$ on Linux is more mature
  25. • 25+ customer projects • 30+ open source packages •

    Hos7ng fees are going down • More and more of our iOS developers starts to catch up
  26. • 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
  27. • 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
  28. 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