Provided by: libmojolicious-perl_7.59+dfsg-1ubuntu1_all 

NAME
Mojolicious::Guides - The Mojolicious Guide to the Galaxy
DON'T PANIC!
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.
BASICS
Learning Perl
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
<https://pragprog.com/book/swperl/modern-perl-fourth-edition>, 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/>.
Learning Web Technologies
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>.
CONVENTIONS
Modern Perl
Mojolicious uses a modern subset of Perl exclusively, and therefore all documentation assumes that
strict, warnings, utf8 and Perl 5.10 features are enabled, even if examples don't specifically mention
it.
use strict;
use warnings;
use utf8;
use feature ':5.10';
Some modules, like Mojo::Base and Mojolicious::Lite, will enable them for you automatically, whenever
they are used.
TUTORIAL
Mojolicious::Guides::Tutorial
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!
GUIDES
Mojolicious::Guides::Growing
Starting a Mojolicious::Lite prototype from scratch and growing it into a well-structured Mojolicious
application.
Mojolicious::Guides::Routing
Simple and fun introduction to the Mojolicious router.
Mojolicious::Guides::Rendering
Generating content with the Mojolicious renderer.
Mojolicious::Guides::Testing
Powerful yet elegant testing techniques and tools for Mojolicious and other web applications.
Mojolicious::Guides::Cookbook
Cooking with Mojolicious, recipes for every taste.
Mojolicious::Guides::Contributing
Become a part of the ongoing Mojolicious development.
Mojolicious::Guides::FAQ
Answers to the most frequently asked questions.
HIGHLIGHTS
Mojolicious and Mojolicious::Lite are the sum of many parts, built on top of the Mojo web development
toolkit. Small building blocks that can be used independently for all kinds of applications, these are
the most prominent ones.
Mojo::UserAgent
Full featured non-blocking I/O HTTP and WebSocket user agent.
Mojo::DOM
Very fun and minimalistic HTML/XML DOM parser with CSS selector support.
Mojo::JSON
Minimalistic JSON implementation that just works.
Mojo::Server::Daemon
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.
Mojo::Server::Prefork
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.
Mojo::Server::CGI, Mojo::Server::PSGI
Transparent CGI and PSGI support out of the box.
Mojo::IOLoop
A minimalistic event loop with support for multiple reactor backends.
Mojo::Template
Very Perl-ish and minimalistic template system.
Test::Mojo
Testing toolkit for web applications.
ojo
Fun one-liners using everything above.
SPIN-OFFS
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.
Mojo::Pg
A tiny wrapper around DBD::Pg that makes PostgreSQL <http://www.postgresql.org> a lot of fun to use
with Mojolicious. Perform queries blocking and non-blocking, use all SQL features
<https://www.postgresql.org/docs/current/static/sql.html> PostgreSQL has to offer, generate CRUD
queries from data structures, manage your database schema with migrations and build scalable real-time
web applications with the publish/subscribe pattern.
And it comes with two great example applications <https://github.com/kraih/mojo-
pg/tree/master/examples/> you can use for inspiration. The minimal chat <https://github.com/kraih/mojo-
pg/tree/master/examples/chat.pl> application will show you how to scale WebSockets to multiple servers,
and the well-structured blog <https://github.com/kraih/mojo-pg/tree/master/examples/blog> application
how to apply the MVC design pattern in practice.
Minion
A full featured job queue for Mojolicious with support for multiple backends (such as PostgreSQL
<http://www.postgresql.org>). Job queues allow you to process time and/or computationally intensive
tasks in background processes, outside of the request/response lifecycle. Among those tasks you'll
commonly find image resizing, spam filtering, HTTP downloads, building tarballs, warming caches and
basically everything else you can imagine that's not super fast.
And it comes with a great example application you can use for inspiration. The link checker
<https://github.com/kraih/minion/tree/master/examples/linkcheck> will show you how to integrate
background jobs into well-structured Mojolicious applications.
REFERENCE
This is the class hierarchy of the Mojolicious distribution.
• Mojo::Base
• Mojo
• Mojolicious
• Mojo::HelloWorld
• Mojolicious::Lite
• 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::Server
• Mojo::IOLoop::Stream
• Mojo::IOLoop::TLS
• 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::IOLoop::Subprocess
• Mojo::JSON::Pointer
• Mojo::Parameters
• Mojo::Path
• Mojo::Promise
• Mojo::IOLoop::Delay
• Mojo::Server::Hypnotoad
• Mojo::Server::Morbo
• Mojo::Server::Morbo::Backend
• Mojo::Server::Morbo::Backend::Poll
• 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::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::File
• Mojo::Home
• Mojo::JSON
• Mojo::Loader
• Mojo::Util
• Mojo::WebSocket
• ojo
MORE
A lot more documentation and examples by many different authors can be found in the Mojolicious wiki
<http://github.com/kraih/mojo/wiki>.
SUPPORT
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"
(chat now! <https://chat.mibbit.com/?channel=%23mojo&server=irc.perl.org>).
perl v5.26.1 2017-12-30 Mojolicious::Guides(3pm)