SlideShare uma empresa Scribd logo
1 de 107
Baixar para ler offline
Shibuya, Tokyo
Wakanda
presented by
勉強会 #5
2013-10-8
Shibuya, Tokyo
Wakanda 6
agenda
http://www.wakanda.org/roadmap
Shibuya, Tokyo
design
studio enhancements
Shibuya, Tokyo
design
studio enhancements
ページ間のコピー&ペースト
Shibuya, Tokyo
design
studio enhancements
ページ間のコピー&ペースト
足りない重要ファイルを赤字で強調
Shibuya, Tokyo
design
studio enhancements
ページ間のコピー&ペースト
足りない重要ファイルを赤字で強調
Shibuya, Tokyo
design
studio enhancements
ページ間のコピー&ペースト
足りない重要ファイルを赤字で強調
z-order
Shibuya, Tokyo
design
studio enhancements
ページ間のコピー&ペースト
足りない重要ファイルを赤字で強調
WAK5
WAK6
z-order
Shibuya, Tokyo
video
widget
~WAK4
WAK5~
v5
YES
YES
Shibuya, Tokyo
video
widget
v5 v6
YES YES
YES YES
NO YES
NO YES
Shibuya, Tokyo
video
mp4, webm, ogg: 相対ファイルパスまたはURLで指定
widget
Shibuya, Tokyo
video
http://doc.wakanda.org/Widgets-API/Video/playerReady.304-1026828.en.html
On Load Progress
On Start Playing
On End Playing
On Pause
On Duration Change
On Time Update
On Error
widget
Shibuya, Tokyo
video
http://doc.wakanda.org/Widgets-API/Video/playerReady.304-1026828.en.html
On Load Progress On Player Ready+ WAK6
On Start Playing
On End Playing
On Pause
On Duration Change
On Time Update
On Error
widget
Shibuya, Tokyo
events
calendar text input
canvas menu bar
checkbox navigation view
combo box select
image section
radio button group split view
slide switch
text
widget
Shibuya, Tokyo
calendar
On Show On Mouse Move
On Before Show On Mouse Out
On Hide On Mouse Over
On Change On Mouse Up
On Click
On Double Click
On Mouse Down
widget
Shibuya, Tokyo
calendar
On Show On Mouse Move
On Before Show On Mouse Out
On Hide On Mouse Over
On Change On Mouse Up
On Click
On Double Click
On Mouse Down
widget
Shibuya, Tokyo
canvas
On Click On Touch Cancel
On Double Click On Touch End
On Mouse Down On Touch Start
On Mouse Move
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
canvas
On Click On Touch Cancel
On Double Click On Touch End
On Mouse Down On Touch Start
On Mouse Move On Touch Move + WAK6
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
checkbox
On Blur On Mouse Over
On Change On Mouse Up
On Focus
On Click
On Mouse Down
On Mouse Move
On Mouse Out
widget
Shibuya, Tokyo
checkbox
On Blur On Mouse Over
On Change On Mouse Up
On Focus
On Click
On Mouse Down
On Mouse Move
On Mouse Out
widget
Shibuya, Tokyo
combo box
On Blur On Mouse Over
On Change On Mouse Up
On Focus
On Click
On Mouse Down
On Mouse Move
On Mouse Out
widget
Shibuya, Tokyo
combo box
On Blur On Mouse Over
On Change On Mouse Up
On Focus
On Click
On Mouse Down
On Mouse Move
On Mouse Out
widget
Shibuya, Tokyo
image
On Click On Touch Cancel
On Double Click On Touch End
On Mouse Down On Touch Start
On Mouse Move
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
image
On Click On Touch Cancel
On Double Click On Touch End
On Mouse Down On Touch Start
On Mouse Move On Touch Move + WAK6
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
radio button group
On Blur On Mouse Over
On Change On Mouse Up
On Focus
On Click
On Mouse Down
On Mouse Move
On Mouse Out
widget
Shibuya, Tokyo
On Blur On Mouse Over
On Change On Mouse Up
On Focus
On Click
On Mouse Down
On Mouse Move
On Mouse Out
widget
radio button group
Shibuya, Tokyo
slide
On Touch Cancel On Change
On Touch End On Stop
On Touch Move
On Touch Start
On Create
On Start
On Slide
widget
Shibuya, Tokyo
slide
On Touch Cancel On Change
On Touch End On Stop
On Touch Move
On Touch Start
On Create
On Start
On Slide
widget
Shibuya, Tokyo
text
On Blur On Mouse Out On Touch End
On Change On Mouse Over On Touch Start
On Focus On Mouse Up
On Click On Key Up
On Double Click On Key Down
On Mouse Down On Select
On Mouse Move On Touch Cancel
widget
Shibuya, Tokyo
text
On Blur On Mouse Out On Touch End
On Change On Mouse Over On Touch Start
On Focus On Mouse Up
On Click On Key Up
On Double Click On Key Down
On Mouse Down On Select
On Mouse Move On Touch Cancel
widget
Shibuya, Tokyo
text input
On Blur On Mouse Out On Touch End
On Change On Mouse Over On Touch Start
On Focus On Mouse Up
On Click On Key Up
On Double Click On Key Down
On Mouse Down On Select
On Mouse Move On Touch Cancel
widget
Shibuya, Tokyo
text input
On Blur On Mouse Out On Touch End
On Change On Mouse Over On Touch Start
On Focus On Mouse Up
On Click On Key Up
On Double Click On Key Down
On Mouse Down On Select
On Mouse Move On Touch Cancel
widget
Shibuya, Tokyo
menu bar
On Click
On Mouse Down
On Mouse Move
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
menu bar
On Click On Touch End + WAK6
On Mouse Down On Touch Start + WAK6
On Mouse Move
On Mouse Out
On Mouse Over
On Mouse Up
On Touch Cancel + WAK6
widget
Shibuya, Tokyo
navigation view
On Click
On Double Click
On Mouse Down
On Mouse Move
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
navigation view
On Click On Touch Cancel + WAK6
On Double Click On Touch End + WAK6
On Mouse Down On Touch Move + WAK6
On Mouse Move On Touch Start + WAK6
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
split view
On Click
On Double Click
On Mouse Down
On Mouse Move
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
split view
On Click
On Double Click
On Mouse Down
On Mouse Move
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
select
On Blur On Mouse Over
On Change On Mouse Up
On Focus
On Click
On Mouse Down
On Mouse Move
On Mouse Out
widget
Shibuya, Tokyo
select
On Blur On Mouse Over
On Change On Mouse Up
On Focus On Touch Cancel + WAK6
On Click On Touch End + WAK6
On Mouse Down On Touch Start + WAK6
On Mouse Move
On Mouse Out
widget
Shibuya, Tokyo
section
On Click
On Double Click
On Mouse Down
On Mouse Move
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
section
On Click On Touch Cancel + WAK6
On Double Click On Touch End + WAK6
On Mouse Down On Touch Move + WAK6
On Mouse Move On Touch Start + WAK6
On Mouse Out
On Mouse Over
On Mouse Up
widget
Shibuya, Tokyo
switch
On Click On Touch End
On Mouse Down On Touch Start
On Mouse Move On Touch Move
On Mouse Out
On Mouse Over
On Mouse Up
On Touch Cancel
widget
Shibuya, Tokyo
switch
On Click On Touch End
On Mouse Down On Touch Start
On Mouse Move On Touch Move
On Mouse Out
On Mouse Over
On Mouse Up
On Touch Cancel
widget
Shibuya, Tokyo
wakanda dynamic delivery
WD2
page配信の新しい仕組み
WAF optimiserモデルに代わるもの
http://forum.wakanda.org/forumdisplay.php?37-Wakanda-Dynamic-Delivery
pageを実行するために必要な最少限のコンテンツを配信
ネットワーク・トラフィック量を抑制(モバイル対策)
ライブラリに追加されたウィジェット・テーマの総数に影響されない
page毎のマニフェストファイル (package.json)
ダイナミック・ローダー: minify版のライブラリを都度ビルド
ダイナミック・キャッシュ: minify版のライブラリを再利用(デフォルト)
/Wakanda-Dynamic-Delivery-WD2/Wakanda-Dynamic-Delivery-WD2.100-1028663.en.html
Shibuya, Tokyo
wakanda dynamic delivery
WD2
http://forum.wakanda.org/forumdisplay.php?37-Wakanda-Dynamic-Delivery
WAF optimiser 100
ダイナミック・ローダー 50
ダイナミック・キャッシュ 25
page配信の新しい仕組み
WAF optimiserモデルに代わるもの
page読み込み時間
/Wakanda-Dynamic-Delivery-WD2/Wakanda-Dynamic-Delivery-WD2.100-1028663.en.html
Shibuya, Tokyo
wakanda dynamic delivery
WD2
http://forum.wakanda.org/forumdisplay.php?37-Wakanda-Dynamic-Delivery
page配信の新しい仕組み
WAF optimiserモデルに代わるもの
後方互換性
WAF optimiserモデルの使用を継続(既存・新ページ)
WD2に移行(既存ページを変換)
既存ページはWAF optimiserモデル,新ページはWD2(デフォルト)
/Wakanda-Dynamic-Delivery-WD2/Wakanda-Dynamic-Delivery-WD2.100-1028663.en.html
Shibuya, Tokyo
preferences.json
{
    "gui":{
        "wd2": {
            "migrate": false,
            "create": false
        }
    }
}
Library/Application Support/Wakanda Studio/
C:Users{userName}AppDataRoamingWakanda Studio
WAF optimiserモデルの使用を継続(既存・新ページ)
WD2に移行(既存ページを変換)
既存ページはWAF optimiserモデル,新ページはWD2(デフォルト)
WD2
/Wakanda-Dynamic-Delivery-WD2/Wakanda-Dynamic-Delivery-WD2.100-1028663.en.html
Shibuya, Tokyo
preferences.json
{
    "gui":{
        "wd2": {
            "migrate": true,
            "create": true
        }
    }
}
Library/Application Support/Wakanda Studio/
C:Users{userName}AppDataRoamingWakanda Studio
WAF optimiserモデルの使用を継続(既存・新ページ)
WD2に移行(既存ページを変換)
既存ページはWAF optimiserモデル,新ページはWD2(デフォルト)
WD2
/Wakanda-Dynamic-Delivery-WD2/Wakanda-Dynamic-Delivery-WD2.100-1028663.en.html
Shibuya, Tokyo
preferences.json
{
    "gui":{
        "wd2": {
            "migrate": false,
            "create": true
        }
    }
}
Library/Application Support/Wakanda Studio/
C:Users{userName}AppDataRoamingWakanda Studio
WAF optimiserモデルの使用を継続(既存・新ページ)
WD2に移行(既存ページを変換)
既存ページはWAF optimiserモデル,新ページはWD2(デフォルト)
WD2
/Wakanda-Dynamic-Delivery-WD2/Wakanda-Dynamic-Delivery-WD2.100-1028663.en.html
Shibuya, Tokyo
/Conversion-Notes/Migrating-to-Wakanda-6.200-1013342.en.html
migrate: true
WD2
<meta name="WAF.packageJson"/>
{page}.waPage/index.package.json
既存のpageをWakanda 6で開けば自動的にタグが追加される
タグの追加されたpageを保存すれば自動的にファイルが作成される
Shibuya, Tokyo
/Conversion-Notes/Migrating-to-Wakanda-6.200-1013342.en.html
package.json
WD2
{
"name": "Untitled1/Untitled1.waPage/index.html",
"version": "1.0.0",
"loadDependencies": [{
"id": "lilac",
"type": "theme"
}, {
"id": "Untitled1.waPage/styles/index.css",
"path": "WEBFOLDER",
"type": "style"
}, {
"id": "application.css",
"path": "WEBFOLDER",
"type": "style"
}]
}
Shibuya, Tokyo
/Conversion-Notes/Migrating-to-Wakanda-6.200-1013342.en.html
package.json
WD2
{
"name": "Untitled1/Untitled1.waPage/index.html",
"version": "1.0.0",
"loadDependencies": [{
"id": "lilac",
"type": "theme"
}, {
"id": "Untitled1.waPage/styles/index.css",
"path": "WEBFOLDER",
"type": "style"
}, {
"id": "application.css",
"path": "WEBFOLDER",
"type": "style"
}]
}
WEBFOLDER
WIDGETS_CUSTOM
THEMES_CUSTOM
バーチャル・ファイルシステム
Shibuya, Tokyo
/Conversion-Notes/Migrating-to-Wakanda-6.200-1013342.en.html
package.json
WD2
{
"name": "Untitled1/Untitled1.waPage/index.html",
"version": "1.0.0",
"loadDependencies": [{
"id": "lilac",
"type": "theme"
}, {
"id": "Untitled1.waPage/styles/index.css",
"path": "WEBFOLDER",
"type": "style"
}, {
"id": "application.css",
"path": "WEBFOLDER",
"type": "style"
}]
}
path省略: WAFパッケージ
Shibuya, Tokyo
/Configuration-and-Settings-Files/Project-Settings-File.300-684392.en.html
builder handler service
WD2
<?xml version="1.0" encoding="UTF-8"?><settings>
" <project />
" <http />
" <service name="webApp" />
" <service name="rpc" />
" <service name="dataStore" />
" <service name="upload" ... />
" <service name="Git HTTP Service" />
" <service
" " name="Builder handler"
" " modulePath="services/builder-service"
" " enabled="true"
" " max-age="0"
" " hardCache="false" />
" <virtualFolder location="/WIDGETS_CUSTOM/" name="widgets-custom" />
" <virtualFolder location="/THEMES_CUSTOM/" name="themes-custom" />
" <resources />
" <javaScript />
</settings>
{project}/Settings.waSettings
Shibuya, Tokyo
/Configuration-and-Settings-Files/Project-Settings-File.300-684392.en.html
builder handler service
WD2
<?xml version="1.0" encoding="UTF-8"?><settings>
" <project />
" <http />
" <service name="webApp" />
" <service name="rpc" />
" <service name="dataStore" />
" <service name="upload" ... />
" <service name="Git HTTP Service" />
" <service
" " name="Builder handler"
" " modulePath="services/builder-service"
" " enabled="true"
" " max-age="0"
" " hardCache="false" />
" <virtualFolder location="/WIDGETS_CUSTOM/" name="widgets-custom" />
" <virtualFolder location="/THEMES_CUSTOM/" name="themes-custom" />
" <resources />
" <javaScript />
</settings>
{project}/Settings.waSettings
Shibuya, Tokyo
/Conversion-Notes/Migrating-to-Wakanda-6.200-1013342.en.html
WD2
Shibuya, Tokyo
/Conversion-Notes/Migrating-to-Wakanda-6.200-1013342.en.html
WD2
Shibuya, Tokyo
/Conversion-Notes/Migrating-to-Wakanda-6.200-1013342.en.html
WD2
wakanda dynamic delivery
セットアップ
meta name="WAF.packageJson"
index.package.json
service name="Builder handler"{ }
-desktop~waf-build.js?useReferer=1
-desktop~waf-build.css?useReferer=1/waf-optimize.js
waf-optimize.css
Shibuya, Tokyo
/Conversion-Notes/Migrating-to-Wakanda-6.200-1013342.en.html
WD2
wakanda dynamic delivery
http://127.0.0.1:8081/index.waPage/index.html?debug=1
minifyしないで個別にファイルを送信
http://127.0.0.1:8081/waf-reset-build-cache
cacheをクリア
http://127.0.0.1:8081/waf-reset-build-cache?minifyCores=1
cacheをクリア+次に備えてコア・ライブラリをminify
Shibuya, Tokyo
send files
XHR
var res;
var file = File(ds.getModelFolder().path + "/Resources/sample.png");
xhr = new XMLHttpRequest();
xhr.open('PUT', "http://httpbin.org/put");
xhr.setRequestHeader('Content-Type', "image/png");
xhr.onreadystatechange = function() {
" var state = this.readyState;
if (state == 4) {
res = 'response: ' + this.responseText;
}
}
xhr.send(file);
res;
WAK5: send(String data)
WAK6: send(String| File data)
/XMLHttpRequest/XMLHttpRequest-Instances-Requests/send.301-867462.en.html
Shibuya, Tokyo
send files
XHR
var res;
var file = File(ds.getModelFolder().path + "/Resources/sample.png");
xhr = new XMLHttpRequest();
xhr.open('PUT', "http://httpbin.org/put");
xhr.setRequestHeader('Content-Type', "image/png");
xhr.onreadystatechange = function() {
" var state = this.readyState;
if (state == 4) {
res = 'response: ' + this.responseText;
}
}
xhr.send(file);
res;
/XMLHttpRequest/XMLHttpRequest-Instances-Requests/send.301-867462.en.html
ds.getDataFolder(); // data folder
ds.getModelFolder(); // waModel folder
getFolder(); // waProject folder
getWalibFolder(); // Wakanda Server.app/Contents/walib/
Shibuya, Tokyo
send files
XHR
var res;
var file = File(ds.getModelFolder().path + "/Resources/sample.png");
xhr = new XMLHttpRequest();
xhr.open('PUT', "http://httpbin.org/put");
xhr.setRequestHeader('Content-Type', "image/png");
xhr.onreadystatechange = function() {
" var state = this.readyState;
if (state == 4) {
res = 'response: ' + this.responseText;
}
}
xhr.send(file);
res;
/XMLHttpRequest/XMLHttpRequest-Constructor.201-867268.en.html
send() : サーバーサイドは同期通信のみ
Content-Type : バイナリデータは指定
Shibuya, Tokyo
send files
XHR
var res;
var file = File(ds.getModelFolder().path + "/Resources/sample.png");
xhr = new XMLHttpRequest();
xhr.open('PUT', "http://httpbin.org/put");
xhr.setRequestHeader('Content-Type', "image/png");
xhr.onreadystatechange = function() {
" var state = this.readyState;
if (state == 4) {
res = 'response: ' + this.responseText;
}
}
xhr.send(file);
res;
/XMLHttpRequest/XMLHttpRequest-Constructor.201-867268.en.html
httpbin : クライアントのテストに便利
Shibuya, Tokyo
send files
XHR
var res;
var file = File(ds.getModelFolder().path + "/Resources/sample.png");
xhr = new XMLHttpRequest();
xhr.open('PUT', "http://httpbin.org/put");
xhr.setRequestHeader('Content-Type', "image/png");
xhr.onreadystatechange = function() {
" var state = this.readyState;
if (state == 4) {
res = 'response: ' + this.responseText;
}
}
xhr.send(file);
res;
/XMLHttpRequest/XMLHttpRequest-Constructor.201-867268.en.html
0 // UNSET
1 // OPENED
2 // HEADERS_RECEIVED
3 // LOADING
4 // DONE
Shibuya, Tokyo
push event
/Creating-a-Custom-Widget-v6/designerjs.200-1026376.en.html
https://github.com/AMorgaut/wakanda-eventsource
event source
http://caniuse.com/#search=eventsource
(絶え間なく要求する代わりに)サーバーからデータを連続的に送信する仕組み
Internet Explorer < 10 : pollyfillで対応
https://github.com/Yaffle/EventSource
http://www.w3.org/TR/eventsource/
http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html
Shibuya, Tokyo
push event
/Creating-a-Custom-Widget-v6/designerjs.200-1026376.en.html
event source
(絶え間なく要求する代わりに)サーバーからデータを連続的に送信する仕組み
pro con
polling basic ajax HTTP overhead
long polling infinite iframe hack
WebSocket API full duplex special protocol
EventSource no special protocol not full duplex
Shibuya, Tokyo
push event
/Creating-a-Custom-Widget-v6/designerjs.200-1026376.en.html
event source
require('wakanda-eventsource').start();
require('wakanda-eventsource').push('message');
Shibuya, Tokyo
push event
/Creating-a-Custom-Widget-v6/designerjs.200-1026376.en.html
event source
require('wakanda-eventsource').start();
require('wakanda-eventsource').pushEvent({
'customEventName',
'message'
});
Shibuya, Tokyo
push event
/Creating-a-Custom-Widget-v6/designerjs.200-1026376.en.html
event source
require('wakanda-eventsource').start();
require('wakanda-eventsource').pushEvent(
'customEventName',
messageObject,
true // encode in JSON
);
Shibuya, Tokyo
push event
/Creating-a-Custom-Widget-v6/designerjs.200-1026376.en.html
event source
var sse = new EventSource('/eventsource');
sse.onmessage = function onservermessage(event) {
console.log(event)
};
Shibuya, Tokyo
evaluate JS
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [script_path]
Shibuya, Tokyo
evaluate JS
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [script_path]
serverを起動
Shibuya, Tokyo
evaluate JS
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [script_path]
serverを起動
scriptを評価: solution, projectに依存しないAPI
Shibuya, Tokyo
evaluate JS
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [script_path]
serverを起動
scriptを評価: solution, projectに依存しないAPI
consoleにメッセージを出力
Shibuya, Tokyo
evaluate JS
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [script_path]
serverを起動
scriptを評価: solution, projectに依存しないAPI
consoleにメッセージを出力
console.info("info");
console.log("log");
console.error("error");
console.warn("warn");
Shibuya, Tokyo
evaluate JS
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [script_path]
serverを起動
scriptを評価: solution, projectに依存しないAPI
返り値: null
consoleにメッセージを出力
console.info("info");
console.log("log");
console.error("error");
console.warn("warn");
Shibuya, Tokyo
evaluate JS
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [script_path]
serverを起動
scriptを評価: solution, projectに依存しないAPI
返り値: null
serverを終了
consoleにメッセージを出力
console.info("info");
console.log("log");
console.error("error");
console.warn("warn");
Shibuya, Tokyo
launch solution
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [solution_path]
--admin-port=http_port_number [default=8080]
--admin-ssl-port=http_port_number [default=4433]
--admin-password=password
Shibuya, Tokyo
launch solution
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [solution_path]
--admin-port=http_port_number [default=8080]
--admin-ssl-port=http_port_number [default=4433]
--admin-password=password
--debug-off
WAK4~
Shibuya, Tokyo
launch solution
command line
/Evaluating-a-JS-script-using-a-Command-Line.300-958090.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
Wakanda Server.exe
wakanda_server_name [solution_path]
--admin-port=http_port_number [default=8080]
--admin-ssl-port=http_port_number [default=4433]
--admin-password=password
--debug-off
--debugger=remote
--debugger=wakanda
--debugger=none [default=none]
--syslog
WAK5~
Shibuya, Tokyo
launch solution
command line
/Launching-Wakanda-Server-using-a-Command-Line.300-583228.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
wakanda_server_name [solution_path]
--admin-port=http_port_number [default=8080]
--admin-ssl-port=http_port_number [default=4433]
--admin-password=password
--debug-off
--debugger=remote
--debugger=wakanda
--debugger=none [default=none]
--syslog
WAK5~
{solutionPath}/Logs/Untitled_log_1.txt: と同じ内容をシステムログに記録
Shibuya, Tokyo
launch solution
command line
/Launching-Wakanda-Server-using-a-Command-Line.300-583228.en.html
Wakanda Server.app/Contents/MacOS/Wakanda Server
wakanda_server_name [solution_path]
--admin-port=http_port_number [default=8080]
--admin-ssl-port=http_port_number [default=4433]
--admin-password=password
--debug-off
--debugger=remote
--debugger=wakanda
--debugger=none [default=none]
--syslog
WAK5~
sudo nano /etc/syslog.conf
user.* /var/log/user.log
{solutionPath}/Logs/Untitled_log_1.txt: と同じ内容をシステムログに記録
Shibuya, Tokyo
Wakanda-Studio-Reference-Guide/GUI-Designer-Preferences.200-1023373.ja.html
designer
preferences.json
{
    "gui":{
        "dataGrid": {
            "maxColumnDisplay": 10,
            "maxColumnCreate": 10
        },
        "autoForm": {
            "maxAttributeDisplay": 10,
            "maxAttributeCreate": 10
        }
        "formGenerator": {
            "maxAttribute": 10
        }
    }
}
Library/Application Support/Wakanda Studio/
C:Users{userName}AppDataRoamingWakanda Studio
Shibuya, Tokyo
Wakanda-Studio-Reference-Guide/GUI-Designer-Preferences.200-1023373.ja.html
designer
preferences.json
{
"gui":{
snapping : {
magneticGrid : {
automaticallyActive : true,
onlySnapToSiblings : true,
color : "red"
}
}
}
}
Library/Application Support/Wakanda Studio/
C:Users{userName}AppDataRoamingWakanda Studio
WAK5~
Shibuya, Tokyo
Wakanda-Studio-Reference-Guide/GUI-Designer-Preferences.200-1023373.ja.html
designer
preferences.json
{
"gui":{
themes : {
desktop: "lilac",
smartphone: "cupertino",
tablet: "cupertinoIpad"
}
}
}
Library/Application Support/Wakanda Studio/
C:Users{userName}AppDataRoamingWakanda Studio
WAK5~
Shibuya, Tokyo
Wakanda-Studio-Reference-Guide/GUI-Designer-Preferences.200-1023373.ja.html
desktop smartphone tablet
default cupertino cupertino
metal cupertinoIpad cupertinoIpad
lilac
light
softGray
designer preferences
predefined themes
Shibuya, Tokyo
custom themes
themes
/Wakanda-Studio-Reference-Guide/GUI-Designer-Pages/Theme.300-1024435.en.html
Users/{userName}/Documents/Wakanda/Themes/{themeName}/
C:Users{userName}DocumentsWakandaThemes{themeName}
既存theme複製
新規theme作成
or
or
コミュニティthemeインストール
http://doc.wakanda.org/Wakanda0.v6/help/Title/en/page3906.html
Shibuya, Tokyo
custom themes
themes
/Wakanda-Studio-Reference-Guide/GUI-Designer-Pages/Theme.300-1024435.en.html
Shibuya, Tokyo
custom widget
widget
/Users/{userName}/Documents/Wakanda/Widgets/
C:Users{userName}DocumentsWakandaWidgets
/Architecture-of-Wakanda-Applications/Custom-Widget.200-1024545.en.html
css- folder スタイルシート
designer.js プロパティリスト,デザインスクリプト
icons- folder アイコン
package.json ファイル構成
widget.js ランタイムスクリプト
Shibuya, Tokyo
custom widget
widget
/Creating-a-Custom-Widget-v6/Creating-a-Custom-Widget-v6.100-1023095.en.html
メリット:
Shibuya, Tokyo
custom widget
widget
/Creating-a-Custom-Widget-v6/Creating-a-Custom-Widget-v6.100-1023095.en.html
studioでドラッグ&ドロップ
studioでプレビュー
studioでプロパティ設定
studioでイベント設定
studioでスタイル設定
他ajaxフレームワークをdataSourceにバインド
メリット:
Shibuya, Tokyo
custom widget
widget
/Creating-a-Custom-Widget-v6/Creating-a-Custom-Widget-v6.100-1023095.en.html
メリット:
Shibuya, Tokyo
custom widget
widget
/Creating-a-Custom-Widget-v6/Creating-a-Custom-Widget-v6.100-1023095.en.html
studioでドラッグ&ドロップ
studioでプレビュー
studioでプロパティ設定
studioでイベント設定
studioでスタイル設定
他ajaxフレームワークをdataSourceにバインド
メリット:
Shibuya, Tokyo
custom widget
widget
/Installing-Wakanda/Libraries-and-Plug-ins-Loaded-by-WAF.200-734790.en.html
メリット:
included in WAF included in WAF
Shibuya, Tokyo
custom widget
widget
/Installing-Wakanda/Libraries-and-Plug-ins-Loaded-by-WAF.200-734790.en.html
studioでドラッグ&ドロップ
studioでプレビュー
studioでプロパティ設定
studioでイベント設定
studioでスタイル設定
他ajaxフレームワークをdataSourceにバインド
メリット:
included in WAF included in WAF
Shibuya, Tokyo
widget
/Creating-a-Custom-Widget-v6/Creating-a-Custom-Widget-v6.100-1023095.en.html
Shibuya, Tokyo
widget
/Creating-a-Custom-Widget-v6/Creating-a-Custom-Widget-v6.100-1023095.en.html
Shibuya, Tokyo
widget
/Creating-a-Custom-Widget-v6/Creating-a-Custom-Widget-v6.100-1023095.en.html
名前の先頭は大文字 widget = JavaScriptクラス
Shibuya, Tokyo
widget
/Creating-a-Custom-Widget-v6/Creating-a-Custom-Widget-v6.100-1023095.en.html
名前の先頭は大文字 widget = JavaScriptクラス
Shibuya, Tokyo
designer web inspector
widget
{Wakanda Studio}/Contents/Resources/default.waPreferences
{Wakanda Studio}/../Resources/default.waPreferences
<preferences>
<com.wakanda>
<debugging web_inspector="false"/>
<MDIColor alpha="255" blue="171" green="171" red="171"/>
<general serverPath =""/>
<outline sorting="byName"/>
<outline lightMode="true"/>
...
</com.wakanda>
</preferences>
Shibuya, Tokyo
designer web inspector
widget
{Wakanda Studio}/Contents/Resources/default.waPreferences
{Wakanda Studio}/../Resources/default.waPreferences
default.waPreferences
<preferences>
<com.wakanda>
<debugging web_inspector="false"/>
<general defaultSolutionFolder="Macintosh HD:Users:miyako:Desktop:"
createGIT="false" createBlankProject="true"/>
<solutionExplorer defaultPage="1"/>
<method_editor></method_editor>
</com.wakanda>
</preferences>
Shibuya, Tokyo
designer web inspector
widget
<preferences>
<com.wakanda>
<debugging web_inspector="true"/>
<general defaultSolutionFolder="Macintosh HD:Users:miyako:Desktop:"
createGIT="false" createBlankProject="true"/>
<solutionExplorer defaultPage="1"/>
<method_editor></method_editor>
</com.wakanda>
</preferences>
/Users/{userName}/Library/Application Support/Wakanda Studio/
C:Users{User Name}AppDataRoamingWakanda Studio
Wakanda Studio.waPreferences
Shibuya, Tokyo
icons
widget
/Creating-a-Custom-Widget-v6/packagejson.200-1026497.en.html
size 16 x 16
type image/png
name widget.png- setIcon()
Shibuya, Tokyo
icons
widget
sips -z 16 16 icon.png widget.png
/Creating-a-Custom-Widget-v6/packagejson.200-1026497.en.html
size 16 x 16
type image/png
name widget.png- setIcon()
Shibuya, Tokyo
widget
/Creating-a-Custom-Widget-v6/designerjs.200-1026376.en.html
Shibuya, Tokyo
Wakanda
presented by
勉強会 #5
2013-10-8

Mais conteúdo relacionado

Mais de kmiyako

Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4Dkmiyako
 
4D WORLD TOUR 2017
4D WORLD TOUR 20174D WORLD TOUR 2017
4D WORLD TOUR 2017kmiyako
 
Inside Multi-Threading
Inside Multi-ThreadingInside Multi-Threading
Inside Multi-Threadingkmiyako
 
Mirroring
MirroringMirroring
Mirroringkmiyako
 
Objects Fields
Objects FieldsObjects Fields
Objects Fieldskmiyako
 
Code Optimisation
Code OptimisationCode Optimisation
Code Optimisationkmiyako
 
Auto Update
Auto UpdateAuto Update
Auto Updatekmiyako
 
Classic Query Editor
Classic Query EditorClassic Query Editor
Classic Query Editorkmiyako
 
Web area-phone-home
Web area-phone-homeWeb area-phone-home
Web area-phone-homekmiyako
 
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~kmiyako
 
Journaling slides
Journaling slidesJournaling slides
Journaling slideskmiyako
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5kmiyako
 
Unicode-v11-0
Unicode-v11-0Unicode-v11-0
Unicode-v11-0kmiyako
 
アップグレードセミナー
アップグレードセミナーアップグレードセミナー
アップグレードセミナーkmiyako
 
4D Write Pro
4D Write Pro4D Write Pro
4D Write Prokmiyako
 
バックアップと復元
バックアップと復元バックアップと復元
バックアップと復元kmiyako
 

Mais de kmiyako (20)

Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4D
 
4D WORLD TOUR 2017
4D WORLD TOUR 20174D WORLD TOUR 2017
4D WORLD TOUR 2017
 
Leaflet
LeafletLeaflet
Leaflet
 
Inside Multi-Threading
Inside Multi-ThreadingInside Multi-Threading
Inside Multi-Threading
 
4D Tags
4D Tags4D Tags
4D Tags
 
Mirroring
MirroringMirroring
Mirroring
 
Objects Fields
Objects FieldsObjects Fields
Objects Fields
 
Code Optimisation
Code OptimisationCode Optimisation
Code Optimisation
 
Auto Update
Auto UpdateAuto Update
Auto Update
 
Classic Query Editor
Classic Query EditorClassic Query Editor
Classic Query Editor
 
Web area-phone-home
Web area-phone-homeWeb area-phone-home
Web area-phone-home
 
4d
4d4d
4d
 
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
 
Xslt
XsltXslt
Xslt
 
Journaling slides
Journaling slidesJournaling slides
Journaling slides
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5
 
Unicode-v11-0
Unicode-v11-0Unicode-v11-0
Unicode-v11-0
 
アップグレードセミナー
アップグレードセミナーアップグレードセミナー
アップグレードセミナー
 
4D Write Pro
4D Write Pro4D Write Pro
4D Write Pro
 
バックアップと復元
バックアップと復元バックアップと復元
バックアップと復元
 

Último

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Último (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Wakanda#5