When comparing Grails vs ActFramework, the Slant community recommends ActFramework for most people. In the question“What are the best web frameworks to create a web REST API?” ActFramework is ranked 20th while Grails is ranked 28th. The most important reason people chose ActFramework is:
There are two aspects of performance: how quick a developer can deliver a feature and how fast the app is running on the product server. Act is designed to deliver excellent results in both aspects. With unbeatable developing experience, Act makes it very easy to release a feature; on the other side Act is very fast in runtime. Check out this 3rd party benchmark [result](https://github.com/networknt/microservices-framework-benchmark).
Ranked in these QuestionsQuestion Ranking
Pros
Pro Grails is highly scalable
Grails is an abstraction over Spring and Hibernate. This makes Grails applications fast and scalable. This is because both Spring and Hibernate are themselves scalable.
Pro More than 900 plugins
Grails is a full-stack web framework, not just MVC. It contains a lot of stuff out of the box, but it doesn’t enforce it. It contains over 900 plugins which provide a Groovy API for a lot of useful and well-known Java libraries. And what is more important is that they are super easy to install!
Pro Very fast setup and scaffolding
Setting up a new project is quite fast and code generation (scaffolding) saves you a lot of time. It also uses a convention over configuration principle which helps you bypass all the configuration trouble.
Grails also comes with a reloading mechanism out of the box.
Pro Easy to use
Grails is designed to be a rapid development framework with a straight learning curve. It advocates convention over configuration. Extensibility is very simple when using plugins (there is a lot of them). One command in the console – and all the dependencies and configurations are managed for you.
Pro Great UI design alternatives
Do you need something advanced in the UI? You can either create it in GSP with an addon of CSS/JavaScript or you can find a plugin that will do the work for you. Plugins include integration with Bootstrap, jQuery, Yeoman and much more.
Pro Great documentation and community
The Documentation section is actually a wiki, which can be modified by any logged in user. It has an official manual, tutorials, screencasts, a sample app and much more. If that does not do it for you, then there are countless third-party tutorials, more than 12k questions on SO and much much more
Pro Performance
There are two aspects of performance: how quick a developer can deliver a feature and how fast the app is running on the product server. Act is designed to deliver excellent results in both aspects. With unbeatable developing experience, Act makes it very easy to release a feature; on the other side Act is very fast in runtime. Check out this 3rd party benchmark result.
Pro Hot reload
You never restart while you're working on your Act application. Act's hot reload feature is fast and stable, it makes you feel like dealing with scripting language frameworks like Django or NodeJs. Watch this video and feel it.
Pro Scalability
Act is built as a stateless framework. It supports horizontal scale.
Pro Secure
Act is built as a secure product. It provides built-in CSRF/XSS prevention mechanism. And act-aaa makes it very easy to implement Authentication/Authorization/Auditing in your app.
Pro Superb RESTful support
Act makes creating RESTful service a kids game. It features AdaptiveRecord (allows front end to drive the data structure), JSON response control (just declare the fields you want to present or hide) and RESTful URL routing with path variables.
Pro Easy to deploy
ActFramework is not a servlet framework and there are no requirements on containers/app servers. It has a small package size (a helloworld distribution package size is less than 20 MB), a small memory feet print (a helloworld app heap usage is less than 20MB) and a fast boot up speed (a helloworld app starts in less than 3s).
Pro Templating
Act's view architecture is very flexible and support using multiple view engines in your app. The default template engine is Rythm, a very developer friendly and powerful template engine. Act also support other templating solutions including freemarker, velocity, thymeleaf, and mustache via plugins.
Pro Configuration for multiple environments
Act supports load configuration from a common dir and then overwriting it from a profile dir. Makes it very easy to manage configurations in different environments (e.g., dev, uat, sit, prod) Watch this video to see the innovative way Act delivers its configuration support.
Pro Concise and expressive
Act does not require you to put Annotation when it is able to infer the intention from other parts of the code, i.e., you don't use @PathVariable
or @RequestParam
to tell Act the binding parameter name. And you don't need a ModelMap
to bind variables to render argument names. Act has sophisticated byte class scanner to detect the variable names to do bindings automatically.
Pro Comply to standards
Act's IoC is built on top of Genie, a fast dependency injection library that fully supports JSR330, and Act's validation solution is built on top of JSR303. Act is NOT an odd framework to most Java developers. Unlike Play1.x, ACT applications follow the standard maven project structure and it is very easy to integrate other Java libraries.
Pro Database access
Act's DB layer is extremely easy to use. It supports SQL databases (through ebean orm) and MongoDB (through morphia). Using multiple datasource can never be that easy with Act's DB layer. Go here for more information on this.
Pro Fast and flexible routing
You can configure your routing in either Spring MVC/Jersey style with annotation or Play style with route table or a combination of both. Act's routing supports RESTful URL path variables, optionally validated with regular expressions.
Cons
Con Grails is a fairly complex framework
Grails is a pretty heavy piece of software. It's functionality is covered by GORM (Grails' Object Relational Mapping) which is a facade for hybernate and by Spring MVC.
Everything is glued by core Spring and furthermore, Grails adds another level of abstraction on top of all this. These things may create some trouble down the road when debugging.
Con Too obtuse and JVM centric
If you're a big fan of the JVM and have mastered all its goofy quirks, Grails might be a good choice, but there are other frameworks out there that are more straightforward and easier to use.
Con Incomplete microservice support
Although Act is built to be a great framework that supports microservice development, it lacks some of the key features at the moment, like sending requests to other microservices from within the app, service governance, and messaging handling.
Con Very small community
As of February 2017, Act is a brand new framework (even though the project started at the end of 2014). Community is still forming.
Con Functional testing support still under development
Developers are still working on innovative functional testing support for Act.
Con Documentation is still being written
Act's documentation is still under development.
