Lua-web-programming
Lua-Webプログラミング
Luaは柔軟性の高い言語であり、多くの場合、Webアプリケーションを含む複数のプラットフォームで使用されます。 LuaでオープンソースWebコンポーネントを提供するために2004年に形成されたKeplerコミュニティ。
Luaを使用して開発されたWebフレームワークは他にもありますが、主にKeplerコミュニティが提供するコンポーネントに焦点を当てます。
アプリケーションとフレームワーク
- Orbit は、WSAPIに基づいたLua用のMVC Webフレームワークです。
- WSAPI は、Lua WebアプリケーションからWebホストサーバーを抽象化するAPIであり、多くのプロジェクトのベースです。
- Xavante は、WSAPIインターフェースを提供するLua Webサーバーです。
- Sputnik は、ユーモアとエンターテイメントに使用されるKeplerプロジェクトでWSAPIを使用して開発されたwiki/CMSです。
- CGILua は、WSAPIに基づいたLuaPagesおよびLuaScriptsのWebページ作成を提供しますが、サポートされなくなりました。 代わりに、Orbit、Sputnik、またはWSAPIを使用してください。
このチュートリアルでは、Luaでできることを理解し、そのインストールと使用方法について詳しく知るために、ウェブサイトのkeplerを参照します。
軌道
Orbitは、Lua用のMVC Webフレームワークです。 各スクリプトは単一のファイルに収めることができますが、必要に応じて複数のファイルに分割できます。
すべてのOrbitアプリケーションはWSAPIプロトコルに準拠しているため、現在はXavante、CGI、およびFastcgiで動作します。 開発用にXavanteインスタンスを簡単に起動できるランチャーが含まれています。
Orbitをインストールする最も簡単な方法は、LuaRocksを使用することです。 Luarocks install orbitは、インストール用のコマンドです。 このためには、最初にhttp://luarocks.org/en/Download[LuaRocks]をインストールする必要があります。
すべての依存関係をインストールしていない場合は、Unix/Linux環境でOrbitをセットアップする手順を以下に示します。
Apacheのインストール
サーバーに接続します。 Apache2をインストールし、そのサポートモジュールを使用して、必要なApache2モジュールを有効にします-
LuaRocksをインストールする
WSAPI、FCGI、Orbit、およびXavanteをインストールします
Apache2のセットアップ
構成ファイルの<Directory/var/www/>セクションの下に、この次のセクションを追加します。 このセクションに「AllowOverride None」がある場合は、「None」を「All」に変更して、.htaccessファイルが構成をローカルでオーバーライドできるようにする必要があります。
サーバーを再起動して、変更を有効にします。
アプリケーションを有効にするには、Orbitアプリケーションのルートにある.htaccessファイル(この場合は/var/www)に+ ExecCGIを追加する必要があります。
簡単な例-軌道
これで、Webブラウザを起動できるはずです。 http://localhost:8080/にアクセスすると、次の出力が表示されます-
Orbitは別のオプションを提供します。つまり、Luaコードでhtmlを生成できます。
フォームを作成する
簡単なフォームの例を以下に示します-
WSAPI
前述のように、WSAPIは多くのプロジェクトのベースとして機能し、複数の機能が組み込まれています。 WSAPIを使用して、次のプラットフォームをサポートできます。
- Windows
- UNIXベースのシステム
WSAPIがサポートするサーバーとインターフェースには、
- CGI
- FastCGI
- ザバンテ
WSAPIは多くのライブラリを提供します。これにより、Luaを使用したWebプログラミングが容易になります。 Luaでサポートされている機能の一部には、
- リクエスト処理
- 出力バッファリング
- 認証
- ファイルのアップロード
- リクエストの分離
- 多重化
WSAPIの簡単な例を以下に示します-
上記のコードでは、単純なhtmlページが形成されて返されています。 コルーチンの使用法を見ると、ステートメントごとに呼び出し関数にステートメントを返すことができます。 最後に、htmlステータスコード(200)、ヘッダー、およびhtmlページが返されます。
ザバンテ
Xavanteは、URIマッピングハンドラーに基づくモジュラーアーキテクチャを使用するLua HTTP 1.1 Webサーバーです。 Xavanteは現在、
- ファイルハンドラー
- リダイレクトハンドラー
- WSAPIハンドラー
ファイルハンドラは一般的なファイルに使用されます。 リダイレクトハンドラにより、WSAPIアプリケーションを処理するためのURI再マッピングとWSAPIハンドラが有効になります。
以下に簡単な例を示します。
Xavanteで仮想ホストを使用するには、xavante.HTTPの呼び出しを次のように変更します-
Lua Webコンポーネント
- Copas 、TCP/IPサーバーで使用できるコルーチンに基づくディスパッチャー。
- Cosmo 、テンプレート内の任意のコードからアプリケーションを保護する「安全なテンプレート」エンジン。
- Coxpcall は、Luaネイティブのpcallとxpcallをコルーチンと互換性のあるものでカプセル化します。
- LuaFileSystem 、基礎となるディレクトリ構造とファイル属性にアクセスするためのポータブルな方法。
- リング、Lua内から新しいLua状態を作成する方法を提供するライブラリ。
エンディングノート
非常に多くのLuaベースのWebフレームワークとコンポーネントが利用可能であり、必要に応じて選択できます。 以下を含む利用可能な他のWebフレームワークがあります-
- Moonstalk は、Lua言語で構築された動的に生成されたWebベースのプロジェクトの効率的な開発とホスティングを可能にします。基本的なページから複雑なアプリケーションまで。
- Lapis 、MoonScript(またはLua)を使用してWebアプリケーションを構築するためのフレームワーク。OpenRestyと呼ばれるNginxのカスタマイズバージョン内で実行されます。
- Lua Server Pages は、組み込みWeb開発への他のアプローチを吹き飛ばすLuaスクリプトエンジンプラグインで、従来のCサーバーページに劇的なショートカットを提供します。
これらのWebフレームワークは、Webアプリケーションを活用して、強力な操作を行うのに役立ちます。