Ubuntu Manpages

Mojolicious::Guides

Mojolicious guide to the galaxy

We are constantly working on new documentation, follow us on GitHub <http://github.com/kraih/mojo> or join the official IRC channel "#mojo" on "irc.perl.org" to get all the latest updates.

If you are new to Perl, we recommend Learn Perl in 2 hours 30 minutes <http://qntm.org/files/perl/perl.html> for a quick introduction, or the Modern Perl book <http://modernperlbooks.com/books/modern_perl/>, freely available in many formats. Both are excellent introductions to the language. For more books and documentation, check out learn.perl.org <http://learn.perl.org/>.
All web development starts with HTML, CSS and JavaScript, to learn the basics we recommend the Mozilla Developer Network <https://developer.mozilla.org/en-US/docs/Web>. And if you want to know more about how browsers and web servers actually communicate, there's also a very nice introduction to HTTP <https://developer.mozilla.org/en-US/docs/Web/HTTP>.

A fast and fun way to get started developing web applications with Mojolicious. The tutorial introduces the Mojolicious::Lite micro web framework, which is only a thin wrapper around the full web framework. The simplified notation introduced in the tutorial is commonly used throughout the guides and is therefore considered a prerequisite, you should definitely take a look!

Starting a Mojolicious::Lite prototype from scratch and growing it into a well-structured Mojolicious application.
Simple and fun introduction to the Mojolicious router.
Generating content with the Mojolicious renderer.
Cooking with Mojolicious, recipes for every taste.
Become a part of the ongoing Mojolicious development.
Answers to the most frequently asked questions.

Mojolicious and Mojolicious::Lite are the sum of many parts, small building blocks that can be used independently, these are the most prominent ones.

Full featured non-blocking I/O HTTP and WebSocket user agent.
Very fun and minimalistic HTML/XML DOM parser with CSS selector support.
Minimalistic JSON implementation that just works.
Full featured, highly portable non-blocking I/O HTTP and WebSocket server, with self-restart support through Mojo::Server::Morbo, perfect for development and testing.
Full featured, UNIX optimized, preforking non-blocking I/O HTTP and WebSocket server with support for zero downtime software upgrades (hot deployment) through Mojo::Server::Hypnotoad.
Transparent CGI and PSGI support out of the box.
A minimalistic event loop with support for multiple reactor backends.
Very Perl-ish and minimalistic template system.
Testing toolkit for web applications.
Fun one-liners using everything above.

These modules are not part of the Mojolicious distribution, but have been designed to be used with it and are being developed under the same umbrella.

A tiny wrapper around DBD::Pg that makes PostgreSQL <http://www.postgresql.org> a lot of fun to use with Mojolicious.
A job queue for Mojolicious with support for multiple backends.

This is the class hierarchy of the Mojolicious distribution.

  • Mojo::Base
  • Mojo
  • Mojolicious
  • Mojolicious::Lite
  • Mojo::HelloWorld
  • Mojo::Cache
  • Mojo::Cookie
  • Mojo::Cookie::Request
  • Mojo::Cookie::Response
  • Mojo::DOM::CSS
  • Mojo::DOM::HTML
  • Mojo::Date
  • Mojo::EventEmitter
  • Mojo::Asset
  • Mojo::Asset::File
  • Mojo::Asset::Memory
  • Mojo::Content
  • Mojo::Content::MultiPart
  • Mojo::Content::Single
  • Mojo::IOLoop
  • Mojo::IOLoop::Client
  • Mojo::IOLoop::Delay
  • Mojo::IOLoop::Server
  • Mojo::IOLoop::Stream
  • Mojo::Log
  • Mojo::Message
  • Mojo::Message::Request
  • Mojo::Message::Response
  • Mojo::Reactor
  • Mojo::Reactor::Poll
  • Mojo::Reactor::EV
  • Mojo::Server
  • Mojo::Server::CGI
  • Mojo::Server::Daemon
  • Mojo::Server::Prefork
  • Mojo::Server::PSGI
  • Mojo::Transaction
  • Mojo::Transaction::HTTP
  • Mojo::Transaction::WebSocket
  • Mojo::UserAgent
  • Mojolicious::Plugins
  • Mojo::Exception
  • Mojo::Headers
  • Mojo::Home
  • Mojo::JSON::Pointer
  • Mojo::Parameters
  • Mojo::Path
  • Mojo::Server::Hypnotoad
  • Mojo::Server::Morbo
  • Mojo::Template
  • Mojo::URL
  • Mojo::Upload
  • Mojo::UserAgent::CookieJar
  • Mojo::UserAgent::Proxy
  • Mojo::UserAgent::Server
  • Mojo::UserAgent::Transactor
  • Mojolicious::Command
  • Mojolicious::Command::cgi
  • Mojolicious::Command::cpanify
  • Mojolicious::Command::daemon
  • Mojolicious::Command::eval
  • Mojolicious::Command::generate::app
  • Mojolicious::Command::generate::lite_app
  • Mojolicious::Command::generate::makefile
  • Mojolicious::Command::generate::plugin
  • Mojolicious::Command::get
  • Mojolicious::Command::inflate
  • Mojolicious::Command::prefork
  • Mojolicious::Command::psgi
  • Mojolicious::Command::routes
  • Mojolicious::Command::test
  • Mojolicious::Command::version
  • Mojolicious::Commands
  • Mojolicious::Command::generate
  • Mojolicious::Controller
  • Mojolicious::Plugin
  • Mojolicious::Plugin::Charset
  • Mojolicious::Plugin::Config
  • Mojolicious::Plugin::JSONConfig
  • Mojolicious::Plugin::DefaultHelpers
  • Mojolicious::Plugin::EPLRenderer
  • Mojolicious::Plugin::EPRenderer
  • Mojolicious::Plugin::HeaderCondition
  • Mojolicious::Plugin::Mount
  • Mojolicious::Plugin::PODRenderer
  • Mojolicious::Plugin::TagHelpers
  • Mojolicious::Renderer
  • Mojolicious::Routes::Match
  • Mojolicious::Routes::Pattern
  • Mojolicious::Routes::Route
  • Mojolicious::Routes
  • Mojolicious::Sessions
  • Mojolicious::Static
  • Mojolicious::Types
  • Mojolicious::Validator
  • Mojolicious::Validator::Validation
  • Test::Mojo
  • Mojo::ByteStream
  • Mojo::Collection
  • Mojo::DOM
  • Mojo::JSON
  • Mojo::Loader
  • Mojo::Util
  • ojo

A lot more documentation and examples by many different authors can be found in the Mojolicious wiki <http://github.com/kraih/mojo/wiki>.

If you have any questions the documentation might not yet answer, don't hesitate to ask on the mailing-list <http://groups.google.com/group/mojolicious> or the official IRC channel "#mojo" on "irc.perl.org".