狠狠撸
Submit Search
WindowsMobile開発を256倍快適にする言語 Lua
?
Download as PPTX, PDF
?
0 likes
?
1,364 views
Hiroaki TAKEUCHI
Follow
WindowsMobile開発を256倍快適にする言語 Lua すまべん(スマートフォン勉強会)関東#2 プレゼン資料
Read less
Read more
1 of 32
Download now
More Related Content
WindowsMobile開発を256倍快適にする言語 Lua
1.
takke スマートフォン勉强会蔼関东#2
2009/8/29 1
2.
?
自己紹介 ? MZ3/4とは? ? MZ3の開発環境 ? WM開発をラクにする方法 ? Luaとは? ? LuaをWMに組み込む ? Luaを組み込んだmixiブラウザがGMail&2chブラウザにな るまで ? MZ3とLua ? MZ3に機能を追加してみる ? L.C.1 ? L.C.2 最後にライブコーディングするよ! ? まとめ スマートフォン勉强会蔼関东#2 2009/8/29 2
3.
? たっけ
/ 竹内 裕昭 / TAKEUCHI Hiroaki ? takke.jp / @takke / id:halts ? 81世代 ? 職業プログラマ(ここ数年はPHP屋) ? 趣味ならC++ ? WindowsCE FANに絡んでる? (Aplioのサーバ側) ? スマートフォン ? W-ZERO3[es] → アドエス → E30HT ? iPhone 3G スマートフォン勉强会蔼関东#2 2009/8/29 3
4.
? 英単語学習ソフトP-Study
System (PSS) ? PSS for WindowsMobile (MPSS) ? MZ3.i / MZ4 スマートフォン勉强会蔼関东#2 2009/8/29 4
5.
? 知ってた人? ? 使ってる人? スマートフォン勉强会蔼関东#2
2009/8/29 5
6.
?
多機能ブラウザです ? 機能がいっぱいです ? mixi, Twitter, Gmail, auone, 2ch, RSS, Wassr, gooホームひとこと ? @kimobiler: 1日だけMZ3で全てをまかなおうとしたが、全て一 緒のアプリで扱う意義が理解できないのでちーたんと wasabi+mixiモバイルだな。別々の方が便利 ? 「mixi+Twitterは相性がいいはず」と気づいて付けてみた。 ? 当時はちーたんもSmartterも風見鶏もなく。 ? 要は??? ? 自分が欲しかったから。ガラケーでしていることをこれ一本で。 ? 「もったいない」 スマートフォン勉强会蔼関东#2 2009/8/29 6
7.
スマートフォン勉强会蔼関东#2
2009/8/29 7
8.
? VisualStudio2008Pro./C++/MFC ?
Windows Mobile 6 SDK ? オープンソース(GPL) ? http://mz3.jp スマートフォン勉强会蔼関东#2 2009/8/29 8
9.
? すまべん関東#1でmikiofukuさんが言ってまし
た 「.NET CF のアプリを作るなら、 .NET で作って、テストして、 それを .NET CF にコピペすればOK」 ? MZ3=WM版、MZ4=Windows版 ? MZ3/4 は同一ソース! ? MZ4 をガンガン作って、WM 用にビルドするだけ! ? これだけで開発効率は2倍! ? でもスクリプト(Lua)を使うとさらに効率アップでき るよ! スマートフォン勉强会蔼関东#2 2009/8/29 9
10.
? Lua知ってた人? スマートフォン勉强会蔼関东#2
2009/8/29 10
11.
?
アプリケーションプログラムを拡張するために設計され た、軽くてパワフルなプログラミング言語 ? ブラジル製「ポルトガル語で月」 ? 手続き型言語 ? オブジェクト指向、関数型にも擬態(変態) ? JavaScriptに似た思想 ? バイトコードにコンパイルされ、Lua VM で実行 ? 速い:モノによってはPHPの3倍、Ruby1.9の30倍に。 ? こんなところに! ? Adobe Photoshop Lightroom ? Strata 3D ? World of Warcraft (WoW) ? ソニック ワールドアドベンチャー スマートフォン勉强会蔼関东#2 2009/8/29 11
12.
? Luaは移植しやすい:100%
Pure C! ? C on ``VisualC++ WM SDK'' is NOT C. ? errno.hがない ? strcoll() strerror() getenv() localeconv() system() remove() tmpname() etc… がない ? パッチ作りました! ? http://mz3.jp/trac/mz3/changeset/1120 スマートフォン勉强会蔼関东#2 2009/8/29 12
13.
? mixi
? 後述??? ? Twitter, Wassr, gooホーム ? ほぼすべてLua ? Luaを組み込んだmixiブラウザが GMail&2chブラウザになるまで ? GMail, 2ch ? 100% Lua ? GMail ? 3日 くらい ? 2ch ?2時間 くらい スマートフォン勉强会蔼関东#2 2009/8/29 13
14.
?
mixi ? 一部のHTMLパーサはLua化。 ? HTMLの仕様変更(年に1回くらい)があればすぐに対応でき る! ? 2009/8/24(月)仕様変更 ktkr!!!!!!(mixiアプリ) ? 日記読めない、コメントできない、etc… ? 軽く祭りに。 ? 日記対応→Luaのみ ? 暫定版リリースまで:2時間弱 ? ドトールさんのご協力により… ? お気に入りコミュ?ユーザ機能も対応できた ? まだいくつかの機能は対応待ち… スマートフォン勉强会蔼関东#2 2009/8/29 14
15.
? 用意するモノ
? Windows マシン(NOT WM) ? MZ4本体 ? テキストエディタ ? Firefox + LiveHTTPHeaders ? 注意 ? 二十歳以上は酒とおつまみ+たばこも必要です →この場ではちょっと効率落ちるかもw スマートフォン勉强会蔼関东#2 2009/8/29 15
16.
? 「@~
に返信」?「@~ に言い返す」 スマートフォン勉强会蔼関东#2 2009/8/29 16
17.
? メニューに「スターを付ける」を追加する ?
メニュー押下時のイベントハンドラを作る + LiveHTTPHeaders でPOST値を調べる ? Firefox ? イベントハンドラ内でPOST値を作り、 アクセス種別を作り、送信する ? POST完了イベントハンドラを作る スマートフォン勉强会蔼関东#2 2009/8/29 17
18.
? Luaを使うと開発がラクになるよ!
? 仕様変更も開発環境なしですぐに(?)対応できるよ ? テキストエディタだけでMZ3/4のプラグインを 作れるよ! ? Luaで自分好みのAPIを作れるよ。 ? 最後に、 ? 「WindowsMobile開発を256倍快適にする言語Lua」 ? どこが256倍かって? ? 釣りです!! ? タイトルに釣るって書いてたよ!(ルアーって) スマートフォン勉强会蔼関东#2 2009/8/29 18
19.
ご静聴ありがとうございまし
た。 スマートフォン勉强会蔼関东#2 2009/8/29 19
20.
以下、没スライド集です。。。
スマートフォン勉强会蔼関东#2 2009/8/29 20
21.
?
プログラミングしたことある人なら「見れば分かる」 ? コメント -- 1行コメントだお! --[[ この範囲はコメントだお! ]] ? if if http_status ~= 200 then mz3.alert("エラーだよ!“); end ? 文字列処理が得意!(パターン=疑似正規表現) body = line:match('<div class="msg">(.-)</div>'); body = body:gsub('<WBR>', ''); スマートフォン勉强会蔼関东#2 2009/8/29 21
22.
?
MessageBox を Lua から呼び出す // in main.cpp -- gmail.lua int lua_mz3_alert(lua_State *L) mz3.alert('起動したよ!', 'たいとる'); { CString msg(lua_tostring(L, 1)); // 第1引数 CString title(lua_tostring(L, 2)); // 第2引数 MessageBox(GetActiveWindow(), msg, title, MB_OK); // 戻り値の数を返す return 0; } static const luaL_Reg lua_mz3_lib[] = { {"alert", lua_mz3_alert}, {NULL, NULL} }; // in main function luaL_register(L, "mz3", lua_mz3_lib); スマートフォン勉强会蔼関东#2 2009/8/29 22
23.
?
Rubyより30倍、PHPより3倍程度速い場合も。 ? http://shootout.alioth.debian.org/u32q/benchmark. php?test=all&lang=lua&lang2=yarv&box=1 スマートフォン勉强会蔼関东#2 2009/8/29 23
24.
? 自分好みのAPIを設計しよう! ?
APIは全部関数 ? Luaでラッパーを作る(クラス化) ? イベント駆動型 ? 「通信が終わったよ!」「ユーザが右クリックし たよ」といったイベントに対してLua側の関数が 呼ばれる。 ? どの関数を呼ぶかはあらかじめLua側から登録し ておく(イベントハンドラの登録) ? JavaScriptのイベントハンドラと同じ仕組み。 スマートフォン勉强会蔼関东#2 2009/8/29 24
25.
? Twitter
? 誰かのタイムライン、お気に入り (ストーキング用) ? アイコンクリックで返信 ? 作者も使ってない機能がいっぱい ? 巡回とか スマートフォン勉强会蔼関东#2 2009/8/29 25
26.
? Lua
は VM で動く。 ? 起動時にコンパイラが走る。 ? プリコンパイルしておけばもっと速くなる! スマートフォン勉强会蔼関东#2 2009/8/29 26
27.
? 最近は
WM開発というと .NET Compact Framework ですよね? ? .NET CF + Lua は? ? 誰かやって! スマートフォン勉强会蔼関东#2 2009/8/29 27
28.
? 文字コードがSJIS ?
Twitterの(というより@kohmiの)「~」 が化ける! ? Lua側の文字コードを UTF-8 にできる。 ? 組み込むときは UTF-8 にしましょう。 ? MZ3/4はVer.2くらいでやります、たぶ ん。 スマートフォン勉强会蔼関东#2 2009/8/29 28
29.
? cppソースから半自動でluadocを作る方
法。 スマートフォン勉强会蔼関东#2 2009/8/29 29
30.
以下、1000speakersの MZ3関連スライド集です。
スマートフォン勉强会蔼関东#2 2009/8/29 30
31.
? WMのブラウザ(Opera,IE)は遅すぎます ?
WILLCOMだとモバイルmixi使えない (~2006) ? mixi&TwitterクライアントMZ3.i / MZ4 ? mixi : スクレイピング (一部API), 仕様変(ry ? TwitterとRSS ? VisualC++ / MFC ? Windows版=MZ4 (仕事中にry スマートフォン勉强会蔼関东#2 2009/8/29 31
32.
? 2006/08 まこさんがプロトタイプ作成
? 2006/11 ソース公開 ? いっちゅうさんが引継ぎ ? たっけが横取りw <中略> ? 2007/12 絵文字描画対応(仕事人さん) ? 2007/12 iPhone風UI? ? 2008/04 Twitterクライアント搭載 ? 2008/05 もっとiPhone風UI? (モりやまさん) RSSリーダ搭載? ? 2008/xx プラグイン化? スマートフォン勉强会蔼関东#2 2009/8/29 32
Download