I am hoping we can come up with some form of set of rules or guidelines for those wanting to add a language or framework within a language to the generator process. It would be difficult if not impossible for a company to use .NET, Java, Ruby and Python SDK generators that we build here if each of the generated SDKs have different namings for methods/functions, etc. Naturally having the community build additional generators is a bonus for all of us wanting to have RAML to , but it doesn’t benefit anyone if a .NET generator puts out a completely different SDK syntax than the Java generator. I say this without having good knowledge of .NET, python or ruby… so I suspect there may be some circumstances that may not make the SDKs all “nearly” identical. But things like naming of methods/functions, parameter passing, etc should be consistent.
There is another caveat I am not quite sure how to address. Models. RAML supports XSD and Json Schema. How do we handle the pojo generation of XSD and Json Schemas in different languages such that to stick to the above SDK consistency across language generators, the POJO generation process does not hamper the ability to stay consistent?
I’ve dabbled a wee bit with python POJO generation and at least with XSDs it was possibly to have similar named/created POJOs in python and java. I suspect that .NET will be similar, and I am assuming Ruby and possibly Go as well? Anyone care to enlighten this thread if you know about the respective language and how it handles XSD or Json Schema to Object creation?
Also, maybe not on this thread… but it would be good to start listing out the various “libraries” for each language that can be used for POJO generation. For example, in Java XSDs are typically converted to POJOs with JAXB (often the Jackson library). Json Schema seems to be best supported with a project call JsonSchema2pojo. The Jax-Rs project is using that and I have used it as well for my initial foray into Java SDK generation.
Look forward to the coming discussions!