Aloneは、もともとウェブアプリフレームワーク部のみの機能でしたが、version3では制御もRubyで記述することを念頭に、そのためのアプリケーションフレームワーク AlWorkerを実装しました。
ウェブアプリフレームワークのmain.rb 内で、 class MyController < AlController 等と記述できます。
もともとversion2までは、Rubyのオープンクラスという特性を最大限利用して、ウェブアプリフレームワークのコントローラで、AlControllerに機能を追加して動作させていました。version3でもこの方法は有効ですが、自動ドキュメント生成(yardoc等)を利用する場合にコントローラ間のメソッド分離が不可能という、たった一つの大きな欠点のためにクラス継承を許しました。
クライアント(ブラウザ)と、より簡単に連携をとるために、専用のJavascriptライブラリを同梱しました。
version2まで、ウェブアプリケーションの作り方として、AloneをRuby標準のcgiライブラリのように使う「ダイレクトアプローチ」と 一般的なウェブアプリケーションフレームワークのやり方に則った「コントローラアプローチ」の2種類を想定していましたが、 version3ではコントローラアプローチのみ推奨としています。
理由として、ダイレクトアプローチで作成できるほどの簡単なウェブアプリケーションであれば、Ruby標準添付のcgiライブラリを使うか、むしろ何も使わないという可能性が高いからです。
実際、Aloneのダイレクトアプローチは誰も使いませんでした。
version3ではまだダイレクトアプローチを残していますが、メンテナンスコストが上がるだけなので、次のバージョンからはコントローラアプローチのみにしようと考えています。