A TEXT POST

A Mojolicious 2011

Happy new year everyone, it’s amazing how much Mojolicious has progressed and grown in 2011, Marcus Ramberg has prepared a little retrospection for us.

A new year is upon us, and I figured this would be good time to take a look at the improvements in the Mojolicious framework in the last year. There has been a dazzling number of releases, 122 in fact, including the current release, 2.42.

Have fun!

A TEXT POST

Mojocast #5 Mojo::UserAgent

image

Merry christmas everyone, today Glen “tempire” Hinkle has a special treat for us. In this Mojocast he demonstrates why interacting with the web from Perl has never been this much fun before, you should take a look!

Mojocast Monday brings you a high-level overview of Mojo::UserAgent, the client side of Mojolicious. DOM Walking, CSS selectors, and watching live requests are just a couple of the things you’ll see.

Have fun!

A TEXT POST

Mojocast #4 Stash, Flash, and Sessions

Happy Mojocast monday everyone. This time Glen “tempire” Hinkle will explain to you the very important task of sharing data between the various parts of a Mojolicious application. So, what are you waiting for? Get over there and learn web development with Perl in no time!

image

Have fun!

A TEXT POST

Mojolicious hack of the day: WebSockets

By now you’ve probably heard about WebSockets, and that they are the future of web development, but so far there are very little examples that really show how easy to use they actually are. So today we are going to explore the wonderful world of events in Mojolicious a bit and build a little application that forwards all framework log messages to a browser window. (works best in Chrome)

Have fun! 

A TEXT POST

Mojolicious 2.0 released: Perl real-time web framework

image

I’m very happy to announce the release of Mojolicious 2.0 (Leaf Fluttering In Wind).

It is now almost a year since our first stable release, and what a great year it has been. The community really exploded, with now over 100 regulars on the IRC channel and 450 watchers on GitHub, making us by far the most successful CPAN module there. Thanks everyone!

Of course we also have many new features for you, here are the highlights:

  • Perl 5.10.1: We have finally increased the Perl version requirement and are already using all new features extensively. The performance increase is substantial, especially if you’re coming from Perl 5.8.
  • Morbo: A brand new self-restarting development web server that just works, even on Windows.
  • libev: Native support for the EV event loop and in turn AnyEvent. (example)
  • Events: Many objects now emit events, which can be used to extend Mojolicious. (you’ll hear much more about this soon, it’s very cool)
  • Mount plugin: Whole Mojolicious applications can now be embedded easily.
  • Groups: Mojolicious::Lite applications became a lot more powerful. (example)
  • Hypnotoad: Our primary production web server got a lot more user friendly.
  • Collections: Making web scraping a hell of a lot of fun. (example)
  • WebSocket testing: You won’t believe how easy it can be. (example)

And as usual there is a lot more to discover, see Changes on GitHub for the full list of improvements.

Have fun!

A TEXT POST

Mojolicious hack of the day: Web scraping with collections

Today we are going to use the Mojolicious user agent to scrape Perl headlines from Reddit, and then transform them further with collections, another one of our latest experimental features.

Have fun!

A TEXT POST

Mojolicious hack of the day: Groups

Today i’m going to show you one of our latest experimental features. In the past we’ve mostly encouraged just to use Mojolicious instead of Mojolicious::Lite for all non-trivial applications, but over time it has become clear that even for single file prototypes you sometimes need a little more power. We’ve addressed this recently with the addition of group blocks, which allow under statements to be nested.

And don’t forget to give feedback if you like one of our experimental features, or they might never leave the experimental stage. ;)

Have fun!

A TEXT POST

Mojolicious hack of the day: AnyEvent

When we recently added the EV backend to Mojolicious, we not only got better performance and scalability, but also native support for AnyEvent. And to demonstrate how easy to use it actually is, we are going to extend the HTML5 EventSource example from last month with some non-blocking IRC goodness today. :)

Have fun! 

A TEXT POST

Mojolicious hack of the day: Testing WebSockets

In Mojolicious we care a great deal about testing, after all most of Mojolicious itself was developed using test driven development. Recently WebSockets have turned out to be a real challenge in this regard, their extremely dynamic nature makes it pretty much impossible to design a simple Perl test API that would cover all possible use cases. Luckily we’ve been supporting WebSockets for quite some time and know by now that the exact message flow is known in advance for the most common ones, which led to this rather pleasant to use API. ;)

Have fun!

A TEXT POST

Mojocast #3 Authentication, Helpers, and Plugins

Yes, it’s finally Mojocasts Monday again! And this time Glen “tempire” Hinkle makes some rather advanced topics like “under” and plugins look trivial. But what’s maybe even more impressive than the actual screencast itself is the new HTML5 video player, not only does it provide us with even better video quality, but also the ability to link directly to individual chapters.

Have fun!