Suche senden
Hochladen
WindowsMobile開発を256倍快適にする言語 Lua
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
1,361 views
Hiroaki TAKEUCHI
Folgen
WindowsMobile開発を256倍快適にする言語 Lua すまべん(スマートフォン勉強会)関東#2 プレゼン資料
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 32
Jetzt herunterladen
Empfohlen
僕がLasta flute選んだ理由
僕がLasta flute選んだ理由
Yuichiro Kawano
hubotで快適BOT生活
hubotで快適BOT生活
Kazufumi Otani
Jazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとか
Tsubasa Yoshino
実装だって楽したい!〜リアルタイム通信はじめの一歩〜
実装だって楽したい!〜リアルタイム通信はじめの一歩〜
Yuka Tokuyama
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
Ryuichi Ueda
Trema本をbuildする!
Trema本をbuildする!
Takumi Seike
Trident lt vagrant-hands-on
Trident lt vagrant-hands-on
Ryouta Morita
LINQ、Select連弾ってやります?
LINQ、Select連弾ってやります?
Ryota Murohoshi
Empfohlen
僕がLasta flute選んだ理由
僕がLasta flute選んだ理由
Yuichiro Kawano
hubotで快適BOT生活
hubotで快適BOT生活
Kazufumi Otani
Jazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとか
Tsubasa Yoshino
実装だって楽したい!〜リアルタイム通信はじめの一歩〜
実装だって楽したい!〜リアルタイム通信はじめの一歩〜
Yuka Tokuyama
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
Ryuichi Ueda
Trema本をbuildする!
Trema本をbuildする!
Takumi Seike
Trident lt vagrant-hands-on
Trident lt vagrant-hands-on
Ryouta Morita
LINQ、Select連弾ってやります?
LINQ、Select連弾ってやります?
Ryota Murohoshi
210630 python
210630 python
Takuya Nishimoto
OSSと私
OSSと私
Keisuke Kamada
コモジラ研究所
コモジラ研究所
Maiko Wakatsuki
Javakuche yono
Javakuche yono
yono05
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
第一回関西Emacs勉強会 - org-modeを使おう
第一回関西Emacs勉強会 - org-modeを使おう
Ryo Takaishi
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Yoshito Tabuchi
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
Plan 9 MEETS "YUREX" 発動篇
Plan 9 MEETS "YUREX" 発動篇
Go Saito
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
Shin Ise
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
Xamarinでも有能な .NET Core
Xamarinでも有能な .NET Core
Yuta Matsumura
Demo120724
Demo120724
Kazuo Shimokawa
PasteHub at kansai emacs 9th
PasteHub at kansai emacs 9th
Kiyoka Nishiyama
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
Takeshi Komiya
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Takuya Kikuchi
Yapc2012ltthon
Yapc2012ltthon
Junya Murabe
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM,INC
ML system design_pattern
ML system design_pattern
yusuke shibui
Weitere ähnliche Inhalte
Was ist angesagt?
210630 python
210630 python
Takuya Nishimoto
OSSと私
OSSと私
Keisuke Kamada
コモジラ研究所
コモジラ研究所
Maiko Wakatsuki
Javakuche yono
Javakuche yono
yono05
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
第一回関西Emacs勉強会 - org-modeを使おう
第一回関西Emacs勉強会 - org-modeを使おう
Ryo Takaishi
Was ist angesagt?
(6)
210630 python
210630 python
OSSと私
OSSと私
コモジラ研究所
コモジラ研究所
Javakuche yono
Javakuche yono
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
第一回関西Emacs勉強会 - org-modeを使おう
第一回関西Emacs勉強会 - org-modeを使おう
Ähnlich wie WindowsMobile開発を256倍快適にする言語 Lua
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Yoshito Tabuchi
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
Plan 9 MEETS "YUREX" 発動篇
Plan 9 MEETS "YUREX" 発動篇
Go Saito
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
Shin Ise
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
Xamarinでも有能な .NET Core
Xamarinでも有能な .NET Core
Yuta Matsumura
Demo120724
Demo120724
Kazuo Shimokawa
PasteHub at kansai emacs 9th
PasteHub at kansai emacs 9th
Kiyoka Nishiyama
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
Takeshi Komiya
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Takuya Kikuchi
Yapc2012ltthon
Yapc2012ltthon
Junya Murabe
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM,INC
ML system design_pattern
ML system design_pattern
yusuke shibui
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
mganeko
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
Tsukasa Kato
ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit
三七男 山本
HoloLens 2 開発入門 (公式チュートリアルの紹介)
HoloLens 2 開発入門 (公式チュートリアルの紹介)
Madoka Chiyoda
Ähnlich wie WindowsMobile開発を256倍快適にする言語 Lua
(20)
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Plan 9 MEETS "YUREX" 発動篇
Plan 9 MEETS "YUREX" 発動篇
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Xamarinでも有能な .NET Core
Xamarinでも有能な .NET Core
Demo120724
Demo120724
PasteHub at kansai emacs 9th
PasteHub at kansai emacs 9th
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Yapc2012ltthon
Yapc2012ltthon
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
ML system design_pattern
ML system design_pattern
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit
HoloLens 2 開発入門 (公式チュートリアルの紹介)
HoloLens 2 開発入門 (公式チュートリアルの紹介)
Kürzlich hochgeladen
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Kürzlich hochgeladen
(10)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
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
Jetzt herunterladen