Quarkus Renarde
An old-school web framework, but modernised
Quarkus Renarde: what again now, after Panache?
● A Web Framework
● Old-school, after Rails / Play 1 / with a you-know-what-I-mean attitude
● Server-side templates with Qute
● Persistance with Hibernate ORM/Reactive with Panache
● JAX-RS++ with RESTEasy Reactive++
● URLs URLs URLs
● Cient-side deps with webjars
● Security with JWT, OIDC, WebAuthn «fingers in the nose»
○ Yuck
Qute
● Server-side templating
● Wait, isn’t that dusty and old?
○ False !
● Lots of new additions
● Global variables with type-checking
● Simpler tag arguments
● Typed tag arguments, default values
● Lots of UX progress
JAX-RS++ with RESTEasy Reactive++
● Simpler endpoints
○ @GET by default
○ @Transactional by default for PUT/POST/DELETE
○ @Path implicit
● Base class Controller
● Call an endpoint to do a redirect
● Otherwise, use Router.getURI(Class::method, arguments
) to
obtain a URI
● In templates, use {uri:Class.method(arguments
)}
● Delayed validation for richer validation
● Flash Scope
Security, easier
● Utility classes to help with security, favour JWT
● Same for OIDC, WebAuthn
● In all cases:
○ Work together
○ Trivial configuration
○ Great docs
● Lots of bug et UX fixes
● Testing with OIDC, WebAuthn mocks
TODO: do a demo
And now?
● Support Renarde + OIDC in Quarkus 2.8
○ OIDC Twitter / Spotify, WebAuthn dans Quarkus 2.9
● Quarkus Renarde
○ Release 1.0.0 on Quarkiverse
● https://github.com/quarkiverse/quarkus-renarde
● TODO app sample:
○ https://github.com/FroMage/quarkus-renarde-todo
● Integration with web components, Quinoa?
● I18N, other?
● Users and feedback would be great :)
○ Contributors even better!

Quarkus Renarde đŸŠŠâ™„: an old-school Web framework with today's touch | DevNation Tech Talk

  • 1.
    Quarkus Renarde An old-schoolweb framework, but modernised
  • 2.
    Quarkus Renarde: whatagain now, after Panache? ● A Web Framework ● Old-school, after Rails / Play 1 / with a you-know-what-I-mean attitude ● Server-side templates with Qute ● Persistance with Hibernate ORM/Reactive with Panache ● JAX-RS++ with RESTEasy Reactive++ ● URLs URLs URLs ● Cient-side deps with webjars ● Security with JWT, OIDC, WebAuthn «fingers in the nose» ○ Yuck
  • 3.
    Qute ● Server-side templating ●Wait, isn’t that dusty and old? ○ False ! ● Lots of new additions ● Global variables with type-checking ● Simpler tag arguments ● Typed tag arguments, default values ● Lots of UX progress
  • 4.
    JAX-RS++ with RESTEasyReactive++ ● Simpler endpoints ○ @GET by default ○ @Transactional by default for PUT/POST/DELETE ○ @Path implicit ● Base class Controller ● Call an endpoint to do a redirect ● Otherwise, use Router.getURI(Class::method, arguments
) to obtain a URI ● In templates, use {uri:Class.method(arguments
)} ● Delayed validation for richer validation ● Flash Scope
  • 5.
    Security, easier ● Utilityclasses to help with security, favour JWT ● Same for OIDC, WebAuthn ● In all cases: ○ Work together ○ Trivial configuration ○ Great docs ● Lots of bug et UX fixes ● Testing with OIDC, WebAuthn mocks
  • 6.
  • 7.
    And now? ● SupportRenarde + OIDC in Quarkus 2.8 ○ OIDC Twitter / Spotify, WebAuthn dans Quarkus 2.9 ● Quarkus Renarde ○ Release 1.0.0 on Quarkiverse ● https://github.com/quarkiverse/quarkus-renarde ● TODO app sample: ○ https://github.com/FroMage/quarkus-renarde-todo ● Integration with web components, Quinoa? ● I18N, other? ● Users and feedback would be great :) ○ Contributors even better!