Mojolicious vs Node.js vs Play

Mojolicious
Mojolicious

40
0
77
Node.js
Node.js

26.1K
6.3K
7.8K
Play
Play

412
0
459

What is Mojolicious?

Back in the early days of the web, many people learned Perl because of a wonderful Perl library called CGI. It was simple enough to get started without knowing much about the language and powerful enough to keep you going, learning by doing was much fun. While most of the techniques used are outdated now, the idea behind it is not. Mojolicious is a new attempt at implementing this idea using state of the art technology.

What is Node.js?

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

What is Play?

Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Mojolicious?
Why do developers choose Node.js?
Why do developers choose Play?
What are the cons of using Mojolicious?
What are the cons of using Node.js?
What are the cons of using Play?
    Be the first to leave a con
    What companies use Mojolicious?
    What companies use Node.js?
    What companies use Play?
    What are some alternatives to Mojolicious, Node.js, and Play?
    Dancer
    Dancer is a free and open source micro web application framework written in Perl.
    Django
    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
    Rails
    Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
    Android SDK
    Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment.
    Laravel
    Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.
    See all alternatives
    What tools integrate with Mojolicious?
    What tools integrate with Node.js?
    What tools integrate with Play?
      No integrations found
        No integrations found
        Decisions about Mojolicious, Node.js, and Play
        No stack decisions found
        Interest over time
        Reviews of Mojolicious, Node.js, and Play
        Avatar of mihaicracan
        Web Developer, Freelancer
        Review ofNode.jsNode.js

        I have benchmarked Node.js and other popular frameworks using a real life application example. You can find the results here: https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3

        How developers use Mojolicious, Node.js, and Play
        Avatar of MaxCDN
        MaxCDN uses Node.jsNode.js

        We decided to move the provisioning process to an API-driven process, and had to decide among a few implementation languages:

        • Go, the server-side language from Google
        • NodeJS, an asynchronous framework in Javascript

        We built prototypes in both languages, and decided on NodeJS:

        • NodeJS is asynchronous-by-default, which suited the problem domain. Provisioning is more like “start the job, let me know when you’re done” than a traditional C-style program that’s CPU-bound and needs low-level efficiency.
        • NodeJS acts as an HTTP-based service, so exposing the API was trivial

        Getting into the headspace and internalizing the assumptions of a tool helps pick the right one. NodeJS assumes services will be non-blocking/event-driven and HTTP-accessible, which snapped into our scenario perfectly. The new NodeJS architecture resulted in a staggering 95% reduction in processing time: requests went from 7.5 seconds to under a second.

        Avatar of Trello
        Trello uses Node.jsNode.js

        The server side of Trello is built in Node.js. We knew we wanted instant propagation of updates, which meant that we needed to be able to hold a lot of open connections, so an event-driven, non-blocking server seemed like a good choice. Node also turned out to be an amazing prototyping tool for a single-page app. The prototype version of the Trello server was really just a library of functions that operated on arrays of Models in the memory of a single Node.js process, and the client simply invoked those functions through a very thin wrapper over a WebSocket. This was a very fast way for us to get started trying things out with Trello and making sure that the design was headed in the right direction. We used the prototype version to manage the development of Trello and other internal projects at Fog Creek.

        Avatar of AngeloR
        AngeloR uses Node.jsNode.js

        All backend code is done in node.js

        We have a SOA for our systems. It isn't quite Microservices jsut yet, but it does provide domain encapsulation for our systems allowing the leaderboards to fail without affecting the login or education content.

        We've written a few internal modules including a very simple api framework.

        I ended up picking Node.js because the game client is entirely in JavaScript as well. This choice made it a lot easier for developers to cross borders between being "client side" game developers and "server side" game developers. It also meant that the pool of knowledge/best practices is applicable almost across the company.

        Avatar of Tony Manso
        Tony Manso uses Node.jsNode.js

        Node.js is the foundation for the server. Using Express.js for serving up web content, and sockets.io for synchronizing communications between all clients and the server, the entire game runs as Javascript in Node.js.

        I don't know how well this will scale if/when I have hundreds of people connected simultaneously, but I suspect that when that time comes, it may be just a matter of increasing the hardware.

        As for why I chose Node.js... I just love JavaScript! My code is all original, meaning that I didn't have to inherit anyone's bad Javascript. I'm perfectly capable of creating my own bad Javascript, thank you! Also, npm rocks!

        Avatar of Tarun Singh
        Tarun Singh uses Node.jsNode.js

        Used node.js server as backend. Interacts with MongoDB using MongoSkin package which is a wrapper for the MongoDB node.js driver. It uses express for routing and cors package for enabling cors and eyes package for enhancing readability of logs. Also I use nodemon which takes away the effort to restart the server after making changes.

        Avatar of datapile
        datapile uses PlayPlay

        Play is a central framework/component/library (not sure what to call things these days) in Scala. We <3 Scala, and therefore we <3 Play.

        Play is on of several frameworks we are prototyping and vetting for various public-facing websites, and may ultimately be the framework behind the main datapile.io website.

        Avatar of Perljobs.Ru
        Perljobs.Ru uses MojoliciousMojolicious

        Web part is fully written on top of Mojolicious. Thanks Sebastian Riedel and all the contributors for the great framework!

        Веб бэкенд написан полностью на Mojolicious. Спасибо Риделю и всем участникам за этот фреймворк!

        Avatar of Stanislaus Madueke
        Stanislaus Madueke uses PlayPlay

        I used Play to build a configuration UI for the service, which let you create and manage the menus (a hierarchical tree of options and actions).

        Avatar of Alexander Karelas
        Alexander Karelas uses MojoliciousMojolicious

        It's my favorite way of creating websites (APIs and frontends)

        Avatar of Ascendify
        Ascendify uses PlayPlay

        Moving some micro services to Play Framework with Scala

        Avatar of papaver
        papaver uses PlayPlay

        used play at talenthouse. uber powerful backend.

        Avatar of Jovi Kao
        Jovi Kao uses PlayPlay

        API server framework

        How much does Mojolicious cost?
        How much does Node.js cost?
        How much does Play cost?
        Pricing unavailable
        Pricing unavailable
        Pricing unavailable
        News about Mojolicious
        More news
        News about Play
        More news