blog

Wax:LuaによるネイティブiPhoneアプリ開発

Waxは、iPhoneのネイティブアプリをLuaで開発するためのフレームワークです。 Waxは、LuaとObjective-Cのクラスライブラリを接続し、Objective-Cのクラスやフレームワーク...

May 9, 2016 · 3 min. read
シェア

Wax ?

Waxは、LuaでネイティブiPhoneアプリを開発できるフレームワークです。 Waxは、LuaとObjective-Cクラスライブラリを接続し、あらゆるObjective-CクラスやフレームワークをLuaで使用できるようにします。

Waxを使う理由?

  • Waxはフリーでオープンソースです。いつでもあなたのニーズに合わせてソースコードを変更することができます。
  • Luaのような効率的なスクリプト言語でコードを書けば、時間を大幅に節約できます!
  • 既存のすべてのObjective-Cライブラリで動作します。
  • これは、アプリがオンラインで一部の機能を更新できるようにするもので、Apple App Storeによる審査は不要になります。ただし、Appleがアプリのダウンロードコードを発見した場合は却下される可能性があります。
2.7 Apps that download code in any way or form will be rejected
2.8 Apps that install or launch other executable code will be rejected

Hello Wax

Empty Applicationテンプレートを使用して、HelloWaxという名前の新しいiOS APPプロジェクトを作成します。

wax.framework のダウンロード: https://.////..ip

WaxパッケージのヘッダーファイルをインポートするAppDelegate.hファイル:

# import <wax/wax.h> 
wax_start("init.lua", nil); 

プロジェクトに新しいファイルinit.luaを作成します:

require "ViewController" 
 
viewController = ViewController:init() 
window = UIApplication:sharedApplication():keyWindow() 
window:setRootViewController(viewController) 

プロジェクト内にViewController.luaを新規作成します:

waxClass{"ViewController", UIViewController} 
 
function viewDidLoad(self) 
self.super:viewDidLoad(self) 
 
local label = UILabel:initWithFrame(CGRect(0, 120, 320, 40)) 
label:setColor(UIColor:blackColor()) 
label:setText("Hello Wax!") 
label:setTextAlignment(UITextAlignmentCenter) 
local font = UIFont:fontWithName_size("Helvetica-Bold",50) 
label:setFont(font) 
self:view():addSubview(label) 
end 

ハローワックス!

[]

Waxの構文について

Luaの関数名にはコロンを付けることができません。この違いを補うために、Objective-Cのメソッド名を区切るものは、Luaではアンダースコアに置き換えられます。例えば、上記のプログラムのUIFont:fontWithName_size("Helvetica-Bold",50)は、Objective-Cの[UIFont fontWithName:@"Helvetica-Bold" size:50]に対応します。

LuaにはObjective-Cのような継承システムはありません。

waxClass{「クラス名”, 「PARENT_CLASS”}Objective-CのクラスをLuaで作成するには、.Luaという関数を使います。Luaファイルに追加した関数は、自動的にインスタンスメソッドとして新しいクラスに追加されます。

waxClass{"ViewController", UIViewController} 

WaxはObjective-Cのプロパティをサポートしていません。View:setFrame(someFrame)使用できるのはsomeView.frameだけです。

Read next

Android 4.4のARTモード体験がこれほどスムーズだったことはない!

ARTモードとDalvikの根本的な違いは、例えることで理解できます。Dalvikモードは折りたたみ自転車のようなもので、乗るたびに組み立てなければ、道路に持ち出すことができません。ARTモードは折りたたみ自転車のようなもので、乗るたびに組み立てなければ路上に出ることができません。ですから、ARTモードが効率という点でDalvikより優れていることは間違いありません。私たちが今できることは、アプリメーカーがARTモードに合わせてプログラムを最適化し、まったく新しい体験ができるようになるのを辛抱強く待つことだけです。

May 9, 2016 · 4 min read