When comparing Express.js vs ActFramework, the Slant community recommends Express.js for most people. In the question“What are the best web frameworks to create a web REST API?”Express.js is ranked 1st while ActFramework is ranked 12th. The most important reason people chose Express.js is:

Express' extremely powerful routing API allows developers to do tasks ranging from building a REST API to building the routes for a simple web app and then take it to the next level by using route parameters and query strings.

Pros

Pro

Great routing API

Express' extremely powerful routing API allows developers to do tasks ranging from building a REST API to building the routes for a simple web app and then take it to the next level by using route parameters and query strings.

Pro

Support for a lot of plugins

Express takes advantage of Node's NPM to distribute and install countless plugins made by third parties which solve almost anything a developer would want to do with Express.

Pro

Relatively mature

Being a somewhat old Node.js web app framework and being one of the most widely used frameworks, Express.js has matured quite a lot during all that time. It's more stable than its competitors and a huge community backing it.

Pro

Great for beginner Node.js programmers

With a little learning curve, it is a good choice for new NodeJS developers to get started quickly. Express boasts great, thorough documentation.

Pro

Has the largest userbase

It's by far the most popular framework for node.

Pro

Setting up is very easy

Setting up a new Express project is very easy. It consists of installing a handful of libraries through NPM run a single npm install and everything is ready to go.

Pro

Great supportive community

Express has a big community with a lot of guides and tutorials written about it by developers that have been using it for quite some time.

Massive ecosystem of middleware

Pro

Express.js is in the Node.js Foundation Incubator Program

The Node.js Foundation is a Collaborative Project at The Linux Foundation. Linux Foundation Collaborative Projects are independently funded software projects that harness the power of collaborative development to fuel innovation across industries and ecosystems.

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.

Ad

Cons

Con

No single recommended way of doing something

Express considers itself to be a "minimalistic unopinionated framework", it basically lets the developer determine how their project will be organized. On one hand, this gives anyone terrific power and flexibility to use any library they want for a certain task and to organize their project structure however they want. But on the other hand, there's no single recommended way of organizing things, which can be a trap for beginners and experienced developers alike and result in unmaintainable projects.

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

Alternative Products

Each month, over 2.8 million people use Slant to find the best products and share their knowledge. Pick the tags you’re passionate about to get a personalized feed and begin contributing your knowledge.