Skip to content

jooby 3: next major release #1712

@jknack

Description

@jknack

This is an open discussion of what we want for Jooby 3.x. For now we will start a discussion here and then cleanup ideas/features to a wiki page (or similar).

Beside is going to be a major release... I'm not planning to break compatibility like we did in 1.x -> 2.x upgrade, so:

  • Web site will keep as it is today: https://jooby.io, same goes for Java package: io.jooby.
  • The 3.x source code will be just a refactor of existing 2.x source code (not an entire rewrite). Unless something really bad/ugly come up, you will be able to upgrade doing a search/replace session.

Some notes I have so far:

  • Review Context API add getter/setter for almost everything (simplify unit test)
  • Keep minimum request/response related method into Context (simply context API)
  • Add getRequest/getResponse method to Context and add all the necessary getter/setter to each of these new Request/Response API
  • Remove bytecode analysis for return types and get back reactive operators (similar to 1.x)
  • Remove asm from jooby core
  • Kotlin Normal route vs Coroutine route try to simplify usage and remove the HandlerContext object. Favor usage of fun some(ctx: Context) and then get("/route", ::some). This probably implies that lambda body route are bind to Context itself
  • Rename FileUpload.destroy to close and make it Closable
  • Value API make them getter friendly
  • Remove runApp. Replace. with new App()
  • Rename Jooby class to WebApp?
  • Use application.logback.xml so we don't have initialization issues

As always, your feedback is welcome

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions