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

Guardrail: State of the Union 2021-03-18

sullis
March 18, 2021

Guardrail: State of the Union 2021-03-18

Guardrail project
State of the Union
2021-03-18

#scala
#java
#codegen
#openapi

https://guardrail.dev

sullis

March 18, 2021
Tweet

More Decks by sullis

Other Decks in Programming

Transcript

  1. Sean Sulliva
    n

    March 18, 2021
    Guardrai
    l

    State of the Union

    View Slide

  2. Introductio
    n

    What’s ne
    w

    Artisan qualit
    y

    2021 Roadmap

    View Slide

  3. Guardrai
    l

    is
    a

    code generation tool

    View Slide

  4. Guardrail
    OpenAPI
    Java
    Scala

    View Slide

  5. generated code
    OpenAPI

    View Slide

  6. January 2017

    View Slide

  7. First public release
    :

    September 2017

    View Slide

  8. First blog post: March 2018

    View Slide

  9. Guardrail is opinionated

    View Slide

  10. API First development

    View Slide

  11. Strongly typed code

    View Slide

  12. Make illegal states
    unrepresentable

    View Slide

  13. Leverage th
    e

    type system t
    o

    ensure correctness

    View Slide

  14. Embrac
    e

    referential transparency

    View Slide

  15. Favor immutability

    View Slide

  16. Generate idiomatic code

    View Slide

  17. What’s New?

    View Slide

  18. https://github.com/guardrail-dev
    New GitHub org

    View Slide

  19. sbt plugi
    n

    Maven plugi
    n

    Gradle plugin

    View Slide

  20. View Slide

  21. Java collection
    s

    VAVR collections

    View Slide

  22. VAVR support

    View Slide



  23. >

    com.twilio>

    guardrail-maven-plugin_2.12


    0.62.2>



    >

    java-vavr>

    jackson>

    dropwizard>

    async-http-client


    >



    >

    VAVR
    pom.xml

    View Slide

  24. Dropwizar
    d

    Spring MVC

    View Slide

  25. Spring

    View Slide

  26. Sample apps

    View Slide

  27. View Slide

  28. View Slide

  29. View Slide

  30. Artisan quality

    View Slide

  31. Continuous
    integration

    View Slide

  32. Travis CI
    GitHu
    b

    Actions

    View Slide

  33. View Slide

  34. View Slide

  35. Which version of Java?

    View Slide

  36. JDK
    8

    JDK 1
    1

    JDK 13
    JDK 1
    4

    JDK 1
    5

    JDK 16

    View Slide

  37. Build matrix

    View Slide

  38. Publish to Maven Central

    View Slide

  39. ScalaTes
    t

    ScalaChec
    k

    Scoverage
    Testing, Testing, Testing

    View Slide

  40. EqualsVeri
    fi
    e
    r

    sbt-tes
    t

    maven-invoker-plugin
    Testing, Testing, Testing

    View Slide

  41. maven-invoker-plugin
    Integration tests

    View Slide

  42. Roadmap

    View Slide

  43. OpenAPI 3.
    1

    Dropwizard 2.
    x

    Scala 3.0

    View Slide

  44. Final thoughts

    View Slide

  45. Guardrail is awesom
    e

    API First developmen
    t

    Code generation is a force multiplier

    View Slide

  46. Contribute to guardrail !

    View Slide

  47. Questions?

    View Slide

  48. The End

    View Slide