ROADMAP - growbit/turbogwt GitHub Wiki

CORE

  • Develop a Promises API to be used in HTTP module.

NET

  • Create a cache mecanism (Cache<K, V> and CacheManager). Cache should have a timeout and throw some CacheExpiredEvent when it's gone. Options like autorefresh are welcome.
  • Cache should be responsible for requesting its data, or should we create another component wrapping Cache and performing these kind of operations? (like a datasource<K, V>)
  • Create a manager for Cookies.

NET-HTTP

  • Sweetly support JSONP requests. Maybe it will be necessary to create a Future to represent the request result for both JSONPRequest and Request.
  • Improve Fluent API design.
  • Create an abstract XML Serdes (like JsonObjectSerdes).
  • Create an option to generate Serdes, using some existing serializing library.

MVP-CORE

  • Design an AbstractPlace supporting:
    • Multiple parameters
    • URL delimiters customization:
      • Route delimiters (path)
      • Param delimiters (query, matrix)
  • Design an PlaceHistoryMapper handling the above AbstractPlace
  • Design an AbstractActivity supporting the above AbstractPlace
  • Design a simple and pluggable Presenter to be cross-platform used, based on this (T. Broyer's) comment. Should it have a simplified and use-case based lifecycle? (See this discussion)
  • Move some components from turbogwt-databind to it.
  • Create something like a TableModel to be plugged into View. Following the Passive-View pattern, we seek to avoid View knowing about the Model. So the view would use some table model created by the Presenter (or outside) to construct its AbstractCellTable.

MVP-DATABIND

  • Create a Property annotation holding String id and String display. It will be used to generate a Property object with get/set capabilities besides providing these two util data. (Id will be used for binding identification and DOM element id; Display will be used to label the field in the view for both editing and listing)
  • Create a TableColumnGenerator based on this Goudreau's article.
  • Create (Presenter) Binding via Deferred Binding, automatically registering the fields identified by some annotation.
  • Automatically bind view widgets using some annotation (like UiField).
  • Support Java Validation API. Customizable messages should be supported, including access to field, method and class names, in order to produce better messages.
⚠️ **GitHub.com Fallback** ⚠️