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.
- 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
<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/>.
- 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>.
- 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!
Mojolicious and Mojolicious::Lite are the sum of many parts, small
building blocks that can be used independently, 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.
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.
- Minion
- A job queue for Mojolicious with support for multiple backends.
This is the class hierarchy of the Mojolicious distribution.
- Mojo::Cookie::Request
- Mojo::Cookie::Response
- Mojo::DOM::CSS
- Mojo::DOM::HTML
- Mojo::Date
- Mojo::EventEmitter
- Mojo::Asset::File
- Mojo::Asset::Memory
- 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::Server::CGI
- Mojo::Server::Daemon
- 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::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".