20130315 abc firefox_os

2,808 views

Published on

TCP Server Socket API for Firefox OS at ABC 2013 spring

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,808
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

20130315 abc firefox_os

  1. 1. Firefox OSにおけるサーバ機能開発の取り組み@ABC 2013 spring Tomoaki Konno KDDI R&D Laboratories, Inc.
  2. 2. 自己紹介O Tomoaki Konno@KDDI R&D Laboratories, Inc.O HTML5関連の開発・標準化活動 O Firefox OS、地図 O W3C SVG WGメンバー Github • https://github.com/gitomo/ 2
  3. 3. AgendaOServerとFFOSODemoOAPIの使い方Oアプリの作り方O工夫Oまとめ 3
  4. 4. 4
  5. 5. よくある風景 5
  6. 6. 6
  7. 7. 7
  8. 8. 8
  9. 9. Firefox OShttp://www.slideshare.net/dynamis/firefox-os-html5j 9
  10. 10. 10
  11. 11. 11
  12. 12. TCP Socket通信Server Client この部分socket を実装 socket JSlisten CPP openaccept IDL new socket send/recv send/recv close close 12
  13. 13. DemoOTCP Socket通信 O サーバ・クライアント間での Oテキストのやりとり O画像のやりとりOHTTPサーバ O サーバ・クライアント間での Ohtmlコンテンツのやりとり 13
  14. 14. Demo: TCP Socket通信(動画) 14
  15. 15. Demo: HTTPサーバ(動画) 15
  16. 16. 16
  17. 17. アプリ開発までの流れFFOSイン パッチ アプリ ストール 適用 開発 17
  18. 18. Mozilla Developer Network (MDN)https://developer.mozilla.org/en- 18US/docs/Mozilla/Firefox_OS
  19. 19. Bugzillahttps://bugzilla.mozilla.org/show_bug.cgi?id=797561 19
  20. 20. パッチ適用 ここから DownloadB2G# cd geckoB2G/gecko# patch –p1 < bug797561_v*.patchhttps://bugzilla.mozilla.org/show_bug.cgi?id=797561 20
  21. 21. manifestの設定追加 B2G manifest.webapp { "permissions": { gecko gaia "systemXHR":{}, "tcp-socket":{}, } apps } httpCom App これを追加index.ht manifest. js style ml webapp 21
  22. 22. 22
  23. 23. APIの使い方(サーバ側)tcpservsock = navigator.mozTCPSocket.listen(port,OPTION);tcpservsock.onaccept = function(acceptsock) { acceptsock.ondata = function(container) { displayData(container.data); }; acceptsock.onclose = function() { closing(); }; acceptsock.send(message);}tcpservsock.onerror = function(e) { displayError(e.data.message);} 23
  24. 24. APIの使い方(クライアント側) tcpsock = navigator.mozTCPSocket.open(host, port,OPTION); tcpsock.onopen = function() { tcpsock.send(message); tcpsock.close(); } tcpsock.ondata = function(container) { displayData(container.data); }; tcpsock.onclose = function() { closing(); }; tcpsock.onerror = function(e) { displayError(e.data.message); } 24
  25. 25. アプリ開発時のちょっとした工夫Oアプリの変更を実機で確認したい場合、 flashが必要。OWi-FiのPWを毎回打ちたくない時 O B2g/gaia/apps/communications/ftu/ui.js O chooseNetworkメソッド内 passwordInput.value = "xxxxxxxx"; ssidHeader.value = ssid; ※ただし、コード公開時にはPW毎公 開しないようにお気を付けください。 重要なPWは書かないこと。 自己責任でお願いします。 25
  26. 26. 便利なものO 実機以外の動作環境 O Firefox OS Simulator (recommended) O https://hacks.mozilla.org/2013/03/firefox-os-simulator-previewing- version-3-0/ O B2G Desktop Client O https://developer.mozilla.org/en- US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client O B2G Emulator O https://developer.mozilla.org/en- US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators?redirectlocale =en-US&redirectslug=Firefox_OS%2FUsing_the_B2G_emulatorsO Mozilla Cross Reference O http://mxr.mozilla.org/O ツール O gitgui O meld 26
  27. 27. 27
  28. 28. Bug: v.next technology 次世代以降の FFOSの機能候補 TCP Server Socket APIも掲載https://bugzilla.mozilla.org/show_bug.cgi?id=844910 28
  29. 29. まとめOFFOSにおけるTCP Server Socket APIを 使った開発 O https://bugzilla.mozilla.org/show_bug.cgi?id= 797561 Github • https://github.com/gitomo/ 29

×