Mojolicious

Last updated
Mojolicious
Mojolicious logo.png
Original author(s) Sebastian Riedel
Initial releaseSeptember 24, 2008;13 years ago (2008-09-24) [1]
Stable release
9.19 [2] / 2021-06-01 [±]
Repository Mojolicious Repository
Written in Perl
Type Web application framework
License PAL
Website mojolicious.org

Mojolicious is a real-time web application framework, written by Sebastian Riedel, creator of the web application framework Catalyst. [3] Licensed as free software under the Artistic License v 2.0, it is written in the Perl programming language, and is designed for use in both simple and complex web applications, based on Riedel's previous experience developing Catalyst. [4] Documentation for the framework was partly funded by a grant from The Perl Foundation. [5]

Contents

As it is written in Perl, Mojolicious can run on any of the many operating systems for which Perl is available, and can be installed directly from CPAN. [6] Prebuilt packages of Mojolicious are also available for NetBSD from pkgsrc [7] and for Microsoft Windows and other operating systems from ActiveState's Perl package manager. [8]

Features

Related Research Articles

The Comprehensive Perl Archive Network (CPAN) is a repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors. CPAN can denote either the archive network or the Perl program that acts as an interface to the network and as an automated software installer. Most software on CPAN is free and open source software.

Perl Interpreted programming language first released in 1987

Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was officially changed to Raku in October 2019.

Portage (software) Gentoo package management system

Portage is a package management system originally created for and used by Gentoo Linux and also by Chrome OS, Calculate, Sabayon, and Funtoo Linux among others. Portage is based on the concept of ports collections. Gentoo is sometimes referred to as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent. The Gentoo/Alt project is concerned with using Portage to manage other operating systems, such as BSDs, macOS and Solaris. The most notable of these implementations is the Gentoo/FreeBSD project.

The PHP Extension and Application Repository, or PEAR, is a repository of PHP software code. Stig S. Bakken founded the PEAR project in 1999 to promote the re-use of code that performs common functions. The project seeks to provide a structured library of code, maintain a system for distributing code and for managing code packages, and promote a standard coding style. Though community-driven, the PEAR project has a PEAR Group which serves as the governing body and takes care of administrative tasks. Each PEAR code package comprises an independent project under the PEAR umbrella. It has its own development team, versioning-control and documentation.

pkgsrc Package manager for Unix-like operating systems

pkgsrc is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently; in 1999, support for Solaris was added, followed by support for other operating systems.

In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.

The Perl Object Environment or POE is a library of Perl modules written in the Perl programming language by Rocco Caputo et al.

Catalyst (software)

Catalyst is an open source web application framework written in Perl, that closely follows the model–view–controller (MVC) architecture, and supports a number of experimental web patterns. It is written using Moose, a modern object system for Perl. Its design is heavily inspired by such frameworks as Ruby on Rails, Maypole, and Spring.

Ports collections are the sets of makefiles and patches provided by the BSD-based operating systems, FreeBSD, NetBSD, and OpenBSD, as a simple method of installing software or creating binary packages. They are usually the base of a package management system, with ports handling package creation and additional tools managing package removal, upgrade, and other tasks. In addition to the BSDs, a few Linux distributions have implemented similar infrastructure, including Gentoo's Portage, Arch's Arch Build System (ABS), CRUX's Ports and Void Linux's Templates.

Laminas Project is an open source, object-oriented web application framework implemented in PHP 7 and licensed under the New BSD License. The framework is basically a collection of professional PHP-based packages. The framework uses various packages by the use of Composer as part of its package dependency managers; some of them are PHPUnit for testing all packages, Travis CI for continuous Integration Services. Laminas provides to users a support of the model–view–controller (MVC) in combination with Front Controller solution. MVC implementation in Laminas has five main areas. The router and dispatcher functions to decide which controller to run based on data from URL, and controller functions in combination with the model and view to develop and create the final web page.

The FreeBSD Ports collection is a package management system for the FreeBSD operating system, providing an easy and consistent way of installing software packages. As of February 2020, there are over 38,487 ports available in the collection. It has also been adopted by NetBSD as the basis of its pkgsrc system.

HTML::Mason, or Mason for short, is a web application framework written in Perl. It is distributed on CPAN.

A software repository, or “repo” for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source control or repository managers. Package Managers allow for installing and updating the repositories versus having to do this manually.

Plack (software)

Plack is a Perl web application programming framework inspired by Rack for Ruby and WSGI for Python, and it is the project behind the PSGI specification used by other frameworks such as Catalyst and Dancer. Plack allows for testing of Perl web applications without a live web server.

NetBSD Open-source Unix-like operating system

NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

Dancer is an open source lightweight web application framework written in Perl and inspired by Ruby's Sinatra.

The following outline is provided as an overview of and topical guide to the Perl programming language:

References

  1. "Mojolicious change log".
  2. "Mojolicious Versions". mojolicious.org. Retrieved 2021-06-19.
  3. "Mojolicious 2.0: Modern Perl For the Web". Slashdot. 17 Oct 2011.
  4. Tara Gibbs (17 February 2011). "Mojolicious - An Interview with Sebastian Riedel". ActiveState.
  5. Alberto Simões (16 Dec 2010). "Mojolicious Documentation Closing Grant Report". The Perl Foundation.
  6. "Mojolicious". CPAN.
  7. "The NetBSD Packages Collection: www/p5-Mojolicious". pkgsrc.
  8. "Mojolicious". Perl package manager.
  9. "Mojolicious - Perl real-time web framework". Mojolicious.
  10. "Updating the Duct Tape for HTML5: Websockets in Perl (Mojolicious)". DZone. 1 Nov 2011. Archived from the original on 8 October 2017.
  11. McDaniel, Adam (November 2011). HTML5: Your Visual Blueprint for Designing Rich Web Pages and Applications. Visual. ISBN   978-0-470-95222-1.
  12. Jamie Popkin (July 2011). "Watch your processes remotely with Mojolicious and a smartphone". 2011 (207). Linux Journal.
  13. Marcus Ramberg (4 Dec 2010). "Mojolicious". Yet Another Perl Conference.