Child pages
  • Javascript api proposal
Skip to end of metadata
Go to start of metadata

This is a proposal for migrating the SmartGWT javascript api to GWT2.

There is consensus on turning the javascript api to a separate project (if possible with a more liberal license for the api, not the implementation).

Project pom:


<project xmlns="" xmlns:xsi="" xsi:schemaLocation="">



	<name>Geomajas Project JavaScript - All</name>
	<description>Geomajas Project JavaScript - All</description>


Project structure:


  • geomajas-project-javascript: parent pom

    • api: gwt2 api

    • server-extension-api: gwt2 server extension api
    • editing-api: editing api
    • gwt: smartgwt parent pom

      • impl: gwt implementation
      • server-extension: gwt implementation
      • assembly: compiled gwt for direct use in non-gwt context (zip with js and html ?)
      • example: gwt example (or put html and javascript in common module ?)
      • documentation: or common documentation ?
      • plugin
        • editing: gwt implementation
    • gwt2: gwt2 parent pom

      • impl: gwt2 implementation
      • server-extension: gwt2 implementation
      • assembly: compiled gwt for direct use in non-gwt context (zip with js and html ?)
      • example: gwt2 example (or put html and javascript in common module ?)
      • documentation: or common documentation ?
      • plugin
        • editing: gwt2 implementation


Package naming

The java package naming should follow the general rules:





The javascript package naming should be more concise: geomajas.Xxx, geomajas.editing.Xxx

Be careful to avoid name clashes  !!!


  • No labels

1 Comment

  1. About the licensing issue:

    • any derivative work of a GPL program should also be GPL licensed. 
    • but we can license the javascript api (java code) as apache (it has no dependencies on gpl code)
    • we still have to license the java implementation of the api as GPL (as it uses Geomajas client)
    • what about the javascript library that results from this ? I think it is also GPL, but if people only communicate through the javascript-translated java api they should be ok, as anybody could make a different implementation of the api that is e.g. apache licensed.