New FAQs should be submitted as a new issue with the
faq tag, once accepted it will be added to this document.
First, the Java programming language is widely used and well known by a lot of developpers. It emerged in the early 90s, that is more than 20 years ago. So it is old enough to be considered as mature. With an eventful history, it keeps moving.
Second, the main Java running platform, a.k.a the JVM, is quite ubiquitous on the x86 architecture, supported on almost every operating system and cloud provider. It is now open-source and already available to ARM architectures since Java 8.
has excellent developer tooling (IDEs with automated complex refactorings, continuous integration, static code analysis etc…) ;
comes with a large choice of 3rd party libraries ;
is hugely specified and documented.
And last but not least, the JVM is not tight to the Java programming language as it can run code written in over 50 languages.
As long as it runs on the JVM, yes!
There are some guides for specific languages but the idea is pretty simple and applicable to any. The Global object allows you take control of controllers and filters instanciation and invocation. You just have to write some glue code. Ah, I see your Global object is already in Groovy, cool.
Development mode should work in most situations provided your build system is set up correctly.
The framework provide a default
main class/method for you to reuse but you can also write yours if you need it. This way of running a Werval Application can be seen as embedding Werval.
Yes. The Apache License is very business-friendly. Please observe the obligations on your part, especially regarding notices, trademarks and patent licensing terms.
If you don’t have any SLF4J implementation in your application classpath, you’ll get the following warning:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
From there you simply add Logback (or any SLF4J implementation) to your dependencies and configure it the way you want. And voila!
Sure, Werval is build system agnostic. Integration with Gradle and Maven are provided, if you happen to use another build system you’ll have to write some code but it’s definitely possible.
See the Getting Started page.
Not yet, see #30