html5

2014������10·���05������

Web���«������Layer3 (IP layer) �����ҏ�������돫��¹������»��Џ��������̏��������������«������

\���\���\¹\���\���\���\��\���\���\���\�����������������Ï����������؏����ҏ�����������¼��쏢�������·���������¹��¡�Web\��\��\���½��Џ��������������­��������¡񏪣�����ď��\���\���\���������»��������������Ώ���������̏��«������������������������������\���\¹\���\���\¹���­������¹���������\µ���¼\���\¹�����������Ѣ�����������­���������������«��������¡����������������я�����NW\���\���\������������������������������쏢�³�����Ï����������������������Ï�����������¡�OSI»²¾��������������������Ï�������¡�layer5 �����������ӏ�����HTTP/1.1 => SPDY, HTTP2�������돪�¹��ԏ��·���������������ޏ�������¡��½������²¼������Layer4 ( TCP )�������������­���������������������������쏢�«������������������µ��؏�����²������������������������������«�������������������������³���������؏�����¾��䏢돪㏢������¡�µ����������������� HTML5 Conference 2013������¹��ӡޏ�����·�����ď����������������� ����SPDY������QUIC���о�������������·�����¡�Web������ď��²½����\��\���\���\³\��������ҏ����Џ�𡯏���������������������¡�HTML5 Conference 2013��¡� ��������¡�publickey ������\���\����¼\���µ­»��ӏ�����¾���²��Ï����������ď��������������������������������¹�������������«��¡�

���³�����Ï����������������ď�����·������«��������¡񏪣¹���������³�����������̏����Џ��µ���������������������������«������������SCTP����³��������Џ��µ�����������ď�������¡�SCTP������²��Џ���ޏ������¾���������̏����������������·������QUIC����½Ð���������­�����ď�������������¡�Web����\���\���\�̏��¼������������������������ Layer4 ������ tcp alternative ���������������½Ð���������­���������������������¹��¡�

���½�����я�������������¡����������я��������������¼������ WebRTC ���̏����������Ώ����� Chromium ������\½���¼\¹\³���¼\������«�����������ď��������ӏ���������¡�JS���«������Layer3������������������������\���\��\·\���\��я��̏����������쏢¡ߏ����ҏ��������«���·�����ď�����������¡��򏩡��䏢�������½��������������������������������¡�\���\���\¹\���\���\���\��\���\���\���\����\«\Ð���¼���·���������ޏ��������Ð���������������������������¡돫�������¹¹������¹­���̏��������½�����Ï��������¹��¡�¡�¡�

�������������������������������������¹���������«������������������������������¡�WebRTC������\���\��\·\���\��я����ď�����

��������������������¡񏪢���½µ�����Ï�����������²���¼��ҏ�����\���\���\Ð���¼����¼�����돪����¹������ WebRTC Meetup Tokyo #4 ��������¡񏪳�������LT���·�����ď��ӏ������������������������������������¹���������«���������·������������������Constraints�����ď�������¡ߏ������������������¹��¡�

googImprovedWifiBwe

���³������LT������¾���²��Ï��·�����ď�����������¡�RTCPeerConnection()������P2P������³«»������¹���������������­�����������Ώ��������������­������������������������������������������������������������Chrome������¼«\���\��\·\���\��я�¡�����𡯏��Ð��¡�WebRTC \���\���\���\���\���\���\��������� reference demo https://apprtc.appspot.com/��������������¡�


optional: [{"googImprovedWifiBwe":true}]
���̏����Џ��������������������������¹��¡��³��������������¡�NW�����ѡ돫���ď��������\��\���\��\���\���\���������²��Џ���ޏ��µ�����������ď������������������¹������\���\��\·\���\��я��������������Ï��������¹����Bwe��������¡񏪤��ď����BandWidth Estimation������¢̏�����������»�ߏ����Ï�����¡򏪣�����ď�����¼�������������¾������̡���䏪���ԏ��µ������������������������¡񏪪������������������쏢�������������������������������������·���½�����Ï�¡����ď�������¡񏢱½��돩Ώ�����Chromium������\½���¼\¹\³���¼\������«��������������¡��³������\���\��\·\���\��я�����8·����돢����������������\���\���\������«������������������������������������������������������������¡񏪤��ď���̏��³������\��\���\��\���\���\�������\���\���\���\���\��������������������������ď������«���������폢������¡��½���������Ï�������¡�stable�����������������ġޏ�����µ�����������������я��������·�����������Ï�������¡�

googIPv6 & googDscp

����������¡��½�������돪�³�돢����µ���������������������������\���\��\·\���\��я��̏��³��������������Ï�������¡�Chrome������¼«\���\��\·\���\��я��������¹������¡�


mandatory: { "googIPv6": true, "googDscp": true }
�����¼��ԏ�������¡�P2P��������ď�����IPv6����»�����𡯏����������������Ï��������¹�������������������������·��¡񏢱���¼��ԏ����� Diffserv ������\���\���\�돢����\���\��я��������¹�������������������������¹��������Џ��������쏢������������¡�IPv4�����������������Ð IP\���\���\���������TOS\���\���¼\���\�����������¡�IPv6������¾���¹���������Class\���\���¼\���\���������\���\���\�������\»\���\������µ���������������¹��¡�IPv6������������¾��⏢�·�����ď�����0x88������\���\���\������̏��폢�������������·�����ď�����¡򏢱µNW²�돢�µ�����я��������·��������������¡��½���³\���\���¡�

���³����������������»�����𡯏��������������ӏ��������������쏢�폢¡������������؏��������¹���̏�¡񏢱½¾��؏����������������������������쏢���������������������������������»�����я�¡�����𡯏��Ð googIPv6 ��������������������������������¡�\���\���\���\���������IPv6 \���\��\·\���\��я����� enable ���������·�����ď����������쏢�·��������������¡�ISP������·Ð���³���¹���������³���������µ������\���\���\���\��������ӏ�������¡�shortest path������WebRTC P2P��������ď��������­���������������«����IPv6\���\��\·\���\���ON���������·�����������������Ï��������ޏ��������������¾�����䏪������ď����ҏ����������я��������������������·�����������������Ï�����������¡�\»\­\���\���\���\��\���\¹\������̏��������������������¾µ���������쏢�­²¼���µ��������¡�돫�������������\³\���\·\������¼\������¼\µ���¼\���\¹���������³�����������ҏ���돪���я��������¹�������������������½¼��������쏢�������������µ���������«������������¡����������ď�¡�googDscp ��������������������������������¡��³������������TOS/Class\���\���¼\���\���������\���\���\�돢���ҏ��폢���������������쏢������������¡�\������¼\��ď��¼���������\�����������폢�������·�������������������������������������������������������������я����Ώ���������̏���ߏ�����¡�\���\���\��쏪��������������������¼���������¾���������·��ҏ��̏��������������¹��¡�\���\���\���\���\���\���\���������������WebRTC���������������������­��������������¡񏪪������������������쏢�������������������¹���������«����������Internet½Ð������¹��ԏ�����»��Џ�������¡񏪣���¾������³������\���\���\��������������я�����������\���\���\���µ������������������������¡�³��������Џ������돪�������\���\���\���\���������������������������������»�ߏ��������������¹������¡�

������������������¡�������������¼���������\�ޏ��¼\¹���������������������¹���������«���������폢���������������Ï����Ώ��������������������ޏ��������¹���̏�¡�\��\���\��ď��¼\��\���\���\��돢���Џ��ޏ�����\·\¹\���\���¹½�����叢�������«��������������¡��³���������������������������������쏢�������������������¹���������«��������¡�\��\���\��\��������Џ��ޏ�����WebRTC���̏�����³��������쏢���������̏����Џ��µ�����������������������Ï����������������������������������������Ï��·���Ð���������������«���«���������������·�����������Ï��̏�¡񏩡��������ԏ�����¾��⏢�������«�����������������«������»����·�����������쏢����������³��⏢�·���������«���������·���������������»�����я���IPv6����¹­������»��������������������������������Ï��������������������³��������������������������������¡񏪤��ď���� googIPv6 ������\���\��\·\���\���¼«��������\���\���\���\���\������������������������������·�����������Ï��ޏ���������

\���\���\¹\���\���\���\��\���\���\���\������������\������¼\��돢����¹¹������¹������������������«������

�����������ҏ��������������¼������»�ߏ����������ď�����������¡��³������������������\���\��\·\���\��я����������� Layer3 �����ҏ�������돫��¹�����������������������������я��������¹��������������¡򏩡�����������¡�googDscp �����������я�������¡�JS���«������IP\���\���\����������\�����������폢����������\³\���\���\������¼\������¹����������������������������������¡�Web���«������Layer3������\³\���\���\������¼\������·���������������������³���������������¾���������������������»�����я�¡����������������������я�¡��³������\���\��\·\���\��я����ҏ��­������²½���¹�����������ď�������������������¡�JS�����Ï��«���������������ޏ�����������\���\�����������¡�\������¼\��ď��¼�����Ï�����\³\���\���\��\�돢��������̏���ߏ�¡�������������¡��½�����Ï�����������������¹�����𡯏�������������¡�\·\¹\���\�����돫��������������­������Web²�돢�µ�����я�����NW²�돢�µ�����я��̏����폢���������·������·���������­�����������������������������������������������䏢�̏�¡��½���³�������������������������������������������«����������������������������������¹�����𡯏��������·���������������������·�����ď�¡�

���½�����я����������폢���������·������̏���̏���ߏ����������������������ď��������­��¡�½��������؏��µ�������������������������Ð����������\���\���\���\���\������¼������½����������·������\��\���\���\���\�����������я��������·�����������Ï�������¡�¡�¡򡭏�����\������������������������


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 20:25����Permalink����Comments(2)����TrackBack(0)����clip!

2012������06·���16������

Web������Native²½���������Ð���¹������������½���²½����»�������������������

��돫ҏ����䏢¡�돫���돫ҏ����䏢�������������\������³«��돪����µ������������W3C������Workshop������»²²������·���������·�����ď�¡򏩡�����������������¡�Webµ»½��Џ�����\���\���\���\���\µ\���\������¼\�������������������̏����Џ��·���������������³�����Ï����������������Ï�����������������¡񏪳������������叢���Ï��«����������������WebIntents������������������API�����ҏ����̏����Џ��·��������¡�\µ\���\������¼\���������\¹\���\���\��폢�������«�����ҏ����·������¹�����������������������ҏ����������я��������������������������폢¡ߏ����������������������ď����ѡ돩������ҏ��µ���»���������������������������������·�����ď��������������㏢�����³���������������̏�������¡�¼«����̏����¡ޏ�Џ����������������µ���µ������������¾������·���­���������������������ޏ��������¹���̏��Ï��Ï��Ï�����¡�

��������¡��³������Workshop������돪�¡�W3C ������ Michael Smith���µ��������������½������¼����������돢�­�����Ң�µ��𡯏����������������ď����������������ď�����������¡��򏩡��䏢�������½������¾���²��Ï����ҏ��·���������¹��¡�

System Applications Working Group

��돪��������¡�System Applications ������������������ Working Group ���̏��폢����¾������̏����������ď��½�����Ï�������¡��½������charter\��⏢�¼\������������¾������¼�����������·�����쏢���Ï��������·������������������API����½��Џ��������������������������������¹���̏�¡��³���������̏�������������쏢��
32
�돫�������\���\���\���\��\���\�ߏ��¹������������

Power Management API
���������»¼��Џ����������ҡ�����������¹��������¡�scree������\���\���\���\��؏��������«��¡�CPU������\¹\������¼\��\������¼\������������¹���������������«
Raw Sockets API
TCP���������«UDP����������������������������Socket\³���¼\���\��\���\�돢����²������½���������¹������
Browser API
\���\���\���\�������ҏ�돫�������������������̏���ߏ�����µ����½�����ҏ����Ѣ�����¹������API
������������������������¡򏪤¾���������������ӏ�𡯏������������쏢�쏢¡ߏ�����������������API���������������ޏ��������¹������������¡��½���������������������������¡񏪢�������я��³������\��⏢�¼\���������\���\��\���\������·�����������Ώ��������������������µ��������¡�

Web������Native²½���������Ð���¹������������½���²½�����������������á������������«����������

��������������������𡯏�¡��³������������������API������������¾���������\���\���\���\������������돢�«���¹���³�����������ҏ����只�������·�����ď������������������������µ�����������������Ï��������¹��¡򏢱��������؏��̏���̏����⏢�«�����㏪�������������¹���̏���Web������Native²½���������Ð���¹������������½���²½��¡ߏ�������������𡯏����������я��������������������������«���������폢����������������µ������̏��·���������¹��¡�

WG Charter������ Goal ���������·�������돪�²¼������½��ҏ����㏢�������������������¹��¡�

The System Applications Working Group aims to produce a runtime environment and a set of APIs that let applications integrate closely with the operating system's functionality using nothing but the Web platform. Creating the ability to produce applications relying solely on the web platform extends the reach of the Web to new places and opens the door to greater cooperation between the Web and the operating system.

����System Application WG������������Web\��\���\���\���\���\��폢�¼\������������Ώ����ҏ����Џ�����OS������µ����½�����ҏ����̏����Џ��·������\��\��\���\�ޏ��¼\·\���\���³«������������¹��ԏ�𡯏�����\���\���\���\���\����������­������API·²�����ҏ����Ѣ�����¹���������³�����������ҏ����䏪���쏢�������·���������������������¹��¡�Web\��\���\���\���\���\��폢�¼\���������������������\��\��\���\�ޏ��¼\·\���\���³«���������������Ð���·��¡�Web������OS���������������·������������Ð���¹������������������³«���������³��������������¡�Web���������·�����ď��������¡돫������������������������½Ð���·���������������­���������¹��¡��� ����¾���¼������������¾�����؏��������­���������«�����������ď�����������¡�¾������·�돪؏����؏����ҏ����Џ��������������������������¹����

��������������������¡�OS������\���\���\���\��\���µ����½������»���������������\��\��\���³«������������Web\��\���\���\���\���\��폢�¼\���������²������½���������·��������������������¡�

���µ���������������½�������돪�¹��Ώ��������������ҏ��«��������������¡�WG���������䏪���쏢�̏�����������\���\���\���������������������������������­���������¹��¡�

  • ���ӏ�����¾���������\���\���\���\�����«������»��������Ï��³�����������ҏ����䏪���쏢�������·��������������������������¡�
  • ����Boot2Gecko������Tizen������µ���������������»����������������������������ď�����������������»²¾������������������·��������������������¡�
  • ����\���\���\��я���������������������Javascript������\��ď��¼\²\���\������������·���������������������̏�¡񏪤¾���������������������̏����Џ�����¹������������������Џ�������������¡�
��������������������������¡�

���³���³���«��������������¡�������������������������������»������«�������������������¹���̏�¡񏢱½��돩Ώ���Boot2Gecko��¡ߏ���Tizen��¡ߏ���ChromeOS (NaCl)��¡ߏ���Windows8(MetroUI������¡ߏ�����������������������Web������OS�������������»¹��������ҏ�ď�����������½����������¼����¹���������������½���µ���������������������������¹��¡��³��������������������¡���������������������������HTML + CSS + Javascript��¡ߏ�����\���\���\���\��\���\��\��\���³«������������²������½���������·�����������Ï����������������Ï�������������������������������������������²��ҏ��·���������������������¹������������¡񏪣���¾���������\���\���\���\�����«�����������������������̏����Џ��������­������������OSµ����½������������\��\���\»\¹²������½���������¹��¡�
���³�����������������������Џ��������²���������·���������³�������������������������¹���̏�¡�돫�������·��䏪��돢�µ��������������������������OS���������­µ����½������������API����\���\���\������¼������¼«���������������������������·���������������������������«���폢¡������������������Ï�������¡��³�����Ï�������������������¡��½���³������fragmentation����µ������­���������·��������������¡�Web���������̏��������á���Ï�����»�ߏ����叢�̏����������я�����������¼��돢�������������������������������������·���������������������¹��¡�

���³���������������Ï���������돢�­���������Ð���·��������¡��³������WG���������½������������������µ����½���������Ð���·������������������½���²½�����ҏ��¹���¹���������������³��������������¡�\���\���\������¼��𡭏�����������fragmentation�����ҏ����ҏ��ޏ��������������������·�����������������������я��������������������������«���������Ï��Ï��Ï�������¡��½��������������������������¡�Web�������µ��������������������ď��²½������²���������·���������������³�����Ï��������·�����������������������я��������������������������«������������������������������¼������������������·�����ď�¡���������¡񏪤��ď���̏��³�����Ï����������������ď���돢�­��������������¡�PhoneGap���������������Ï�����³«������\���\������¼\���\������¼\��������������������ġޏ�����µ�����������������������������я��������������������������«������������¾���¼��������������只���䏢�·���������������������¹��¡�

\���\���\���\��\���³«���������������Ð���·��������������¡�Web������\���\���\���\��\���\���\���\���\��폢�¼\������­���̏���̏����Џ��µ��������������������������¡����½������������������\���\���\������������������²���������·���������³���������������¹��������������¡��³�����Ï�����������������������������������
����Web\��\��\���������Native\��\��\������������������������̏������������������«���폢¡�
������������������µ��������������������������돢�������������������������������������������·�����������Ï������«���������·���������������»�����я�¡�����������¡�¼«����̏�����½��Џ����������������������������я��������¹���̏�¡��½���³�����������㏪�������«����������

������������������

���򏩡��䏢������¡�W3C���������·�����ď�������돫����������������� System Applications Working Group������������������������¾���²��Ï��·���������·�����ď�¡򏪿������¹������OS���������­µ����½�����ҏ����Џ�����������\��\��\���\�ޏ��¼\·\���\���³«������������\��ď��¼\²\���\������������·�����ď�����������������¡�Native\��\��\���������Webµ»½��Џ�����»���������������³«���������¹��������돪���������½���²½�������돪������ӏ��������ޏ��������������������¹��¡�
Web������ď��²½��������¡�\���\���\���»��Ώ��������������������»�����я��������쏢�쏢���������������ď�������¡��������³���������������������������������������� :)


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 12:48����Permalink����Comments(22)����TrackBack(0)����clip!

2012������05·���04������

node-spdy »����·�����������Ώ�����

���򏩡��䏢����\���\���\�돢�������쏪������������¡�SPDY��¡�Web\µ���¼\���\¹�����ҏ��ӏ��������������«������������������·�����������Ï��쏢�쏢¡ߏ����������������Ï��³��������������¡�Google ���̏�����¾�����·������\��\���\���\³\������������¹��¡򡭏�叢����Chrome��������������¡��³������SPDY����¼��������؏��µ�����������������쏢������¡�\µ���¼\���������GMail������������ Google ���̏����Ѣ�����¹������������������������\µ���¼\���\¹����������叢���������̏����Џ��µ���������������������������¹��¡�

��돪��������������������¡�FireFox������������\���\���\��\�������»��������������������ď�������¡�HTTP/2.0����������������\��㏢�¼\¹������������������������������²��ď��«������������������������Web��돪����·µ»½��Џ��������¹��¡�

SPDY����Web�����ҏ��������������¹������»���������������

SPDY��������¡񏢱½¾��؏�����Web���̏����⏢𡯏����������������� ����HTTP�����������㏢����!!" ������²���·������¹�������������������������¹��¡�HTTP ���� "�����㏢����" ������돩̏�������ġ����¹�����������������¹���̏�¡񏪪�����������������돪����������������­���������������� Request and Response ���������폢�������������¹��¡��³���������ď�������¡�SPDY �������������돫������䏢���� HTTPS \»\���\·\���\��я��������������������ď�ԏ����� HTTP \»\���\·\���\��я����ҏ�����½���²½���¹�����������������������������ď��³������������¹��ԏ�����¹���������²½������¼������½���·���������������������¹��¡�

Request & Response���������폢����

Request and Response���������폢������������������¡�돫������䏢���� HTTP \»\���\·\���\��я���������������������������������������� Request ���������Ð���¹������ Response ���̏����ӏ��������������³������������������¼�������Request���̏���������������������������������������Ï����폢�������������¹��¡��³������Response�����ҏ����ԏ�����������������������»��С����(RTT : Round Trip Time) \���\���\���\��������\µ���¼\Ð���¼������������������ď��̏����ԏ����ď��µ��������������¡�¹��ԏ�𡯏�������������¡�����������������¡�\���\���\���\������¼\������¹������\���\���\���\�������javascript ������²��������䏢�����������������̏�����𡯏����������������������Ï��·������������������������¹��Џ�����»��С���ӏ��̏��«���«���������������·�����������Ï�����������������¹½�����������쏢���������������������ҏ����������������я��������������������¹��¡�

1

½¾������������¹���������²½\��\���\���\���\��\¹����HTTP\»\���\·\���\��я��������ď�ԏ����̏����Џ���

���³������������㏪����²¼�����ҏ��������돢���ď�������¡񏪣���¾���\���\���\���\�������������������ď�ԏ�����HTTP\»\���\·\���\��я����ҏ����»��Џ����������̏����Џ��·���������¹��¡򏪤¾������\»\���\·\���\��я����������������Ð��¡�¾���½��ҏ��������폢����������¼��؏��ޏ����������������ď�������¡�²¼��ď��������¼�����¹�����������Ï�����������������¹��Џ�����»��С���ӏ����ҏ����ԏ����ӏ����쏢�������»½������¹���������³���������̏��������­���������¹��¡�

2

½¾������\��\���\���\���\��\¹����������������������

���³���������������Ï�������¡�HTTP\»\���\·\���\��я����ҏ����ď�ԏ����»��Џ����̏����Џ��¹���������ÐWeb\µ\���\���������\���\���\���\���������������¹��Џ�����»��С���ӏ����ҏ��»½������·��¡�\������¼\�����¼�������³�����ҏ�����¾������¹���������³���������̏��������­���������¹��¡��·���«���·���������̏�������¡��³������²���·�����돫ӏ�����������
\µ���¼\Ð���¼������NWµ��¡��������������²��㏢���ҏ����򏪤������·���������·������������ �����������������Ï��������������̏����������������¹��¡��³������������������µ��¡����������������\»\���\·\���\��я�ď�ԏ��̏�����𡯏�����������CPU������²��㏢����\���\���\������̏�����𡯏��������·���������������������¹��¡�½¾��������������¡�\·\¹\���\���������\³\¹\��������ҏ�������𡯏����������ď�����������������\»\���\·\���\��я�ď�ԏ����ҏ����������������㏢����¾������������������¹�������������̏��¾���������·���������³���������������������������������¹��¡��³���������ď�������¡�HTTP/1.1»���������(RFC2616)������"8.1.4 Practical Considerations"������������

A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. (��������¢�) These guidelines are intended to improve HTTP response times and avoid congestion.
������µ­½��ҏ��µ���������������������������¹��¡��������������������������؏��¹���������ӏ����»���\»\���\·\���\��я�ď�ԏ�����2���������¹�����㏢�­����������������¡��³������������ HTTP ������ response time ������²��Џ���ޏ��¹��������������������������������¡񏫿��؏����ԏ����ҏ����ҏ��ޏ����������ď�����������\��\���\���\���\���\��я��������¹��¡������������������������ď��������³���������������·�����������Ï�¡��³������\��\���\���\���\���\��я������������������������¡񏩡���������¹��Џ�����»��С���ӏ�����������������2����̏�����1�����̏����㏢�������������������������«�����Џ��������������������¹��¡��³���������ď�������¡�\���\���\���\������������������ޡ돫�\µ���¼\Ð���¼���������Ð���¹�����������»���HTTP\»\���\·\���\��я�ď�ԏ����������폢���������ҏ��«���ޏ�����������������������¼��������؏�����¹��ԏ��������������������������¹��¡�

�����ď��������·��¡��³������ 2 \»\���\·\���\��� �����������������Ï����폢������������¡�������������������������¹���µ·������������������ď��»��⏢��������������¡��«�����������������������Web\µ\���\����������ď�����������\���\���\���\�����ď�ԏ���������²���\���\���\���\������������½���돢���������������������������������Ï��³��������������¡�돪������������\���\���\���\��������������6\»\���\·\���\��я����̏����㏢�������³���������������ҡ�������������·���������������������¹(\���\���\���\���돪�������)��¡�

�����ď��������·��¡�����𡯏��Ð6\»\���\·\���\��я�����������������¹��Џ����Ώ�������㏢���ҏ�돪����������������������»½������������­���������«�����������������Ï�������¡񏪱���½½����̏�����¾���¹������̏��������������������¹��¡��³������������·��㏢����FQDN�����ҏ����»�����¹���������������������������¹������\���\���\�������»��������������������ď��������·���������¹���̏�¡��³�����������������������������������²������\µ���¼\Ð���¼������NW����������²��㏢���ҏ����򏪤������·���������·���������������������¹����\µ���¼\���\¹�����Ѣ����\³\¹\�������¹������������������������������·�����������Ï�����¡����������я��������«��¡�1\»\���\·\���\��я����������폢����������¼��؏��ޏ��������³���������µ��������¡񏪴��ď�ԏ�����\���\���\���\������������Ð���¹������\���\���\��\¹\���������\«\Ð���¼���·�����ď��������������³���������������¹��¡�

SPDY������������������¹���������²½

���³���������ď�����SPDY������������ 1 �����䏢����HTTPS\»\���\·\���\��я�����¾�����������¡񏪴��ď�ԏ����� Request �����ҏ�����½���²½���¹������������������������\��\��\������¼\��������ҏ�돪����Џ��·���������������������¹��¡��³�����������������������������������叢���������²������²��򏪤���������²���·������µ��������¡�¹���������«������\·\¹\���\���\³\¹\������������������돢��¼������½���µ���������������¹��¡����������ď�¡��½�������돪�³�돢�������������������¹������¹���������²½������\��\��\������¼\������̏��������µ�����������������쏢������¡�\���\���\���\��\���\���������²¼���²�����������ď����������� HTTP \���\���\������¼�����ҡ�µ½������¹�����������������������������ď��³����������¹��ԏ��������������������������������¹��¡�

3

WebSocket�����������¡돫�����������������

�����������¡돪�����돢����\���\���\��µ­»�������websocket������pipeline�����ҏ��¹��������������¡񡭢�����돪���쏢����������������!! ��¡����������������������Ώ�������¡�돪���������³�������������«������\µ\���\���������http://wakachi.komasshu.info/�������돪䏩��돢�·���������������������¹)�����ҏ����������������������ď��³������������������������������돢���Ï��·���������������������«���������·���������������»�����я�¡��ӏ����ď�ԏ����� request ������ 1 \»\���\·\���\��я�����������½���²½���¹��������¡ߏ��������� WebSocket ������¼������½���µ�����������������я������������������������������폢���������������Ï������������������¹��¡�³����«���������½�������������������������¹���·��¡�\��\��\������¼\��������¡���Ï����䏪���쏢����¹�����𡯏�����������¡�WebSocket������������½���\���\���\��\¹\��������ҏ��������²���������������� SPDY ������»��������Ï������������������¹�����������������»�����я�¡�

·��������������쏢�����돫���������������¡��������������������������������Ï����� SPDY ������»��������������ď����叢���Ï��̡�µ�����򏪩��쏢�������������������������������Ï�������¡� WebSocket ������������½�����������ď�����¹��ԏ����Ï��������������½�����������Џ�����\³���¼\���������Javascript ������\³���¼\���\��\���\�돢�·���������ޏ��������Ð�����������������돢¡��«������\µ���¼\Ð���¼�����Ï����������������������Џ�����\��\��\���\�ޏ��¼\·\���\��я�����½��Џ���������̏���ߏ��̏����������������¹��¡򡭏�只����\µ\���\���������������²��Џ�����\³\¹\���������������¼������������������������������»�����я�¡�돫�������¡�SPDY������������ Javascript ����������²���\³���¼\���\��\���\�돢�̏���̏���ߏ����������������»�����я�¡򡭏�Ï����䏪���쏢������������¡񡭏�只����������HTML�����������������ҏ�¡��½����������������SPDY\µ���¼\Ð���¼������\��\���\��\������¼\������¹���������������ޏ�����OK��¡�
���Ð�ޏ��\���\���\���\�������ҏ����̏����Џ��·������������������\������¼\�����¼������������SPDY�����ҏ����Џ�����������¹������������\������¼\�����¼�������³�����ҏ�¡񏪲��я��Ð�ޏ��\���\���\���\�������̏�����¼��ԏ�����������½¾������������HTTPS���������½����������������\µ���¼\���\¹���̏����Ѣ�����µ���������������¹��¡�
������������������¡�\���\���\���\���\���\���\���\������¼\���������¹���������²½�����ҏ�ď�������������ď����������������� SPDY �����ҏ����̏����Џ�¡򏪡Ð�����򏢱���\��\��\���\�ޏ��¼\·\���\��я�����\��\���\��\���\���\���\�돢�̏����µ������µ���������������������­������ WebSocket �����ҏ����̏����Џ����������������Ï������̏��³���������«������������ Best Practice �����������я��������������������������«������������»�ߏ��������������¹��¡�

¼¹������»��Џ������������Ð�ޏ��\���\���\���\�������� Chrome ������ Firefox ���������Ώ���FF13������������\���\���\���\���\���������SPDY����enable�������������������¹���̏�¡��¾\���\���\���\��������¹���»»\·\��\������ Worldwide ������ 50% �돪�¾�����¡񏩡��䏪���䏢���������� 35 % ( StatCounter������������)�����������������������������쏢������¡�\µ���¼\Ð���¼�����ҏ����Џ�𡯏��������������ޏ��������³���������������ޏ�����³���¹���������\������¼\�����¼������¹������������\µ���¼\���\¹�����ҏ����Ѣ�����������­�������������������\���������쏢�������������������¹��¡򏪿¾���������������¹���̏�¡񏢱½¾��؏����� SPDY ������ HTTPS ������¾�������������돢�������������������������¹���̏�¡�\���\���\���\���\½\���\������«������ WebSocket������¾�������������돢����SPDY����IETF�����������ѡ돩� ���µ���������������������������¹��¡����������������Ï��³��������������¡�����������������������������IE��������¡�¡�¡����������������Ï������̡���䏪���ԏ��������­���������¹��¡�Google������������������������������\µ���¼\���\¹����������叢����»������������������������������������¹���·��¡�¼��������я���������������¡򏢱�������������²������������������­���������������¹��������������¡�

4

node-spdy

�����������������Ï��³��������������¡񏪳��䏪���������� SPDY ������»����������������������¹��¡�Apache�����Џ�����SPDY\���\���\������¼\��� mod_spdy���̏�����³«���µ�����������������쏢������¡��³������������������»��������Ï������̡��������ޏ��½������(�����ď���̏�¡�HTTPS���Ð�ޏ�Џ�����Apache���������³������\���\���\������¼\��������ҏ�����²������¹����������������)���������������������������������¹��¡���²��я�����"\��\���\��\���\���\���\�돪���쏢��������Џ�������������ġ������������������Ώ����ď�����"�����������������Ï��³��������������¡�SPDY������node¼���������node-spdy������\���\���\������·�����������Ώ��������·�����ď�¡����������쏢¡�SPDY������\��\���\���\��\���\���\��⏢�¼\������������������������¹�������������­������������ SPDY ¼��������؏�����\���\���\���\���\���������\���\���\������̏����������������¹������������¡��½����������������������������³������������������³���������·�����������Ώ��������������������µ��������¡�

node 0.7.x ������\���\���\¹\������¼\���

�����������돢¡�node-spdy���������¹���� zlib ������\µ\����¼\������������������Ώ��«���������½��돩Ώ���������³«\Ð���¼\���\���\���(0.6.x)����������������돢돫��»�����돢¡�Experimental \Ð���¼\���\���\��я����� 0.7.x ������»��������Ï���̏���ߏ��̏����������������¹��¡�\���\���\¹\������¼\��������򏪳���������¡�돪�²¼������������������¡�

git clone git://github.com/joyent/node.git
cd node
./configure --prefix=$HOME/.node/dev

make install -j2 # j����������������ď��»��⏢����\���\·\��я�����CPU\³\��ď��
                 # ������¼��ԡ������­������������2\³\������\���\·\��я����ҏ����Џ����������ď����ď����� 2 ���������·������
���³��������������¡�~/.node/dev/bin������²¼������ node ������ npm ����\���\���\¹\������¼\������µ���������������¹��¡�\���\¹�����ҏ��������·�������������������������������������¹���̏�¡񏢱½¾���express����»�����𡯏�����������������������²��ď��«����������������������������������¡�SPDY »����¹���������­���������ޏ��������Ð\���\¹���¾�����������������������������Ï�������������������������������²��я����������������������������Ώ��������³���������������·���������·�����ď�¡�

�����������돢����»����·�����������Ώ�����

�����������돢�������������ޏ�����»����·�����������Ώ����������Ï����������������Ï��³��������������¡�node-spdy������readme������½��Џ��«������������������������\µ\���\��\���\³���¼\���������»²¹�����������¡�돪�²¼���������������Ï�����\³���¼\���������½��Џ����������������Ώ��������·�����ď�¡�

package.json
{
  "name": "application-name"
  , "version": "0.0.1"
  , "private": true
  , "dependencies": {
    "spdy": ""
  }
}
app.js
var spdy = require('spdy'),
  fs = require('fs');

var options = {
  key: fs.readFileSync(__dirname + '/keys/spdy-key.pem'),
  cert: fs.readFileSync(__dirname + '/keys/spdy-cert.pem'),
  ca: fs.readFileSync(__dirname + '/keys/spdy-csr.pem')
};

var server = spdy.createServer(options, function(req, res) {
  // Displays current transfer mode
  var mesg_ = req.isSpdy ? "Hello SPDY!" : "Hello HTTPS"
  res.writeHead(200);

  res.end(mesg_);
}

server.listen(10001);
spdy������\���\���\���\���\���������require���·��������¡�options������¾��⏪����½���·���������\���\���\���\���������»�������������\µ\���\��\���������¾��⏪����½��Џ��������� https://github.com/indutny/node-spdy/tree/master/keys ���«������������¼������¹�������������̡��������ޏ�����¡���������������¡�createServer()\���\½\���\��������ҏ����������ӏ��������ޏ�������¡�\³���¼\���¼«����������������¾���������HTTPServer������½��Џ�����¾���¹������������������¹�����������������»�����я�¡�(isSpdy\��\���\���\���\�����ҏ��«��������������¡�SPDY������\��\���\»\¹���µ���������������������������«�����������Ï��«���½���������������­������������������¡�¾���������\³���¼\���������������\���\���\»���¼\��������ҏ����Џ�𡯏����������������Ï��������·�����������Ώ��������·������)

��������¡�

~/.node/dev/bin/npm install
~/.node/dev/bin/node app.js
���������·���������������������Ð��¡�https://localhost:10001 ������\��\���\»\¹���������­���������¹��¡��³������\µ\���\�����������¡�https://komasshu.info:10001/������������³«���·���������������������¹��¡�SPDY���Ð�ޏ��\���\���\���\��������\��\���\»\¹���¹������������"Hello SPDY!"��������¡񏪲��я��Ð�ޏ��\���\���\���\��������\��\���\»\¹���¹������������ "Hello HTTPS"���������½¼�����µ���������������¹��¡�
5

"Speed"�����ҏ������³���·�����������Ώ�����������

¾�������������������������������������������������������������������������¡񏪤�����㏪�����³\µ\���\��������ҏ�돫����������������Ώ��������·�����ď�¡�

SPDY��������㏪�����³\µ\���\���
https://komasshu.info:10001/test.html
6
start \���\���\��я�����\���\���\���\������¹������������150������������\��\���\³\��я���\���\���\���\������¼\������µ��������¡��½������\���\���\���\������¼\���»��С���ӏ��̏��½¼�����µ�����������������������������Ï����������ď�����������\·\���\��\���������������������¡򏪳��䏪���ӏ����� express ������»��������������ď��«�����������ď������������¹���̏�¡�node-0.7.x���������������½¾��� express ����¾���¼�������������돢�«�����������������ď�������¡�\���\���\���\���������\���\���\���\���\���\�돢���ҏ�����������\³���¼\���\��\���\�돢�·���������·�����ď�¡�\³���¼\���������������������� https://github.com/KensakuKOMATSU/spdy_test ������������³«���·���������������������¹������������¡��½�������������������������³���������·�����������Ώ��������������������µ������(���������·�����ď��³�������������돫������⏢�������������������������������»�����я���

node-spdy��������¡�\���\���\���\���������Ð�ޏ��¾��آ�·�������ޏ�Џ�������������¡�¼«����돢���� SPDY ������������¾���������HTTPS������\¹\���\���\������·���������������������������¹��¡�������¡񏪲��я��Ð�ޏ��\���\���\���\������Opera������FF12������\���\���\���\���\��������Ώ���������������»����·�����������Ώ����ď��������³�����������������¡������­������������������ 1.2 ���������돢�������������«���«�����������ď������������¹���̏�¡�SPDY���Ð�ޏ��\���\���\���\������Chrome20������try����������»����·�����������Ώ����������� 200 msec ������������������·���²������̏��������������������������·�����ď�¡��«������������������������㏢����¾������������¹��¡����������������Ώ�������¡�Mac������Safari5������»����·�����ď����������я��Ð�ޏ��\���\���\���\������������������������������������� 300 msec ������������������SPDY�����������ҏ��ޏ����ҏ�������������������������ď�ԏ��������̏��������������������������·�����ď�¡��­�����������я���������������㏢��������������������������������\��\������������¹���̏�¡�Safari5�����������������»���\»\���\·\���\��я�ď�ԏ��������폢�������̡�����������������«���������·���������������»�����я�¡�

�����������������Ώ�������¡񏩡�ޏ������������³������������WebSocket������\���\���\���½Ð������������\µ\���\���������http://komasshu.info:3000/������������³«���·���������������������¹����Chrome or FF���������������Ώ���돢돫�¡�WebSocket������\Ð\���\���\������¼\������¼\���\µ\����¼\���\���\���\���\�����������������Ώ�����¡��³������������������������³��я��¹��������������¡�WebSocket������������SPDY���������叢���Ï���¼�����³���������¹���̏�����������·���²������̏����������¡������­���������������������������������������·�����ď���������¼�돪���쏢�������¹�����������������Ï�������������¡�¼���������¾����������¹�����������я��������������������������«������������»�ߏ��������������������������¹������¡����������돢�������������·��������¡�SPDY��������������������¹���������쏢��

���µ��������¡���²���¾���²��Ï��·������ SPDY ���������¹���̡돫��������������돪؏��������̏����������������¹��¡��½��������������¡�HTTPS ������»��������������������������������ď�����\��\���\­\·������������������\­\���\���\·\������µ���������������������³��������¡�����������������¡�²��������䏢����\¹\���\���\��\���\���������\³\���\���\���\���������SPDY�����������Ѣ�����·�����������Ï��������¹��������������¡�µ��؏�������������㏪����²¼���������������������«�����������������������������������Ï��³���������������¹��¡�����������������¡񏢱½¾���HTTPS�����������Ѣ�����·���������������������ӏ���돪����\³\���\���\���\�����¡ߏ��ӏ����я�����������\­\���\���\·\������µ�����������ď�����������������\���\���\���\�����¡ߏ����������������Ð SPDY ����������������²������������̏��������돫�������¡��ӏ����я�����������\­\���\���\·\������µ����������������������ҏ��·�����������������쏢����\µ\���\�����¡ߏ�����������µ��؏�����²������������������������«���������������»�����я�����������¡��½������������������𡭏������돪؏��������������µ��������¡�


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 21:59����Permalink����Comments(8)����TrackBack(1)����clip!

2012������04·���25������

WebRTC»���»���������

���򏩡��䏢����\���\¹\���������WebRTC��������������������������¡�Web������\���\��\���\���\���\�����������ď��\µ���¼\���\¹������¼������½���¹�����������ď�����������API���������¹��¡�\���\���\���\����������¡�plug-in������»��������������돢����\���\���\��я�����������\µ���¼\���\¹�����ҏ�돫��������³����������½Ð�����������������������Ï��������������������������¹��¡�

WebRTC���������������������¼����������

WebRTC������\��\���\���\��\���\���\��⏢�¼\�����������������̏�������¡�WebRTC�����ҡ돪�²¼���������������Ï�����������µ������·���������������������¹��¡�

WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose.
\���\��ď����������؏��¹����������������WebRTC������\��쏢�¼\��\��я�����\��\���\���\��\���\������������¹��¡򡭏������ޏ����������ď�ԏ����� Javascript API �����ҏ����Џ��������������³��������������¡�Web\���\���\���\��������\���\��\���\���\���\�����������ď�����²������½���������¹�������������������������¹��¡�WebRTC ������³���\³\���\����¼\���\���\�����������¡��³���������䏪���쏢�������Ð���·\���\¹\��������������������������������Ï�돪������²½���µ���������������������������¹��¡�������������������������¡�Google, Mozilla, Opera������������������\µ\����¼\������µ������������������������\��\���\���\��\���\�����������¡��³������\��⏢�¼\���¼«���������� Google Chrome \������¼\����������������������ޏ�ď����Џ��µ���������������������������¹��¡򏪱���½���²½������������������������������ WebSocket ����������ޏ�������¡�JS������API������W3C, ��������ď��\��\���\���\³\��������ԏ���̏����� IETF ����������̏�������·�������������������µ���������������������������¹��¡�(¾���������\��\���\���\��\���\���\��⏢�¼\�����������¡��½���������¾������������\���\���\���\���������������\���\���\������������������������������������������������¹)

¾���������½��ҏ����㏢���ď����������Ï�������¡�WebRTC����������ޡ돫�������API��������������������������¡�¼��������������я�����������API���«������¹½������µ���������������������������¹��¡�

Stream API
�ޏ�������䏢����²»���¼������������������\¹\���\������¼\���\������¼\��ď����ҡ�·������API���������¹��¡�\«\���\������«������������\���\���\��ӡޏ�������䏢�������������Ï�������¡�»��Џ��¹¹������¹�����������Џ��������������³���ޏ�����\������¼\��ď����돫�����������������������������������������\���\���\���\�������������������������������������¼�����������·�����Ï��³���������̏��������­�����������������Ï��������������������������¹��¡�����𡯏��Ð��¡�getUserMedia() ������»��������Ï�������¡�\«\���\���������\���\���\������«�������ޏ�������䏢����²»���¼������\¹\���\������¼\���\������¼\��ď����ҏ�������돫��������­�����������������Ï��������������������������¹��¡�
Peer-to-peer connections
\���\���\���\�����¼\���\���\���\������ӏ�����UDP�����ҏ����Џ�����\���\���\���\���\���������\������¼\��ď����ҏ����¼��؏�ď��¹�����������ď�����������API���������¹��¡�HTTP������WebSocket��������������¡񏪱�̏�����\µ���¼\Ð���¼������²��Ï��·������\���\���\���\�������������Ï��·�����ҏ����䏪�³���·���������¹���̏�¡��³������API������������\������¼\��ď����ҏ����¼��؏�ď��¹���������������­������\µ���¼\Ð���¼������²��Ï��·���������»�����я���������½��ҏ�����\·\��\���\���\���\�돪���Џ�����������������\µ���¼\Ð���¼����������̏���ߏ��������¹���̏�����¡�Stream API������¼������������·������\¹\���\������¼\���\������¼\��ď����ҏ����Ώ�����������\���\���\���\������ӏ�����\���\���\���\���\��������������¼��؏�ď��·���������¹��¡�
·��⏢������������������������������������¡�Steram API ��������¡�\«\���\���������\���\���\��������������䏪�³���·��¡�ޏ�������䏢��²»���¼\¹\���\������¼\���������Peer-to-peer connections������»��������������������Ώ�����������\���\���\���\���������������������¡��½�����Ï��¹��������������¡�\���\���\��я��������������̏�돫�������������������������ӏ�����������������������¡�

²��ď�������������������������\���\���

������������¾���²��Ï��·������\��\���\���\��\���\���\��⏢�¼\�����������¡�\���\���\��я�����������������\µ\���\��\���\���\������̏�����³«���µ���������������������������¹��¡�Chrome������dev\���\���\���\��� or canary���������³������\���\���������»����»���������¹����chrome://flags������ ����Media Stream�����ҏ��­�����⏢�������¹��������¡����������ҏ����돢���������돢����������¡�https://apprtc.appspot.com/������\��\���\»\¹���¹��������������¡�²���������������²¼�����ԏ�����\���\���\��я�����������\������¼\��������Џ�����URL���̏��½¼�����µ���������������¹��¡��³������URL�����ҏ�����������\���\���\���\��������³«���­��¡��·���Ð�����������������ԏ�����������\���\���\��я���������������»������������������������¹��¡������ď��������·��¡�\���\���\���\������¼\����������­����������������������������������돢�«������������(������½���)���³���������̏����������������¹������������¡��½������»��Џ���������ޡ돫�\���\·\��я��������������ӏ����叢���叢���폢�¼��¡ߏ����������叢�������½¾Ð�����я�����²����������·���������������������µ��������¡�

rtc_screenshot

WebSocket�����������¡돫�����������������

���µ��������¡��³������WebRTC�����������������������������²�����ď����������Ï���������Web������\���\��\���\���\���\�����������ď�����²������½���������¹��������¡�API���������¹��¡�¡�¡��������¹��������������¡�돫�������µ��ď��������̏�¡��½������������ WebSocket �����������¡돫����������������¹��¡�WebSocket ����½Ð���������­�����ď��³��������������¡񏪡Ð�����򏢱��Џ�������ď���½Ð�����������������������Ï���������������������������\���\��\���\���\���\���Web��¡������������я����������������؏���\���\���\������¼���������������������������·�����ď�¡��½�����Ï�¡�����Web������\���\��\���\���\���\�����������ď�����²������½���������¹��������¡�����������WebSocket���̡���叢����¼������½���·�����������������������������돢�������¹��¡��������������¹��������������¡�WebRTC������������²��ď������������폢���������я���������̏���ߏ������������폢����������������µ��ď��������̏��������������������������������������ޏ��������¹��¡�

�����¼��؏�ď��¹������\������¼\��ď������������­������������������������»�������������̏��ޏ�������������µ���

��¡�¡�¡�������¡񏪩��⏢𡯏�����½��Џ����������������Ώ��������·�����ď�¡����������������������я��«�����Џ��·���������������¹��������¡��­�����������я�����²��ҏ��������·���������·�����������Ï�¡�\������¼\��ď��������������������­�����������я�����������\���\���\�ߏ��̏����������������¹��¡�돫����������������돪������­���̏����µ������µ������������\������¼\���������𡯏��Ð\���\­\¹\���\������¼\��ď����������я��«����³��돪���ӏ��·���������¹��¡�

������𡯏��Ð��¡�\���\���\���\������������ӏ��������������¼��¡ߏ�����������������\���\���\»���¼\��������ҏ���������������ď��������·��������¡��³���������̡돫�������»��⏢�����������������ď��µ���������������������·���������¹��¡����ӏ�������¡ߏ��ӏ�������¡ߏ��ӏ��¼��¡��������������돫�������»��⏢������������¡��³���³��������¡�����𡯏��Ð���ӏ�������¡�������������������\������¼\��ď���\���\���\��ď��¼\���\���\����������������³���«���������µ������������������������������������������¾���¹���������¹�����𡯏����������Ώ��������·�����������Ï�¡��µ�����������������������ď�������������������·���������������������·�����������Ï�������¡񏪡���¼���������������
���������¼ ���������������½¼�����µ���������������·���������������������¹��¡��ӏ�����¾�������ߏ��«���폪��������¹��Џ����я������������������폢¡ߏ��������«��������������������ġ������叢���ҏ��«���ޏ��������������������������¹��������¡򏪤��������Џ��������¹��¡�
������������������¡��³�����Ï�����������\������¼\��ď�����������������������\������¼\��ď��̏��µ������������������������¾���¹�����������¡��½������\������¼\��ď�������돩���������¹�����������������������Ï��³�����������ҏ��·���������¹��¡��½���������������������������������돪������­�����ҏ�����¾������¹���������������ޏ��������¹��¡��½�����Ï��¹���������Ð��¡񏪡���¼��������������� ���������������¼ ���������������­�����������я��������½¼�����µ���������������¹��������������¡�돪���ġ����������¹��¡�

�����������á돫��������������������������̏����㏪���ԡ��돪���������������������������\������¼\������������¹��¡�ޏ�������䏢���������я��«���̏��µ·��ď����쏢�������¹��¡�
�����ԏ��µ³�����������������¾µ�������������������������������������������Ï�������¡�ޏ�������䏢���������������Ï���������1����������ӏ�����30\³\���������²��������䏢�̏�������������������������­��������¡��½�����������ҏ����Џ����������Џ�����������²������������«�����������������������������������á���������������\µ���¼\���\¹���̏����Ѣ�����µ���������������������������¹��¡��³���³������������𡯏��Ð��¡񏪢��������̏������ӏ�������¡ߏ��������������Ï�����²��������䏢�̡돫�\³\������������������ď��������·���������¹��¡��½�����Ï��¹��������������¡�¼��؏���¼��������Ï�����������²��ď��̏����쏢�­���������������·�����������Ï��폪���⏢𡯏��������ӏ��������������ď��³������������µ������������«��������������¡������я��������¹��¡�돫����³���������������������������������������Ï�����������¡����Џ����������Џ�����������²�����������������𡯏��Ð��¡�1������1���������­�����������������������Џ����������Џ��������·�����������������ď������̏�¡�������½��ӡ���ӏ��������� 2 �����������Џ��������������������·���������·�����������Ï��³�����������������������ӏ��·���������¹��¡��½�����я�����������µ������������«���������������������¹��������������¡�������������������¡�ޏ��������\������¼\��ď������������������̏����㏢���������������ď���������������������������������������������¹½���������������������������������³�����������������я��������¹��¡�

��������¡�WebSocket���������돪������­���̏����µ������µ������������\������¼\��ď���������̏��·���������������������¹��¡�TCP���������������������������������ď��������­��������돩���������¹������\��\���\���\³\���������¾�������������돢���������������Ï�����»���������²½���µ���������������������������¹������������¡�\���\­\¹\���\������¼\��ď��������������Ï�����������������������������돢�������\������¼\��ď����ҡ�·�����Ï��������­���������³������������������»������������������¹��¡�
�돫�������¡�WebRTC�������������������̏����㏪���ԡ��돪���������������������������\������¼\��ď���������̏��·���������������������¹��¡�UDP���������������������������������������������叢����������������\��\���\���\³\���������¾�������������돢�­���������¹��¡�²¼¼�����������돩���������������«���̏��«���«��������������¡��½���������̡��돪�»���¹������������������¼��؏���¼��������Ï����������������ԏ����ď��µ�����������������������Ï����я�������¡��½�����������������������������������ď�������¡����������������ď��������������������ď��������������������«��������¡��µ���������µ������¼�������¹��ԏ�����������������������������������»��Џ�������돪�����̏����������������؏��������¹��¡�

¾���������½��Џ����������ď���������������������������������̏��«���������������¹�����������½���������\�ޏ��¼\¹���������������­µ������������������������¾��������������ġ����¹�����������������¹��¡��³�����Ï����������Ï��³������������½��Џ����������������؏��̏���̏��«���������������������������������«���������·���������������»�����я��̏�¡�¼�����돪�\���\­\¹\���\���\���\»���¼\��������ҏ����ҡ�¹���¹����������������UDP������»��������Ï��³�����������������������������¹��¡��³���������؏����ҏ�����������¹��Џ��������������������̏����Џ��·�����������������������������������Ï���������³����돢Ï��·���������¹���̏�¡񏪿�ߏ����������Ѣ�����¹������\������¼\��ď���\µ���¼\���\¹�������ޏ�Џ�����������WebSocket������WebRTC������¾���¼���������»�������������̏��ޏ�������������µ������������������³���������������������������������¹��¡�

��돪������������������¡��½������������NAT

��������¡�WebRTC������ Peer-to-peer connections��������������¡�UDP�����������������Ï���������������������������������������������������\��\���\���\³\���������»�����������������¡񏪡���¼���������\���\���\���\��������\���\���\���\���\����������ޏ��������\������¼\��ď����������я��«�����ҏ�������������������¹��¡��³������������¼���������\���\���\���\��������\���\���\���\���\�������������������������������������Ï������̡돫������������쏢�������������������������������������������������¹��¡�

������¾�����¡�²������«������\���\���\��������������䏪�³���¹���������������­��������¡�³������¼�����ӏ�����������\��\���\���\��㏢�¼\���\��\���\���\¹���̏����؏��������������������¹��¡�������¡�\��\���\���\��㏢�¼\���\��\���\���\¹������������������������������¡�\���\���\��ď��¼\���\���\���¾���������\µ���¼\Ð���¼�����������������䏪�³���������­������������������������¡����쏢���Ï�����������\���\������¼\���\Ð\���\���\������¼\��ď��¼�����������я���\���\���\��ď��¼\���\���\������������������������������������������­������\��\���\���\��㏢�¼\���\��\���\���\¹������\��\������¼\Ð\���\��\���\���\¹�����������С�¹���·�����ď�������¡񏪤¾��������������𡭏�������������𡭏��������������·���������«������\µ���¼\Ð���¼�����������䏪�³���·���������������������¹��¡��³�����Ï�����������\��\���\���\¹�����С�¹����돢돫�����NAT�����������������я��������¹��¡�
��������¡񏪣�����ď��¹������������¼�������\µ���¼\Ð���¼������»��Џ��������½�������������������������������������¹���̏�¡�A���µ�����я��̏�������������B�����������я�����WebRTC������»��������������������䏪�³���¹������¾���¹�����������돢������������ď��³���������̏����쏢�³���������������¹��¡��������¼������������B�����������я�����\���\���\���\��������IP\��\���\���\¹������\��\���\���\��㏢�¼\���\��\���\���\¹���������������������������·�����������Ï����ď�������¡�\���\���\��ď��¼\���\���\������������½������\��\���\���\¹����������������������������������������������«���������������������������³���������������������������������·�����������Ï��«���������������¹�������������������������¼���«��������������������������������ޏ����������������я��������¹���̏�����¡�����������������¡�A���µ�����я�����B�����������я�����\���\������¼\���\Ð\���\���\������¼\��ď��¼���������������ޏ�����������������������������\��\������¼\Ð\���\��\���\���\¹��������������\������¼\��ď����ҏ��������������̏���ߏ��̏����������������¹��¡�

\¹\\\1

���������������������½���������������ޏ����������������������������»�����я�¡�NAT������������\��\������¼\Ð\���\��\���\���\¹���«������\��\���\���\��㏢�¼\���\��\���\���\¹�����������С�¹���¹���������������­��������¡�\����¼\���������¹���������������������¼�ޏ�����»��ҏ����ҏ��«��������¡�²������������������������������¼�����ӏ��������������������������������Ï�����\��\��\���\�ޏ��¼\·\���\��я���������\������¼\��ď����ҏ�������������«������·������������������¹��¡��³������\����¼\���������¹�����������¡񏪣���¾���\���\���\��ď��¼\���\���\�����������������ď���µ������³�����������ď����я���������돪���쏢���������Ώ��������µ���������������¹��¡�����������������¡�A���µ�����я��������ӏ��³���������³�����������Џ�����������\����¼\���������¹���������\��\������¼\Ð\���IP\��\���\���\¹�����ҏ�����������������¡��½���������������Ð���·������\������¼\��ď����ҏ������������¡ߏ����������������Ï��³�����������ҏ��������������������ޏ��������Ð���������������������������������������������¹��¡򏪳��䏪���ӏ��������������������«���������������¹��¡�������������������������¡��³��������\����¼\���������¹���������\��\������¼\Ð\���\��\���\���\¹������\���\��¡ߏ����ҏ����������Ï�����������������B���µ�����я�������������𡯏��������폢���������������Ï������̏��������������������������������������¹��¡�

STUN������»��������쏢����

���³������������²���·������¹�����������ď�������������¡�"STUN\µ���¼\Ð���¼"�����������������Ï���������»������������������¹��¡����������돢¡�A���µ�����я�����STUN\µ���¼\Ð���¼���������Ð���·������UDP������\���\��\���\���(\������¼\���)�����ҏ�������������������¹��¡��½�����Ï��¹��������������¡�STUN\µ���¼\Ð���¼������������NAT����������돪���쏢����³��������������ӏ�����������������������\��\������¼\Ð\���\��\���\���\¹������\����¼\���������¹��������������С�¹���µ������������\���\��\���\������̏��������­��¡��³������¾��Ï����я����ҏ������������³���������̏��������­���������¹��¡�\µ���¼\Ð���¼���������½������¾��Ï����я�����A���µ�����я����������ӏ��·���������������������������¹��¡��³�����Ï��¹���������³��������������¡�A���µ�����я�����¼«����̏�����³��������������ӏ�����������������������\��\������¼\Ð\���\��\���\���\¹������\����¼\���������¹���������\���\�������ҏ������������³���������̏��������­���������¹��¡�(STUN�돪�³�돢����������TURN���������«��ġ����¹�����������������¹���̏�¡�����������������������������������������������������³����돢�)

\·\��\���\���\���\��

¼�������A���µ�����я�����STUN\µ���¼\Ð���¼���«������������������������\��\���\���\¹������\����¼\���������¹���������\���\��������B���µ�����я�������µ��𡯏����������²����������̏���ߏ��̏����������������¹��¡��³���������ď�������¡�\·\��\���\���\���\��\µ���¼\Ð���¼�����������������Ï���������������»������������������¹����SIP\µ���¼\Ð���¼���������«XMPP\µ���¼\Ð���¼���������«������»��������Ï������̏��������������������¹���̏�¡񏪪��½������������������������돢�������ޏ��������������³������������������\µ���¼\Ð���¼������»���������������������������������OK������¡�A���µ�����я�������¡��³������\·\��\���\���\���\��\µ���¼\Ð���¼���������Ð���·�����������½��ҏ�����\��\���\���\¹������\����¼\���������¹���¾��Ï����я����ҏ������������������¡�\·\��\���\���\���\��\µ���¼\Ð���¼���������½������¾��Ï����я�����B���µ�����я�����Push���·���������¹����������������������¡�B���µ�����я�����\·\��\���\���\���\��\µ���¼\Ð���¼������»��ӏ���돢����·��ҏ��̏���������������������������̏���ߏ��̏����������������¹��¡���������¡�\������¼\��ď�����Push���̏���̏���ߏ��������������������������¹������������¡�Comet������������������WebSocket������»��������������ď��������������������������·�����������Ï��������³���������������¹������¡��³���³���������������������������Ð���·�����������ď�����������������¡�����������������\��\���\���\¹������\����¼\���������¹���������\���\���������Ð���·��������¡�B���µ�����я�����A���µ�����я������ޏ�������䏢��²»���¼\������¼\��ď����ҏ�������������³���������̏��������­�����������������Ï��������������������������¹��¡�

\¹\\\2

�����������ď�¡�B���µ�����я��«������A���µ�����я��������Ð���·��������������¡���STUN������·��ҏ��������������Ï��Ï���\·\��\���\���\���\��\���\���\»���¼\��������ҏ�������������������Ï��Ï��Ï�¡ߏ����������������������ď�����������¼�����·������\���\������¼����������ޏ������������³�����������ҏ��������������Ð��¡񏪡Ð�����������ޏ�������䏢��²»���¼\������¼\��ď����ҏ�������������³����������²������½��¡��������³��������������¡�����½Ð�����㏢����\���\���\��я�����������������½Ð������¾������̏��������������¹��¡�\���\���\��я�����������������¼������½���¹������������������������ġ����¹�����������������я��������������µ���������������¹��������¡�������¡��³�����������ҡ��������ޏ�����»�����𡯏����������������Ï��������·�����ď����������������������Ï������̏���������̏�����¾������²������ WebRTC \��\���\���\��\���\���������\¹\������¼\��\��я����������������Ï��³�����������������������������я����������������Ï�����������������������»�ߏ��������������������������¹��¡������½¾���WebRTC������\³���¼\���\��\���\�돢�¹�����������������������������������������������������̏��¹�������������������¹���̏�¡��³������������¹¹���������������ޏ��������·���������������³�����Ï����������������á돪؏����Џ��������«¼��؏��ޏ��������������������¹����

STUN����»�����𡯏��������«�������������­�돪�������

�돫����«���·½�������������������돢�����돫������������������������¹���̏�¡�¼������������������­������²��򏪤��������ҏ����������������я��������������������¹��¡�\��\������¼\Ð\���\��\���\���\¹������\����¼\���������¹��������ҏ��������������ď�����������A���µ�����я�����STUN\µ���¼\Ð���¼������»��������������ď��������ޏ��������¹���̏�¡�¼�����돪�����\������¼\��ď�����B���µ�����я��̏������ď��µ��������������������������¡��³������\��\���\���\¹������\����¼\���������¹������������������������ď��·���������¹��¡�½¾��������������¡�NAT���̏��ӏ����������я�������¡��³������\������¼\��ď�¡�돪�½���\��\���\»\¹���·�����ď���STUN\µ���¼\Ð���¼����������\��\���\���\¹�������돫������Ï��������³���������«��������������������������������������������������������¼���«��¡񏪿����������·��������������𡯏�¡ߏ��������½���������·���������·�����������Ï��������³������\·\���\���\��쏢������������������������¾���·���������·�����������Ï������������¹��¡�¼�����돪�¡�¾��������������²������\·\���\���\��쏢����������������IP\��\���\���\¹���«�������������ď��µ�����������������Ï��̏�¡�½���������������\��\���\���\¹����\����¼\���\���\��돢�������\���\��\���\��������������������Ð��¡�³��돪���ӏ������¼�����ӏ��������������ޏ���������������NAT����������������������������돢�­���������»�����я������³���¼���������¼NAT������\���\���\³���¼\���NAT���������������������������¹��¡�����������¡񏪤¾���������������������������������¹���̏�¡��³���������؏�����\���\���\��������Џ��·������������������¡��³���³������������³����돢Ï��·���������¹��¡�����������¾��䏢�·���������������������ď�����������������¡����³������������������³���������µ���������������������������������«������������¡�

\¹\\\3

���������³������������ ����WebRTC ����������돢����¾���¹�������������돢�«������������¾���¹������̏���������¡��½���������������Ð����������\������¼\�����¼���̏��������¼���������¼NAT������»������������������������������«¼��������������������µ��¡������������������Ï��³���������������������������������¹��¡����Ï��¼���¼���¼�����я�¡��������������«��������¡�\��\���\���\��㏢�¼\���\��\���\���\¹ & NAT���̏�������������������¡񏪴���»��ӏ����������叢���я����������������Џ��·���������������������������¹��¡���������������������¡�\��\������¼\Ð\���IP\��\���\���\¹����³���\������¼\�����¼�����������؏�����������������IPv6���������叢���Ï��̏��������������������¹���������������������쏢�쏢���������������Ï��������������������������������­���������¹��¡�IPv4\��\���\���\¹����������³������������������̏��������������· IPv6 ���������̏����Џ��̏��½¼��������쏢�������������������������­������\���\���\���\���\�돢������¡�WebRTC����������³���¼��������؏���»���������������������\���\���\���\���\�돢�̏���ޏ�������·�����ď�����������¡����ӏ��³�����������������������������������Ï������������������������������������¹����

WebRTC������\³���¼\���\��\���\�돢�·�����������Ώ�����!!

�����������������Ï����؏�������¡�WebRTC�����ҏ����Џ�����������\³���¼\���\��\���\�돢����²��ҏ��������·�����ď�����������»�ߏ��������������¹��¡���²���»²¹������������·�����ď�����������¡񏪢���������¾���²��Ï��·������WebRTC\���\���\µ\���\���������repositry (http://code.google.com/p/webrtc-samples/����������������³«���µ������������������������ http://code.google.com/p/webrtc-samples/source/browse/trunk/apprtc/index.html���������¹��¡��³�����������ҡ���Ï����� https://github.com/KensakuKOMATSU/webrtc_test/blob/master/views/peerconnection.ejs������¼«����̏�����������������½��Џ����������������Ώ����ď�����������¡��½���³���«������\³���¼\���\��\���\�돢����\���\���\���\���������²��ҏ��������·���������¹��¡�

��������������������

WebRTC��������������������������������¡񏪢���������¾������²�����ď����������쏢�������������¹���̏�¡����������á돫������㏪��돪�����·�����������Ώ��������¹��¡�
  1. \«\���\���������\���\���\��������������䏪�³���¹������
  2. STUN\µ���¼\Ð���¼�����������䏪�³���¹������
  3. Peer���������䏪�³������������¼«����̏��������䏪�³¾��Ï����я����ҏ�������𡯏�����
  4. Peer���«�����������¡ޏ�������䏢��²»���¼\¹\���\������¼\���������¼��؏�ď��¹������
�����������������Ώ�������¡�돪�²¼������¼�����¹API������ W3C \���\���\���\���������µ­½��ҏ��µ��������������������������돪����·»����������������������돪叢�������������������¹������������𡭏������돪؏��������������µ��������������������»����·������»��Џ���������������돢����\³���¼\������������¹������¡�

\«\���\���������\���\���\��������������䏪�³���¹������

�����������돢¡�\«\���\���������\���\���\������«�������ޏ�������䏢����²»���¼\¹\���\������¼\���������¼������������·���������¹��¡��³������������¼���¹��ԏ��¹������API����getUserMedia()���������¹��¡�
navigator.webkitGetUserMedia("video,audio", onGUMSuccess, onGUMError);
�������돫��돫⏢ď�ԏ�������¡�ޏ�������䏢����²»���¼\���\Ð\���\¹�������½���������¾������\«\���\���������\���\���\������«����������������\��\���\»\¹���¹���������³�����������ҏ�¡񏪤��������ѡ돫⏢ď�ԏ�����������»��돫⏢ď�ԏ��������������½���������¾������\���\Ð\���\¹\��\���\»\¹��������������㏢��¼��돪���ԏ��·�����ď��������­������\³���¼\���\Ð\���\����������ď�ԏ�����»������������·���������������������¹��¡�\���\Ð\���\¹\��\���\»\¹��������������㏢�¹��������������¡�ޏ�������䏢��²»���¼\¹\���\������¼\������������Ð���¹������\���\���\���\��\���\������̏����ӏ��µ���������������¹��¡�
function onGUMSuccess(stream){
  var url = webkitURL.createObjectURL(stream);
  $("video#local")[0].src = url;
  localStream = stream;

  $("button.start").one('click', function(e){
    $(this).attr("disabled", "true");
    createPeerConnection();
  });
}
\³���¼\���\Ð\���\����������ď�ԏ����������돫��돫⏢ď�ԏ��������·��������¡�stream\���\���\���\��\���\������̏����ď�𡯏��������������������¹������������¡��³���������������Ð���·³���¼�����������돫�����¹��ԏ��������������¹��¡򏪡�돪�¾�����ԏ���̏�������¡�\������¼\«\���������²���������¾���������¼«����̏����¡ޏ�������䏢���ҏ��½¼�����¹�����������ԏ���̏�¡�webkitURL.createObjectURL()������\¹\���\������¼\���������\��\���\»\¹���¹������BlobURL������¼������������·��¡��½������������video\���\�돢����src����돪�­���������·������\»\���\������¹���������������ޏ�����²���������¾���������\«\���\����ޏ�������䏢�̏��½¼�����µ���������������¹��¡����������ď�¡񏢱������¹������»��������Ï����ď�������������¡�\��\������¼\Ð\��������Џ�ď�� localStream ���������³������stream�����ҏ����������Џ��·���������������������¹��¡�
���������¾��������¡񏪡���¼�������������Peer�������������������䏪�³������³«»������¹�����������ԏ���̏�¡���²��я�돫�����·������\µ\���\��\�����������������¡�\������¼\«\���������\���\������¼\��������������я�����������\���\���\���\������³«������������¾��؏����ӏ��������������Ώ���돢����������¾�����������������������돫��������������������������������������������¹������������¡��½���������؏�����������¼�������돪���폢�������������­������������������\���\���\��я�����\���\���\���\������·�����ď��������­�����������䏪�³³«»������¹�����������������Ï��������·���������·�����ď�¡�

STUN\µ���¼\Ð���¼�����������䏪�³���¹������

������������\���\���������������䏪�³�������돪䏢�������������¹��¡�createPeerConnection()��������������¡�돪�²¼���������������Ï����� Peer-to-peer connections API�����ҏ����Џ��������������������������¹����STUN\µ���¼\Ð���¼���������·��������¡�google���̏�����³«���·������������������\µ���¼\Ð���¼�����ҏ����̏����Џ��·���������������������¹������¡�
function createPeerConnection() {
  pc = new webkitDeprecatedPeerConnection("STUN stun.l.google.com:19302", onSignalingMessage);

  pc.addStream(localStream);

  // set handlers for peerconnection events
  pc.onconnecting = onSessionConnecting;
  pc.onopen = onSessionOpened;
  pc.onaddstream = onRemoteStreamAdded;
  pc.onremovestream = onRemoteStreamRemoved;
}
1¹��ԏ����䏢����webkitDeprecatedPeerConnection()��������¡�STUN\µ���¼\Ð���¼�����������䏪�³���·��¡�¼«����̏�����\��\������¼\Ð\���\��\���\���\¹������\����¼\���������¹���������¼������������·���������������������¹��¡��³���������̏�������㏢�¹��������������¡�\³���¼\���\Ð\���\����������ď�� onSignalingMessage���̏��������Ð���������������¹����������½��ҏ�����¡����������������Ώ�������¡�\���\½\���\������¾������ Deprecated �������������������������Ï�������¡��³������\���\½\���\��������������������돢����»�����𡯏��������������������������������¹��¡�𡭏������돪؏�����
���½���������������� pc.addStream() �����������������叢����¼������������·������ stream \���\���\���\��\���\���������\���\�������������ď��¹������\¹\���\������¼\������������·������»������������·���������������������¹��¡����������ď�¡�\���\���������������䏪�³������������������������������������³���¼���\���\���\���\������̏��������������·���������¹������������¡��½������\���\���\���\������������³���³������»������������·���������������������¹��¡�

Peer���������䏪�³������������¼«����̏��������䏪�³¾��Ï����я����ҏ�������𡯏�����

webkitDeprecatedPeerConnection()��������¡�STUN\µ���¼\Ð���¼���«������\��\���\���\¹����\����¼\���������¹���¾��Ï�����¼�����������������������㏢�¹��������������¡�»������������·������\³���¼\���\Ð\���\����������ď�ԏ��̏�����������½Ð���µ���������������¹��¡��³���³�������������돫��돫⏢ď�ԏ����������䏪�³�����Џ�����SDP\���\���\»���¼\�������STUN���«������¼������������·������\��\���\���\¹����\����¼\���������¹���������\���\��������¡�ޏ��������¾��Ï����я���������������µ­½��ҏ��µ��������������������������������³������¼���µ���������������������������¹������������¡��³������������²��ď��������«������¼���������������\���\������\���\���\���\�����������������·���������¹�������������̏�돫�����·������\µ\���\��\�����������������¡�\·\���\��\���������WebSocket������»�����������������¡�\���\���������䏪�³���������������³������\���\���\»���¼\��������ҏ��������·���������·�����ď�¡�WebSocket������\³���¼\���\��\���\�돢����chat�����ҏ�돫�����¾���¹�������������������������ޏ�����������������¾�������ߏ��������¹)��¡�\���\������¼\������������·��������������¡�돪�²¼���������������Ï�����������������¡�
function onSignalingMessage(mesg) {
  // WebSocket������»�����������������¡�\���\������SDP\���\���\»���¼\��������ҏ��¾��������¹������
  ws.send(mesg);
}
\���\������SDP\���\���\»���¼\���������¼��؏�ď��·�����ď�������¡�Peer-to-peer connections API������processSignalingMessage()\���\½\���\���������»�����������������¡�SDP\���\���\»���¼\��������ҡ���Ï����������䏪�³½�������������¹��ԏ��������������¹����¼��؏��ޏ����Ï�������¡�Peer-to-peer connections ������\���\���\¹\���\���\¹���̏�����������¾���¹�����������¡�\³\���\¹\���\���\���\��ď����ҏ����������я����������쏢�������³�����������ҏ����쏪���돢�������������������쏢��)��¡�
ws.onmessage = function(e){
  // Peer-to-peer connections ������\���\���\¹\���\���\¹���̏�����������¾���¹�����������¡����������돢돪�½���������
  // \³\���\¹\���\���\���\��ď����ҏ�����������
  if(!!pc === false) {
    createPeerConnection();
  }

  // SDP\���\���\»���¼\�����������������¡񏪢��䏪�³½�������������¹��ԏ����Ï�¡�
  pc.processSignalingMessage(e.data);
}

Peer���«�����������¡ޏ�������䏢��²»���¼\¹\���\������¼\���������¼��؏�ď��¹������

�����䏪�³½��������򏪪�����������¡�\���\������¼\���\���\���«�����������¡ޏ�������䏢��²»���¼\¹\���\������¼\���¼��؏�ď���²������½������������������������\���\��\³\���\���\·\���\��я�����\���\���\¹\���\���\¹���������Ð���·������ addstream \���\���\���\������̏��������������·���������¹������������¡��³���������������Ð���¹������\³���¼\���\Ð\���\������������·������¼��؏�ď��\¹\���\������¼\���������²������������������½¼�����¹������½�������������µ­½��ҏ��·���������¹��¡�
function onRemoteStreamAdded(e) {
  var url = webkitURL.createObjectURL(event.stream);
  $("video#remote")[0].src = url;
}
�돫⏢ď�ԏ����������ď�𡯏�����������������\���\���\���\���\���\���\���\��\���\��������� stream \��\���\���\���\��������¡�\���\������¼\������«������¼��؏�ď��¹�������ޏ�������䏢��²»���¼\¹\���\������¼\���������\���\���\���\��\���\�������³������¼���µ���������������������������¹������������¡�localStream������¾���¹�������������ޏ����� webkitURL.createObjectURL() ������BlobURL�����������С�¹��������¡�½��������������� video\���\�돢����src����돪�­������\»\���\������·���������¹��¡򡭏������ޏ��������¹��������¡�

���������ޏ����������������������������¹���̏�¡����ď���������ޏ�����\���\���\���²���µ��������ҏ��¹���������������ޏ����������������Ð��¡��³���������돢����������������\³���¼\���\��\���\�돢�������­���������¹��¡����������쏢¡�https://github.com/KensakuKOMATSU/webrtc_test������\µ���¼\Ð���¼\³���¼\��������������������³«���·���������������������¹������������¡��½�������������������������³���������·�����������Ώ��������������������µ��������¡�

����²���¾���²��Ï��·�����ď�����������¡�WebRTC�����¡돫������ԏ��������¹��¡�����������������¼«��ď��\­\���\��я�����������²��ҏ��·������������������������������������¡��³���³������¾���²��Ï��������µ���ޏ��������¹���̏�¡�W3C������\���\���\���\��������ҏ��«��������������¡��������«���������«�ޏ�䏢�������¼���½�����Ï��������¹��¡��³������������������������Web���������Ð���¹������¹�����𡯏��������ҡ돫������Џ��¹��������������������ӡ돫�������������������API��¡��򏢱���������ď������������³��⏢�·�����Ώ��������¹���������쏢��


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 21:52����Permalink����Comments(15)����TrackBack(0)����clip!

2012������01·���17������

Web Intents������ persistent connection������¼������½���¹������������������

���򏩡��䏢����\��\���\���\������¼��������������¡� Web Intents ������ persistent connection (·��Џ��³�����䏪�³����������¼������½���¹�����������ď��������������򏪳�������������������������¾���²��Ï��·���������¹��¡�

�����������䏢����Web Intents ������������������������������\��\���\���\������¼��������¡�������Web Intents������¾��؏����ӏ�������������²��ď��·��������¡�W3C������\µ\���\���������\���\���\���\��������������̏�����������������������������¾��؏����ӏ����������������������� ������������������½��Џ����������������������ď������������¹���̏�¡�����叢���������̏��������������������������·���������Ï��Ï���orz
120117-0

Web Intents ������»�������������µ­½��ҏ��µ������������������������������������¡����������������������я������������������¹���̏�¡�W3C ������ Mailing List�������������³������������������������µ��������������ҏ������������𡯏����ď���������������µ­½��ҏ��µ�����������������쏢������¡��������«���������«»²¹������������������������������¹��¡��½������������³��돪���ӏ��¹�������������� Section 4 & 5 �������������������¹���̏�¡��򏩡��䏢����\��\���\���\������¼��������������¡��½�������������«����������5.3 Persistent connctions (·��Џ��³�����䏪�³����������������������������¼���������¾������²�����ď�����������»�ߏ��������������¹��¡�

Web Intents ������ RPC \���\���\���

Web Intents��������¡�RPC (Remote Procedure Call) \���\���\������������������������������������������¹��¡��³���³��������¡�Web Intents�����ҏ�����������½Ð���¹�����Ï����� Client, ������������½Ð���µ�����������������Ï����� Server ���������¹��������������¡�Client ���«���������������µ������������Ð���·��¡�Server����²��ď��«���·������������½�������������¹��ԏ�������¡��½������·���²��������ҏ����ӏ��¹�����������������Ï������̡돫������������������������������������������¹��¡򏪡�돢�¹²��я�����\��\���\���\������¼������¾���²��Ï��·�����ď��»½���URL��������¡��½�����¡돫��������������¹��¡�

���³������ RPC \���\���\���������·�����������������¡�돫�������·���²��������ҏ����ӏ��¹��������¡��½�������돪�¹��� Server ���«������ Client ������\������¼\��ď����ҏ��������¹���³���������̏�¡�½Ð���������������������������������³��������¡�����𡯏��Ð��¡�Server ����\���\���\���\���\µ���¼\���\¹���������������·��������¡�Client���«����������\���\���\���\���������\���\���\»���¼\��������ҏ���������������ď�������¡ߏ����������������Ï����µ��������ҏ��·��������������¡�Server�����Ï��������������������������������µ���������������������������¾������\������¼\�����¼���«������������\���\���\���\���\���\���\»���¼\���������¼��؏��ޏ��������³������������½Ð���������������»�����я����돫����������������ޏ����������ӏ�ď�����¼��؏��ޏ��������³����������½Ð���������������¹���̏�¡��������������돪؏�����������������������������¹������������������¡�RPC\���\���\������������·���Ð��������������������������¡�²��ď��«���·������������ Persistent connection ������¹��ԏ�����¼������폢�������̏����Ώ��·���������������������������¹��¡�
120117-1

Persistent connections on Web Intents

���³������ Persistent connection ������¼������½���¹������¼������������̏�¡�Web Intents API������Editor's Draft 5.3 Persistent connections ������µ­½��ҏ��µ���������������������������¹��¡��½������������������¡񏪲���³��я����졭�������ޏ�����½Ð�������������������½��돩Ώ�����³«���µ������������������������\��\���\���\������¼\·\���\���\���\���\���\���\������������������ޏ�����»����»������������¡�iframe�����ҏ����Џ����������ď����򏪳���������������������������¡��³���³������������¼���������¾������²���������¹��¡�

���³���������ԏ���̏�������������������������¡񏪢���������Draft�������������돪�²¼���������������Ï�����½��ҏ����㏢�������������������������������¹��¡�

One is returning URIs which can be loaded by clients in an iframe and then messaged using other web platform features.

�����돪�²¼��¡�돪؏����؏���
�����돫����������������򏪳���������¡񏪴��ӏ��µ������������URI���«������ client �����Ï����� iframe ������³«���­��¡�(Web Intents�돪�³�돢������Web������µ����½������»�����������������¡�\���\���\»���¼\���\���\�돢���ҏ��¹�������������������������¹����
��������������������¡񏪢��������̏�����\���\���\���\����������������������������Ð��¡�\���\���\���\��������������䏪�³���¹�����������ď�����������URL¾��Ï����я����� Web Intents ������¼������������·��¡��½������������ iframe ������³«��������¡��½���·��������¡�client ������ iframe(server) �����������¡���ӏ�������¡�HTML5 Web Messaging�����������������ҏ����Џ��������������Ð��¡�Persistent Connection����¼������½���������­�����������������������Ï��������ޏ��������¹��¡�
120117-2

������𡯏��Ð��¡�Client��������¡�돪�²¼������\³���¼\��������� Web Intents �����ҏ���������돢�·���������¹��¡�(action��������¡񏪳��������¡����������²¼������URL������shema-URL���������·�����������Џ��������������·�����ď���

var intent = new Intent(
  "http://webintents.cloudfoundry.com/chat",
  "text/url-list",
  "");
window.navigator.startActivity(intent, function(data) {
  // ������½���
});
Web Intents·Ð���³����������������돢�µ������������ server ��������¡�\���\���\���\��\���\������������Ð���·��¡�돪�²¼������\³���¼\���������¼«\���\���\���\��я�����������\���\���\���\���µ����½������\��\���\»\¹���¹������URL�����ҏ����ӏ��·���������¹��¡�
if(window.intent && window.intent.postResult) {
  window.intent.postResult(location.origin+"/chat");
}
Client��������¡�¾���µ­������URL������¼��؏���¼�����������������¡��½������������ iframe ������³«���­��¡�HTML5 Web Messaging(postMessage)�����ҏ����Џ�����\���\���\»���¼\���\���\�돢����¹��ԏ����Ï��³��������������¡�\���\���\���\���������µ����½�����ҏ����̏����Џ��¹���������³����������½Ð�����������������������Ï��������������������������¹��¡����Џ��������쏢������������¡�돪�²¼���������������Ï�����\³���¼\������������������������������¹����������������¾������²�����ď�¡�startActivity()���������������ѡ돫⏢ď�ԏ�����\³���¼\���\Ð\���\������������·�����������ď�𡯏�����������¡�
var ifr_ = document.createElement('iframe');
ifr_.id = "chatifr";
ifr_.src = data;
ifr_.style.display = "none";
document.body.appendChild(ifr_);

$("#chatifr").load(function(){
  var subwin_ = ifr_.contentWindow;
  subwin_.postMessage("init", "*");

  $("#chat .after form").submit(function(){
    var box_ = $("#chat .after input[name='chatmesg']");
    subwin_.postMessage(box_.val(), "*");
    box_.val("");

    return false;
    });

  window.addEventListener("message", function(e){
    $("#chat .after output")
      .append([e.data.username," => ",e.data.body,"
"].join("")); }); });
�����ӏ��³���������̏�������¡�iframe������³«���«�����������������Ï�����URL��������������������������������¡�HTML5 Web Messaging������\³���¼\���\��\���\�돢�̏���̏���ߏ��������¹���̏�¡��³���³������������³����돢Ï��·���������¹��¡�

Web Intents������\���\���\���\���¾��Ï����я����ҡ�¹���������·�����������Џ����������������������������Ï��³������

��������������������¡�Web Intents�����ҏ�¡���\³\���\���\·\���\��я����䏪�³�����Џ�����\���\���\���\���¾��Ï����я����ҏ����ҡ�¹���¹�����������ď����������������Џ��������������Ð�������������㏢����¹�����𡯏��������Ð�������������³���������������������������������¹��¡��³������������������������������������������¡�Working Draft �������������돪�²¼���������������Ï�����½��ҏ����㏢�������������������������������¹��¡�

In these cases, Web Intents is acting as a way for the user to attach a particular client page to a persistently-available service.

(�돪�²¼��¡񏪣���돪؏�����)
���³������������������\�ޏ��¼\¹��������������¡�Web Intents��������¡񏩡���������������\��⏢�¼\��������������� persistent \µ���¼\���\¹������\��\���\»\¹���¹��������������������̏���ߏ�����¾��Ï����я�����¼������������¹�����������ď��������������򏪳����������·�����������Џ��������������������������������������¹��¡�
���³���������������Ï�����¹�����𡯏��������������ď�������������¡�½��������Ï����� Web \��\��\�������ӏ����·�������²������½���������������������������¹��¡�Web Intents ��������¡�\������¼\�����¼����¼«���³������ Web \��\��\���\�ޏ��¼\·\���\��я����ҏ����쏪���ҏ��¹�����������ď�����������»��������������Ώ��������¹������������¡��½������¾��Ï����я��������������������������������� Web Intents ���������������������叢��������������������̏���ߏ����������������������������������Ï��³���������������������������������¹��¡�

������𡯏��Ð��¡�\���\Ð\���\¹�����·�������������������������𡯏��Ð��¡��³���������������Ï�����¹�����𡯏��������ҏ����Џ��������������³��������������¡�Device(client)¾���������\���\���\���\³\���\���\���\���������\½���¼\¹���������·��������¡�\���\���\���\�돢����\���\���\���(server)���������½������������\¹\���\������¼\���\���\�돪���叢ď��¹���������³����������²������½���������������������������¹��¡�Web Intents·Ð���³��������¡�\������¼\��ď����ҏ����·������¹�����������ď�����������\���\���\���\���¾��Ï����я����ҏ��������������������������·��¡��½������\���\���\���\��������ҏ����Џ�������������¡�HTML5 ������³���¼��� API �����ҏ����Џ�����������¼������������·������ Blob \������¼\��ď����� Web Socket ������»���������������\���\���\��я�����\¹\���\������¼\���\���\�돪���叢ď��¹���������Ð�������������������������¹��¡�

¾������������������������·�����ď�¡�\���\���\���\�����������������\µ\���\��\��������ҏ�¡�http://webintents.cloudfoundry.com/�����������²�����������쏢�­���������·�����ď�¡�돫������㏢¡�http://webintents_chat.cloudfoundry.com/������\��\���\»\¹���·�����ď�������¡�"connect to 3rd party chat"\���\���\��я�����\���\���\���\������¹��������������¡�Web Intents ���̏���������돢�·���������¹��¡�picker window���«������"chat"�����ҏ����쏢���ӏ�������¡�Inline ������ login ²������������̏��½¼�����µ���������������¹������������¡��¾����돢���ҏ����Џ��������� "start" \���\���\��я�����\���\���\���\������·���������������������µ��������¡��¹��������������¡񏢱µ������²���������������\���\���\���\������������Џ���\���\���\���\¹���̏��½¼�����µ��������¡�\���\���\���\��������ҏ����̏�����½Ð�����������������������Ï��������������������������¹��¡�
120117-3

���³���³������2��������½������¼���������������̏����������������¹��¡�돫������������䏢������¡�http://webintents.cloudfoundry.com/ ��������������¡�\���\���\���\���������µ����½��������ߏ�������¡�WebSocket������\³���¼\���\��\���\�돢�������������������¹��ԏ��������������������������������������������¹��¡��³������\��⏢�¼\�����������������¡�������������������\���\���\���\���\���\���\»���¼\�������������½Ð�������������ޏ�����¼��؏���»������������������쏢������¡�\���\���\���\���\µ���¼\Ð���¼������������\���\���\»���¼\���������������������������������������¡񏪡�������� http://webintents_chat.cloudfoundry.com/chat ���������������»���������������������¹��¡��³������URL��������¡񏪲���²���»��������� iframe ������\��쏢�¼\��\��я��µ�����������������쏢������¡�µ¼»�������쏢����\Ð\���\���\��\���\���\���\���\������¼\«���¼���������·����������돢�«���·���������������������¹��¡��³���������������Ï��������¹���������³��������������¡�¼«���³������·�����������¡�\���\���\���\���µ����½������³���¼«������ Web\µ\���\���������¼���������¹��Џ��������³����������½Ð���������������¹��¡�

�����������á돫������������䏢������¡�\���\���\���\���\µ���¼\���\¹������¼«���³�����������쏪���ҏ��������­���������������������¹��¡���²��я���������������������¡�\µ\���\��\���������\���\���\���\���\µ���¼\���\¹���������ޏ��������¹���̏�¡��������· Intent ���������·������ facebook������\���\���\���\�����������¡�Google Talk���̏��Ð�����ď��µ�����������������������Ï�������������������������¡��½������\��⏢�¼\��������������������������������������ď�������������������¡�¼«���³������¹\�����Ώ�����\���\���\���\���\µ���¼\���\¹�����ҏ����쏪���ҏ��·�����������̏����Џ��¹���������³����������½Ð�����������������������Ï��������������������������¹��¡��³��������������������¡�\���\���\���\���������»��������Ï����ď�������������������¡�\���\���\���\���������\µ\���\����������돪䏩��돢�·���������ޏ��������Ð���������ޏ��������»�����я��������·�����ď��̏�¡��³���������������Ï�����¹�����𡯏������������폢������������¡�����������\µ\���\������«������������������Google Talk�����������������ҏ����̏����Џ��������­��¡��«��������¡��½�����������������ҏ����쏪���� ½Ð�����������������������Ï������������������������������¹��¡�

����²���¾���²��Ï��·������\µ\���\��\���\µ\���\�����������¡�github������������³«���·�����������������������¹��¡�client������ https://github.com/KensakuKOMATSU/webintents_test��¡�server ������https://github.com/KensakuKOMATSU/webintents_chat_test���������¹��¡�


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 04:07����Permalink����Comments(17)����TrackBack(0)����clip!

2012������01·���09������

\���\���\���\���\Ð\���\¹�����·���������¼������½���¹������ Web Intents ����\���\���\���\���\Ð\���\¹�����·��������ԏ���

�����²��я�����\��\���\���\������¼�������돫⏢�­���³���­��¡���²��я����� Web Intents ��������������¹������\���\¹\������������¹��¡���²��я�������¡����ӏ��������¼��¡�Web Intents ���� Web ������������\���\���\���\���\Ð\���\¹�����·���\µ���¼\���\¹������¼������½���¹�������������������ď�������¡�½�������ߏ����� API �������������������������«���폢¡����������������������������������������·���������¹��¡����������쏢¡�Web Intents �����¡���Ï����䏢����»���������������������������������������������¡������²��я�����\��\���\���\������¼������»²¾���²¼���µ��������¡�

Device APIs ������돪����·����돢����

Web Intents ������\���\���\���\���\Ð\���\¹�����������¡����·��������������Џ���������돢������¡�Device APIs ������돪����·����돢���Џ�������������������������ġ������������ď�����������»�ߏ��������������¹��¡�

\¹\������¼\���\���\���\��я����������������� Device ������\���\���\���\��\���µ����½������ Web ���«�����������̏����Џ��¹������ API ��������������������������¡� W3C ��������������¡�¼��������� Device APIs Working Group ������»���������²½���̏�ď�����������������������������������������¹��¡�����𡯏��Ð��¡�½»½���������¾��Ï����я�����¼������������¹������ "Contacts API" ��������¡�\«\���\���������µ�������돢�·��¡�»��ޏ�����·������¼�����ď��²��������䏢����¼������������¹������ "HTML Media Capture API" ������������������»���������²½���������������ҏ�ď��������������������������������������¡��³������Working Group���������¹��¡�

���³���³��������¡��³������ Device APIs Working Group ��������������¡��³������������������ Device ������µ����½������\��\���\»\¹���¹�����������ď�������������¡��½���������¾�����������������Џ�����API»���������²½�����ҏ�ď�����������������­���������·�����ď�¡��³��������������¡�Device�������������¹������µ����½����½»½��������ď�����\«\���\�������������������������ď�ԏ��������ޏ�¡�API������»���������½��Џ��̏���̏���ߏ��������³�����������ҡ돪؏�����·���������¹��¡�·���²������������·��������¡�API��ď�ԏ�������������²½�����ҏ�����������������������������������·���²������������������������������·�����ď�¡����Џ��������쏢������������¡� Device APIs Working Group������\��⏢�¼\���������³���������������­������ API �돫�����������ҏ��«���������Ð�돫������䏪�����³���������¹��¡�
120109-0

���µ��������������¡��³����������ď����������¡�돪�²¼������¼�����¹�����я���������������������������µ������³���·���������¹��¡�

  1. ���·���·������Deviceµ����½����½Ð�����������ď����я�������¡�»���������²½��돫ӏ��������̏���̏���ߏ�������������������¡�Web���«���������½������µ����½�����ҏ����̏�����½Ð�����������������������Ï�������������������������������¡�»��С���ӏ��̏���̏���ߏ��������������������������·�����������Ï�¡�
  2. Device ������ Cloud ���̏���ޏ�����������µ����½�����ҏ����Ѣ�����·����������������������������������������������������돢¡�³«������¼��ԏ������돪叢����������\���\���\���\���\�����¼\¹������API�����ҏ����Џ��������������ޏ��������Ð������������������������
�돫������������䏢����������������������������������������������¡�¼«������������������»�ߏ��������������¹������������¡��³���³�����������������я����������䏢�������������������������������������·���������¹��¡�

������𡯏��Ð��¡�Contacts API��������¡�\���\Ð\���\¹����·��������я���������������������������������������½»½��������ď��«������\������¼\��ď�����¼������������¹���������³�����������ҏ����䏪���쏢����»���������²½��������������¹��ԏ��������������������������������¹��¡��·���«���·��¡�½»½��������ď����� Google Contacts ���������������Ï�������¡���Cloud¾���������������������������������­���������¹��¡��½���·��������¡�Cloud������������������·������������������¾���¹��������� Web-API �����ҏ����Џ��������������Ð RESTful ������������������������ HTTP ������½»½���������¾��Ï����я�����¼������������������­���������¹��¡�������������������������¡񏩡�ޏ�����½»½��������ď�������������¡���\������¼\«\���\���\Ð\���\¹���������Ð���·������\��\���\»\¹���¹������¾���¹�����������¡񏪢��������Џ����� Javascript API �����ҏ����Џ�������¡�Cloud ¾���������\������¼\��ď�����\��\���\»\¹���¹������¾���¹�����������¡�RESTful \���\���\���\���\�����¼\¹�����ҏ����Џ�������������¡ߏ����������������Ï��³���������������������������������¹��¡��½���·��������¡��򡭏�叢����¹­������»��������Ï��³����������½Ð��������¡��«������½��������Ï��­�����������㏢��������������������������������������\���\���\���\���\�����¼\¹���«�����������������Ï��³��������������¡�Web developer �����������������Ð�돫������䏪�����³���������¹��¡�¾�����������������������������������������¡�Cloud �����쏢����\��\��\������¼\���������¹\�����Ώ��������¹��¡�

����ޏ������������³��������������¡�\«\���\������«������¼�����ď�ď�����¼������������¹������ Media Capture API ���������Ð���·��������������������𡯏��������¹��¡��³������ API ��������¡�\������¼\«\���\���\Ð\���\¹������\«\���\������������Ð���·��������¡�Contacts API ����ޏ�������¡񏪢��������Џ�����API�����ҏ����Џ�����\��\���\»\¹���¹�������������������������¹���̏�¡��³��������������������������������������������¡�Cloud ¾��������� Web \«\���\��������������������Ð��¡�RESTful ������\��\���\»\¹���������­��¡񏪢��������Џ����� API �����������ԏ���ߏ��������¹��¡�

���³���������������Ï�������¡�Device APIs Working Group�������³������������������������\��\��\������¼\�����������¡�\������¼\«\���\���\Ð\���\¹������Cloud�������������돪叢����������\���\���\���\���\�����¼\¹�����ҏ����Ѣ�����¹������»��ӏ����ӏ�����¾·�����������ď������������¹��¡�(Contacts API������Media Cature API ��������¡��½�����������叢����¹­������¼��������؏��µ���������������������������»�����я�����������¡񏢱½¾��؏��������µ�����叢�������������������������������������������������������������»�����я��̏��Ï��Ï��Ï���
120109-1

TPAC2011 f2f minutes

��돫ҏ�����11·�������\��\���\���\«������\·\���\³\���\Ð\������¼����\µ\���\���\���\���\�������������³«��돪����µ������������ W3C ������ "TPAC2011" ��������¡��³�������������������������Ð���·��¡�Web Intents������»���������������²���·������·���������������³�����Ï��������¹������µ�������������¹��ԏ��������������������·�����ď�¡��½����������»��ҏ����� Device APIs WG ������ f2f (face to face) \��Ώ��¼\���\��\���\�돢���� minutes(µ���»��ӏ�����) ���«������³�������ӏ��«���������³����������½Ð���������������¹��¡�

������𡯏��Ð "Contacts API" ��������������¹������\���\��\¹\«\���\·\���\��я���»������������������������¹���돢������¡��³�����я����������������ӏ��������­���̏����������������¹��¡�

Do we care (at all) about contacts? In the "cloud" era, there will be many online services that do this and anyone can write a web app that connects to them already. Just curious.
����Contacts API ��������������������������¡�\��\���·���������­���������������ޏ������������������«����"cloud"��������������¡����ď��������µ�����я�����\���\���\���\���\���\µ���¼\���\¹���̏���������¡񏪪������������������½�����������ҡ�·������Web\��\��\���������½��Џ��������³���������̡���叢����½Ð������������������������������������¡򏪮���¼������²����������������������
���½���·��������¡������������̏�����µ������������̏�ď�������я�������������¡�돪�²¼���������������Ï��������������������̏����������������·�����ď�¡�
wondering why the API approach when Web Intents is being considered now
����Web Intents������������������»�������������������������������������¡��������¼������API\��\��\������¼\��������ҏ������������·�������������������������«���폢��
���½���������������Ð���·��¡�돪�²¼���������������Ï�����²��я����⏢�̏��������µ���������������������������¹��¡�
as currently specified it is mostly about what does a contact look like, so most of the API would not change even with Web Intents
������������µ�����������������¡�Contact�������«�����ď����䏢������������¹������µ������������̏��������������������«��������¡�Web Intents��������������������������������������µ������������·����������������������API���������叢���������я����������������Џ����������������������������я��������������������������«����������
���½���·��������¡�돪�²¼���������������Ï�����ACTION\���\¹\������̏�돫��������������������·�����ď�¡�
Contacts find() may be replaced with Intents
����Contacts API ������find()��������¡�Web Intents�����������ӏ��­��¹��𡯏���������������������
��������������������¡�Contacts API��������������������������������¡�Web Intents������\���\��\������¼\¹���¹��������������������»��������������������ď����������������Ï��³���������������¹��¡�

���µ��������¡��³���³������²��ď��������� Contacts API ���������������Ï����� Device APIs ����������������������²���·������¹������������������¡�Web Intents���̡����·������¹�������������������·�����������Ï��폢�½��������������������������������������¡�Contacts API����������������¹��ԏ����������������ď�¡�TAG(W3C������µ»½���»��Ï������돪С��²���)������������µ������������«������³�������ӏ��«���������³����������½Ð���������������¹��¡�

my prejudice will be there are certain tangible benefits of URIs and accessing via ReST. if you have a Camera on a machine and you can access it remotely When you name things with URIs that support http, you can access it transparently
����»����������Ð���«�����돪؏��«���폢����������¡�REST������\��\���\»\¹���������­������URIs�����������������������ҏ�����\���\���\���\��\���\������̏������������������������Ï��³��������¡�\���\Ð\���\¹¾���������\«\���\���������HTTP������\��\���\»\¹���������­������URIs�����ҏ����؏��ޏ�¡�\���\������¼\������«������������\��\���\»\¹���������­�����������������Ï��������¹���������Ð��¡���\������¼\«\���������\���\������¼\�������������������²��������쏢����\��\���\»\¹���¹���������³����½Ð�����������������������Ï���������������������
���¾�������������������������«�����������Ώ��������·�����������Ï�¡�
I remember 30 years ago that Printer vendors looked puzzled when asked about Web Servers on them and today I can talk to an average printer over HTTP
����30����������돢¡�\��\���\���\��ď��¼\���\���\������¼������Web\µ���¼\Ð���¼������\��\���\���\��ď��¼��������돪䏢�»���������³��������������������������������ď�ҏ����������ď�돪�¡�돢����������·�����������������ď�¡��·���«���·��¡�������������½��������쏢����\��\���\���\��ď��¼����������Web\µ���¼\Ð���¼������\��\���\���\��ď��¼��������������돪䏢�·�����������������������ď���������HTTP������\��\���\»\¹���¹���������³����������½Ð����������������
��������������������¡񏢱������¹������\���\Ð\���\¹������Web\µ���¼\Ð���¼�����ҏ�������돪䏢�¹���������̏�¡�\«\���\���������HTTP������RESTful������\��\���\»\¹���������­�����������������Ï�������������������¡��½���·��������¡�\������¼\«\���\���\Ð\���\¹������Web\«\���\������������������Ï�����\���\���\���\���\���\Ð\���\¹������������²��������쏢��������ޏ�����¼���½�����������·�����Ï��³���������̏��������­�����������������Ï����������������������������������Ï����؏��������¹��¡򏩡��������ԏ�����Web\µ���¼\Ð���¼���«�����������������������Ð��¡�\���\Ð\���\¹������\���\���\���\��\���µ����½������¼«���³��������·�����Ï��³���������̏��������­���������¹��¡�½¾��������������¡񏪢��������Џ���������½���API�����ҏ�돫ӏ��������¹����������̏���ߏ��������������������������������������¹������������¡�돪����·������\���\Ð\���\¹µ����½�����ҏ����̏����Џ��¹���������³���������������������ޏ�����½Ð���������������������ޏ��������¹��¡�
(�����������������Ώ�������¡�½¾������¼������������ҡ��돪���������¼­�����������������������������Ï����؏����������������������������»�����я�¡���������������������¡񏪩�̏�돫������½���������API������¹�����𡯏����������Ï����������������á������������������¹��¡�����𡯏��Ð��¡�Battery API��������¡�\Ð\���\���\������¼\·\���\���API��������������������������������¡�½¾�����������������������������Џ�����Javascript API���������������³�����Ï����������������á������������������������������������������������¹��¡���
120109-2

���½���·��������¡�\������¼\«\���������\���\���\���\�����������¡����Ï�����Web\��\��\������������·������\��\���\»\¹½Ð�����������������������Ï��������������������Ð��¡�\������¼\�����¼������������돪؏�����Web\µ\���\������«������\«\���\���������»�����������ď�����»��Џ�������¡��½�����������������ҏ����쏪���ҏ��·��¡�\��\���\»\¹���������­���������ޏ��������Ð���������������������»�����я�¡��½������µ����½�����ҏ����Ѣ�����·������������������������API���̏�¡��������µ������Web Intents�������������������¹��¡�Device������µ����½������������\��\���\»\¹¼«������������������¡�Web Intent������»��������Ï���̏���ߏ����������������������������������»�����я���(\������¼\«\���������Web\µ\���\���������\��\���\»\¹���¹���������Ð���������������������ޏ��������¹����������������¡��½�����������ҏ��­�����⏢����»��������Ï����ď�������������������¡�Web Intents������������²���·���������API���������������������������¹��¡�
120109-3

�����ď��������·��¡�Web Intents API ������ Registration �������½¾��؏�����»�����������������¡������²��я�����\��\���\���\������¼������¾���²��Ï��·�����ď����������Ï�������¡�\������¼\�����¼����Intent���������·������������\µ���¼\���\¹�����ҏ����Ѣ�����·������������������������\µ\���\���������\��\���\»\¹���¹���������³���������������¹��¡�\������¼\�����¼���̏�¡�\������¼\«\���������\«\���\���\µ\���\���������»��ӏ���돢����\��\���\»\¹���¹�����������������������Ï��³������������������������¹�����𡯏��������������������»�����я�¡�½¾��������������¡�\������¼\«\���������Web\µ���¼\���\¹������²��ď��������«������¼���½������������Ð�����ď��������­���������³���������̏�����²���·������������¹��¡��½������������������������������������������¡�돪�²¼���������������Ï���������������������������������¹��ԏ��������������������������������¹��¡�

we expect device-local resources to use Web Intents to register themselves as potential providers?
����\���\Ð\���\¹\������¼\«\�����������Web\µ���¼\Ð���¼����\���\½���¼\¹������ Web Intents ������»��������Ï����ď�������������¡��½������¼«��ď��������\��\���\Ð\���\������¼���������·���������Ð�����ď��������­������������»�ߏ��������������������������폢��
Yes
�������������­����������
���³��������������¡񏢱½¾��؏�����Registration������»������������̏�¡��������������������������я���������������³�̏���������������¡��½�������돪�³�돢����Registration�����򏪳�������¹�����𡯏���������������������������𡯏��Ð��¡�¹���¾���½Ð²���»��Џ�����\���\���\������¼����\���\���\���\��������\��\���\»\���\������¹�������������������������������³����������½Ð���������������¹��¡�
���½���·������²���µ���������·������������������·��������¡�Device API WG��������¡�WebApps WG(Web Intent�����ҏ��µ���¹�������������·�����������������ď�����������¡�����Ï���ޏ�����µ������������¹������\���\¹\���\���\��폢�¼\¹�����ҏ�돫��������³����������·������������·���������·�����ď�¡�

Web Intents �����ҏ����Џ�����������\���\���\���\���\Ð\���\¹�����·���

���µ��������¡��³���������������Ï����� �����������������\���\Ð\���\¹��������¡�Web\µ���¼\Ð���¼�����ҏ�������돪䏢�¹������ �����������������Ï����������叢�������폢������������¡�Web Intents ��������¡��µ���������������½������²������½���­������³������²���������³����������½Ð���������������¹��¡��½���������̏�¡�\���\���\���\���\Ð\���\¹�����·������������¹��¡�

���³��������������������¡�\«\���\��������ҏ������������·��������¡�\������¼\«\���������\«\���\���������Web\«\���\��������ҡ돫⏢�­¹���������������½Ð���·���������·�����ď��̏�¡��³�����Ï�������������������������������������¡�Web Intents ���«�����������̏�����½Ð������������\«\���\�����������¡�ď��������²��я�������������������\���\���\«\���������������·��������я������������������������������������³���������������������������������¹�������½���������̏�¡�Web\µ���¼\Ð���¼�����ҏ����Џ����я��������·��������𡯏��Ð������¡�\������¼\«\���\���\Ð\���\¹������\«\���\���������²��ҏ����䏪���㏢�̏����ԏ����Џ����������������Ð��¡�Web Intents ������»�����������������¡�\���\���\«\��������ҏ����̏����Џ��¹���������³����������½Ð���������������¹���·��¡�\«\���\��������ҏ����Џ����я�����������������������PC���«��������¡�\¹\������¼\���\���\���\��я�����\«\���\��������ҏ����̏����Џ��¹�����������������������������ď��³������������½Ð�����������������������Ï��������������������������¹��¡�
120109-4

��������������¡���\���\���\���\���\Ð\���\¹�����·�����¡ߏ����������������Ï����������؏����ҏ�¡��ӏ�������\���\Ð\���\¹�����������������Џ����ď��·������������������������µ����½�����ҏ�¡񏪤¾������\���\Ð\���\¹�����ҏ����̏����Џ��¹���������³��������������¡�Web\µ���¼\���\¹������²������̏����������̏�����½Ð�����������������������Ï��������������������³��������¡ߏ�����¹�����𡯏��������������������¹��¡��½���������¾������������\���\Ð\���\¹������������·���¹�����������¡��ӏ��½������»��Џ��¹������\µ���¼\���\¹�������ޏ�Џ�����������\������¼\�����¼���̏����·������¹������\���\Ð\���\¹������¼«���³�����������쏢�������³���������̏��������­��������¡ߏ��³��������¡��½����������½Ð�������������������������̏�¡�\��쏢�¼\��\��я�����»�������������������Ï�����������Web��������������������������������¹�����𡯏��������������������¹��¡�

���³���������������Ï�����\���\���\���\���\Ð\���\¹�����·��������� "Device Orchestration" �����������������я��������������·���������¹��¡򏢱���������������³��⡭������̏�¡��½���������¾������������³���������𡭏�����������\��쏢�¼\��\¹\���\��������ԏ�����·��¡���������آ���������ҏ����؏����������������������Ï�������¡��½���������¾������������\���\Ð\���\¹���̏�¡񏪣��Ѣ�����¹������\µ���¼\���\¹��𡭏����������������ԏ�����µ��������¡�\������¼\�����¼��������������������������돪�������²������̏�����\µ���¼\���\¹�����ҏ����Ѣ�����¹�����������������������Ï�������������������������������¡񏪳������������³���������������؏�����������������������������²��ҏ��·���������������������¹��¡�

Web Intent��������¡��³���������������Ï����� Device Orchestration ������¹��ԏ����Ï��������­��������¡�·������«���»������������ API ���������������������������·�����������Ï�¡򏪿��̏�����½Ð������������\���\Ð\���\¹�������������«��������¡��ӏ��½������»���\������¼\�����¼��������������������������¡ߏ�돪���������돪�����̏�����\���\Ð\���\¹�����ҏ����쏪���ҏ��·��¡��½�����������������ҏ����Џ�������������¡�돫�������������\µ���¼\���\¹�����ҏ����̏����Џ��¹���������³����������²������½���������������������������¹��¡�

\¹\������¼\���\���\���\��я��������«�����������������ġޏ�������䏢���ҏ�¡�\���\���\���\�돢����\���\���\��я������돪䏩��돢�·��������¡�²������²�����Ώ����я��������������«���������³������������²������½���������������������������¹���·��¡�\���\½\³\���\²���¼\���������\³\���\���\������¼\������¼���������·��������¡�¼������µ������\¹\������¼\���\���\���\��я����ҏ����̏����Џ��¹���������³������������²������½���������������������«���������·���������������»�����я�¡�Apple TV������ AirPlay ���������������Ï�����\µ���¼\���\¹���̏�¡񏪱���½��������쏢������������������������µ��¡����������½Ð�����������������������Ï��������������������������·�����������Ï�¡򏩡���������������\���\Ð\���\¹�����������¡���ӏ��������·���«���½¾��؏����������̏����Џ��������­���������«�����������ď�������¡񏩡���������������돫�����¹��Џ����Ώ��̏��½¾��؏���̏���ߏ�������¡��³���������������Ï�����\µ���¼\���\¹���̏�¡�������������������\���\Ð\���\¹������»���������������µ���·��⏢���������̏�����½Ð�����������������������Ï���������������������������䏪���ԏ��µ���������������¹��¡�

Service Discovery

���µ��������¡��³������������������������½��ҏ����㏢����\·\���\���\��쏢������������¡�돫����������­�������������������������������̏����������������¹��¡��ӏ�ď��������²��я�����������\���\���\«\���������\���\���\��я����������·������������­���������Ï��Ï��Ï�¡ߏ�����������������������\·\���\���\��쏢����¼������½���¹�����������ď�������������������¡��½������������������Web\µ���¼\���\¹�����ҏ�¡�\���\���\���\��������Web Intents���������Ð�����ď��¹����������̏���ߏ��̏����������������¹��¡����������������叢������¡�\������¼\«\���\���\Ð\���\¹������µ����½�����������������Ð��¡�½Ð²���»��Џ�����\��\���\»\���\������¹���������³������������²������½���������·�����������Ï��̏�¡��½������»��Џ��¹��¡�¾��آ�·�����������������������������Џ�������������ď��������²��я�����������\���\Ð\���\¹�����ҏ�¡�»��ӏ���돢�������Ð�����ď��·�����������쏢�������³������������������������������¹�����𡯏�������������돢������Џ��������¹��¡�

���½���������ď�������������������¡�DLNA���������������Ï��������ӏ��½������»��Џ�������ď��������²��я�������������������\���\Ð\���\¹�����ҏ�¡�¼«����돢�������������«���·��¡�\µ���¼\���\¹���Ð�����ď��¹������»��������������Ώ�¡����̏���̏���ߏ��������¹��¡��½���������������Ï���������Device������¼«����돢�������������«���¹��������¡�Service Discovery API��������¡��³������������������Web and TV Interest Group��������¡񏢱����������̏�ď����������������������¡�Device APIs WG ������»��������������ѡ돩�³�������돢����¹��ԏ��������������������������·�����ď�¡��½���·���������³����������������������¡�Web Intents Task Force�������돫⏢�­·��Џ��̏�������¡�µ������������̏��³���ޏ��������������������������������¹��¡�
120109-5

Service Discovery������»��������������Ώ��̏�¡�Web Intents ������»�������������������������������������������������Ï��������������������«��������¡񏢱�����ď�������쏢���������������㏪�������«������������»�ߏ��������������������������¹���̏���¾�����������¡�service discovery������¹��ԏ����Ï�����������¡����������� Too, much ���«��������������¡�¡�¡򏪡��²��я�����\��\���\���\������¼������¾���²��Ï��·�����ď�¡񏪪»½���URL������\������¼\¹\�ޏ��¼\¹��������������������������¡�Service Discovery �����������ԏ���ߏ��������·�����������Ï��·������¡񏪱�̏���ߏ�����API�����������������³����������������ӡ돫������������������������»�����я�¡�¾���¼���������Web Intents ������ Service Discovery ������»��������������Ώ��������̏����·������������­�����������������Ï��������������������Ð������������������������»�ߏ��������������������������¹��¡�

������������������

����²��я�������¡񏪡��²��я������돫⏢�­���³���­��¡�Web Intents������������������������¼���������¾������²���������·�����ď�¡���²���¾���²��Ï��·�����ď�����������¡��ӏ��������¼��¡�Web Intents����\���\Ð\���\¹�����·���������½�������ߏ������������������������«���폢¡ߏ����������������Ï�������¡�Web\«\���\������������������Ï��������³������������¹�����𡯏�������������¡�\������¼\«\���\���\Ð\���\¹������\���\���\���\��������������ҏ�����������������¹�����𡯏�������������������������¡񏪡��������������\���\Ð\���\¹������Web\µ���¼\Ð���¼���̏�������돪䏢�µ����������Ï����������쏢������·��𡯏����������������Ï��������·�����������Ï����������������Ï���������������������������������������������³��������¡��½�����Ï��¹��������������¡�Web\µ���¼\���\¹���������·��������¡񏪡��������������\���\Ð\���\¹���̏�����¾���²½���µ�����������������ď�������¡�Web Intents ������»��������Ï��³��������������¡����·���²������½���������������������³������������½��ҏ����㏢�������·�����ď�¡�

�����������ď�¡�\���\���\���\���\Ð\���\¹�����·���\µ���¼\���\¹���̏�¡�������������ď�����������¹�����������ď�������������������¡�Service Discovery����µ��¡�������������«��������½�������ߏ��������������������³��������������¡��½��������������������¹���������½��돩Ώ���������½���²½����돢���Џ�������������������������������ġ����������������·�����ď�¡�

��������ď�������쏢��������³Ð���������·��������¡��³��������������������������\���\���\���\���\Ð\���\¹�����·�����¡ߏ�����������������\·\���\���\��쏢������������¡��ӡ돫�������������\���\���\���������\���\·\��я���»��Џ�������¡�\��叢�¼\���\²���¼\���\���\��\������������«���������Ð������������������¡ߏ��̏��ӏ��½�������¾������\��\������\���\·\��я�����\³\���\���\������¼\������¹��������¡ߏ����������������Ï�������������̏��·���������������������·�����ď��̏�¡�Web Intents ���������������ӏ����������������\���\Ð\���\¹���̏���ޏ����㏢������¡��½���������������̏��­µ������쏢����·���¹������¹��������¡ߏ����������������Ï��·�돪�µ��������ҡ������������������������������¹��¡��½�����я��������������³���������� Web �������������������������������������������¹��������������¡�

Web Intents ���̏�����������������»�����𡯏����������������Ï�������������������������������������¡����·���Ð������������»��С���ӏ��̏���̏���ߏ��������¹���̏���²��ď��·��������¡�W3C������\µ\���\���������\���\���\���\��������������̏�����������������������������¾��؏����ӏ���������������������¡��³���������«������������Web�����ҏ�����������¾�����������¡����䏢�̏��\���»���������»�����я�¡�

��돪���������������¡�Web ������������\���\���\���\���\Ð\���\¹�����·�������M2M (Machine to Machine)��¡ߏ�����¼�����������·������������������������½��Џ���������\���\��\��ӏ�ď��²½ ��돪�½���·���������HTML5��¡ߏ��̏�����³��Ï����ҏ����Џ�𡯏��������� ������¾���²��Ï��·��������¡񏪳��䏩���䏢����\��\���\���\������¼�����������㏢���������ď�����������»�ߏ��������������¹��¡��³������������������½��Џ����ҏ�������������¡�Web Intents ��������������������������������ġ����������������������������»�����я��̏�¡�Web ������������\���\���\���\���\Ð\���\¹�����·�����������¡��򏢱���������Web������ď�����������������Ð���·��������¡񏩡��䏪���䏢����ď�������������㏢�­�����򏢱��Џ�������������������������¡񏪤��������Џ���̏��«���������������¹���������������������������������������������������������¹��¡��³��������̏�����������½���������������������������¡񏪢�������ѡ돫����������µ���������������³�����������ҏ����쏪���Ï��������·���������¹��¡�


\���\��\��ӏ�ď��²½ ��돪�½���·���������HTML5��¡ߏ��̏�����³��Ï����ҏ����Џ�𡯏����� (���«�����䏢�·½���)


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 10:59����Permalink����Comments(12)����TrackBack(0)����clip!

2012������01·���07������

\���\���\���\���\Ð\���\¹�����·���������¼������½���¹������ WebIntents ��������Ï����䏢����»��������������򏪴��ԏ���

���·���������������ޏ��������·�����������쏢���������������������Ï�𡭏������������������¹��¡򏪳��䏪����������µ¹���·�����������졭������������·���������¹��¡�

���µ��������¡��򏪮�����돪�½���������POST��������¡񏪳������̏���돫������Ӣ�½���������»�������������������������API������ "Web Intents" ������������������������¼���������¾������²���������¹��¡�
���³������¡�"Web Intents"��������¡�Android������ "Intent" ������������¾�������������������»��������»��������������Ώ�������¡�돪叢����������Web\��\��\���\�ޏ��¼\·\���\��я�����¼«���³�����������·������¹���������³������������²������½���������¹������API���������¹��¡�Web\µ\���\������������ԏ��­µ����½���������Ð���·��¡񏪤¾������Web\��\��\���������µ����½�����ҏ����̏����Џ��¹���������³����������²������½�����������������������ď�������¡�\¹\��ԏ��¼\���\���¼������Web\��\��\���������³«������������¼������½���·���������������������������¹��¡򏪿��̏����Џ��¹������\������¼\�����¼��������������������������������¡�¼�����·������������Web\��\��\��������ҏ����̏����Џ��������­������\���\���\���\������̏��­���������������¹��¡�

���³������API������¹¹��������½������¼���������������³��������������¡�

Deviceµ����½���������̏�����
\���\Ð\���\¹�������������������­������µ����½����\«\���\�����������¡�½»½��������ď���������������������\���\���\���\�����«�����������̏����Џ��¹��������¡�
Web of things
\¹\������¼\���\���\���\��я�����\���\���\��я�����������������\���\���\���\���\Ð\���\¹�����·���\µ���¼\���\¹������Web������¼������½���¹��������¡���������������������������������·��ҏ��̏�����Web
�����������������������ď�¡��򏢱��� Web ���̏�ď��²½�����ҏ�ď�����²�����������������������������������������䏢�µ���������������������������³������������������\µ���¼\���\¹������¼������½���¹�������������������ď�������¡�½�������ߏ������돪������ӏ��������ޏ�����¼�����¹������¹�����𡯏��������������������«���������������¹��¡�
Android Intent������������������»��������API���̏�¡�����Deviceµ����½������\���\���\���\���\Ð\���\¹�����·���\µ���¼\���\¹¼������½����������̏�ď�䏢������������������¡���������������������������������¡�\���\���\���\���\���\��я��������������������������«���������·���������������»������(��������������돪�½���������\���\��я��������­���������»�����я��������·������)��¡��³������������������������������������������¡�¼���²��я�����\��\���\���\������¼������¾���²��Ï��¹���������³���������������·��������¡��򏩡��䏢����\��\���\���\������¼������������ "Web Intents" ����������Ï����䏪���쏢����¹�����𡯏������������½������»���������������������������������������¾���²��Ï��·���������¹��¡�

What's Web Intents?

Web Intents��������¡񏪢���������������½��ҏ����㏢���ď����������Ï����� Android Intent ���������������Ï�������¡�Web\��\��\���\�ޏ��¼\·\���\��я����������Ï��·�����ҏ����·������¹������API���������¹��¡�Web\µ\���\������«������ Web Intents ������API �����ҏ�����������½Ð���¹��������¡�picker\���\��\���\���\��Ï��̏��폢����¾������̏�������¡񏪩Ð�����ď�돪Џ����Ώ�����Web\��\��\���\�ޏ��¼\·\���\��я���\���\¹\������½¼�����µ���������������¹��¡�\������¼\�����¼��������¡��½�������������«������������돪؏�����Web\��\��\��������ҏ����쏪���ҏ��·��¡��½������\µ���¼\���\¹�����ҏ����̏����Џ��¹���������³���������̏��������­���������¹��¡�

������𡯏��Ð��¡񏢱½¾��؏�����Web\��⏢�¼\��������� mailto: ������»������������¹��������������¡�OS���������Ð�����ď��µ������������������������\������¼\������¼����¼«�����µ�������돢�·���������¹���̏�¡��³�����������ҏ���GMail������»��������������ď�������������¡ߏ�����»�ߏ����������ď��³���������̏���������ď�������������ď������������������������������������«������»�ߏ��������������¹��¡��³���������������Ï�����\�ޏ��¼\¹������ Web Intents ������»��������Ï�������¡�\������¼\�����¼������¼«����̏�����»��������������ď�����Web Mail Service�����ҏ����쏪���ҏ��������­�����������������Ï����������������������������������������ġ������������������¹��¡�����𡯏��Ð��¡�GMail���̏��폢����¾������̏�������¡񏪡����ď�����\��\���\���\¹����������������¼«����돩���Џ������µ������������¾��؏����ӏ�������¡�\������¼\����������·µ�̏�돫�����²������������̏��½¼�����µ�����������������������������������Ģ����¹�����¡�돪叢����������Web\µ\���\�������ӏ�������¡�\������¼\��ď�����¼��؏��ޏ��������·��¡����·������¹���������³����������²������½���������������������������ޏ��������¹��¡�

���³��������������������������������¡񏪴��ď�ԏ�����Web\��\��\���\�ޏ��¼\·\���\��я����ҏ����·������µ���»���������³������������²������½���������·�����ď�¡�����𡯏��Ð��¡�\��\���\��\���\���\µ���¼\���\¹���������������Ï�������¡񏪤¾������Web\µ\���\���������\³\���\���\���\��������� iframe ������������������¹��Џ����Ώ�¡�HTML5 Messaging ( PostMessage() ) ������»��������Ï��³��������������¡�돪叢���������� Web\��\��\�������ӏ�����\������¼\��ď����·���������¹��ԏ����Ï��³������������²������½���������¹��¡�
���·���«���·���������̏�������¡����·������¹������Web\��\��\�����������¡�\µ\���\���������³«������¼��ԏ���»������������¹������·��������ӏ����������������������������쏢������¡񏪿��̏�����¼��ԏ����������·������¹������Web\��\��\��������ҡ���Ï����䏪���쏢���������������쏪���ҏ��¹���������³������������½Ð���������������»�����я��������·�����ď�¡򏪢��������̏�����\������¼\�������������������������𡯏��Ð��¡�\µ\���\���������³«������¼��ԏ��� GMail �����ҏ����쏪���ҏ��¹��������������¡�\������¼\�����¼������ Yahoo!\������¼\��� ������»��������������ď�������������������¡��½�����������ҏ��¾�����䏪���̏����Џ��¹���������³������������½Ð�������������������������������¹��¡�
���³���������������Ï�����¾��آ�·������²���·������¹�������������������̏�¡�Web Intents ���������¹��¡��¹��������������������¡����·������¹������ Web\��\��\������������쏪���ҏ��������³«������¼��ԏ��«�����������̏�����¼��ԏ��������������·��¡��½������»��Џ��¹������\������¼\�����¼������я��¹\������¾��آ�·�������ޏ�Џ�������������¡�¼«���³������Web\��\��\��������ҏ����쏪���ҏ��¹���������³����������²������½���������������������������¹��¡��½���·��������¡��³������������������̏�¡�Web \��\��\���������������������\���\Ð\���\¹µ����½���������̏����Џ�������¡�\���\���\���\���\Ð\���\¹�����·���������\·\���\���\��쏢���ҏ�¡񏢱½¼��������쏢�����������������������·���������¹�������³���������؏�����������¾��䏢돪㏢������¡�¼���²��я��������������·���������¹������¡�
wi-0

How to use Web Intents API

���½��������������������¡����Џ��������쏢����»����������������������������������������������������·���������¹��¡����������쏢¡�돪�²¼������������������������¡�¼¹������»��Џ�����������»�������������������Ï�����������������������������¡��򏢱���������¹¹������������������²������½���­���̏����������³�����������ҏ��¾µ�������������������µ��������¡�

Registration

Web Intents��������������¡����������돪���·������¹������Web\��\��\���������\���\���\���\�����������Ð�����ď��¹����������̏���ߏ��̏����������������¹��¡�Android Intent�����������������Ð��¡�\��\��\���������\���\���\¹\������¼\������¹���������������­���������Ð�����ď��µ���������������������ޏ��������¹���̏�¡�Web\��\��\������������������½�����Ï����������Ï��������ޏ��������������������­���������»�����я�¡��³���������ď�������¡񏪩Ð�����ď��·�����ď�����Web\µ\���\���������<head>��������������¡�<intent>\���\�돢����½��Џ��������³��������������¡�\���\���\���\����������¡��½������\µ\���\��������ҏ��Ð�����ď��·���������¹��¡����Џ��������쏢������������¡�돪�²¼���������������Ï�����¼���½������������¹��¡�

  1. Web Intent���������·�����������̏����Џ��·�����������Ώ��·������ Web \µ\���\��������� <intent> ������µ­½��ҏ��¹��������¡�
  2. �����̏�����¼��ԏ��̏�¡�¾���µ­������Web\µ\���\���������\��\���\»\¹���¹������
  3. \���\���\���\����������¡�<intent>������������¾��Ï����я����ҏ��«��������¡�\���\���\���\�����������½������\µ\���\��������� Web Intent ���������·���������Ð�����ď��¹��������¡�
���³���³��������¡�<intent>��������¡�돪�²¼���������������Ï�����µ­½��ҏ��·���������¹��¡�
<intent
  action="http://webintents.org/share"
  type="image/*"
  title="image share"
  href="share.html"
  disposition="window"
/>
action (required)
Web\��\��\������̏���²��ď�����µ����½��������돢돫��������ҏ����Ѣ�����¹���������«��¡ߏ�����¼�����¹��¡򏪮���돪؏���������»��⏪�я�����»���������²������½��¡�¾�����������������\¹\­���¼\���URL�����������������������������쏢������¡�����Ï��­µ����½�����ҏ����Ѣ�����¹���������³�����������ҏ��½���·��������������������¡����������쏢¡�http://webintents.org/share��������������¡��³������\¹\­���¼\���URL�����ҏ����Џ�����������¾���¹���������»�������������µ­½��ҏ��µ��������������������������¡�
type (optional)
Web\��\��\������̏���²��ď����ҡ�·��𡯏��������«��¡ߏ�����¼�����¹��¡򏪮���돪؏���������»��⏪�я�����»���������²������½��¡�¾����������������������� MIME type ������¼�����·�����������쏢������¡���������������������\���\��폢�¼\���\���\���������²��������������ҡ�·��𡯏��������³�����������ҡ돪؏�����·��������������������¡�
title (optional)
���³������Web\��\��\���������\���\���\���\�����¡�Web Intents������\���\���\«���¼��������¡��³������\���\���\���\������̏��½¼�����µ��������������¡�
href (optional)
Intent���Ð�����ď��¹������Web\��\��\���������URL��¡�¾���������Intent\���\�돢�̏�¡�http://example.com/ ������µ­½��ҏ��µ������������������������¾���¹�����¡�http://example.com/share.html ����Intent������\µ\���\������������·���������Ð�����ď��µ������������
disposition (default="window")
Web\��\��\������̏�¡��������������������Ï��������½¼�����µ���������������«������¼�����¹��¡�window������inline������»���������²������½�����������������������������쏢������¡�window������¾���¹�����������¡�돪叢����������Window���������½¼�����µ��������������¡�inline������¾���¹�����������¡�\���\���\«���¼���������������½¼�����µ��������������¡�
�돪�¾�����������������������¡�½���������������type������action���������Ð���¹������Intent������\���\���\���\�����������Ð�����ď��¹���������³����������½Ð���������������¹��¡�

Invocation

¼���������¡�������Web\��\��\������«��������¡�Web Intents �����ҏ����̏����Џ��¹������¼���½������������¹��¡򏪤¾������Web\��\��\���������½������������ҏ��������»�����ď����� type ������ action ������»������������·��������¡�Web Intents�����ҏ�����������½Ð���·��¡�\���\���\«���¼�����ҏ��½¼�����·���������¹��¡�

�����������돢¡�돪�²¼�����������������������Ï����� Intent \���\���\���\��\���\���������\���\���\¹\���\���\¹�����ҏ�����������·���������¹��¡�

var intent = new Intent(
  "http://webintents.org/share",
  ����image/png����,
  'http://hoge.com/image.png');
���³��������������¡�²��������䏢���Ң���Ï��­���¹������¾���¹��������ҏ������������·���������������������¹��¡�\³\���\¹\���\���\���\��ď����¡돫⏢ď�ԏ�������¡��½���������¾�������돪�²¼���������������Ï��������������������������¹��¡�
������1�돫⏢ď�ԏ�¡� action (required)
Intent���������Ð���·�������돪����������¹������ action ������»������������¹��������¡򏪮���돪؏���������»��⏪�я�����»���������²������½��¡�¾�������������������������¡�\¹\­���¼\���URL��������������������¡�share(����Ï��­)������»������������·������������������
������2�돫⏢ď�ԏ�¡� type (required)
Intent������½������������ҡ돪����������¹������\������¼\��ď����� type ������»������������¹��������¡򏪮���돪؏���������»��⏪�я�����»���������²������½��¡�¾�������������������������¡�MIME type(image/png)�����ҏ����Џ�������¡�png·���¼�돢����²��������䏢���ҏ����Џ��������������³������������¼�����·������������������
������3�돫⏢ď�ԏ�¡� data (required)
Intent���������������¹\������¼\��ď�����»������������¹��������¡򏪮���돪؏�����Object������»���������²������½����structured clone\��\���\��\���\���\������̏���̏����Џ��µ������������������¡����ď��������·��¡�돫⏢�­���������¹\������¼\��ď�����·���¼�돢������¡�action ������ type ������\���\��𡭏��������������������­������\���\��폢�¼\���\���\������������������¹����̏���ߏ��̏���������¡�¾�������������������������¡��½������»�������������\¹\­���¼\���URL������ http://webintents.org/share ������µ�̏��������µ�����������������������������ď�������¡��½������»����������������������������¡�²��������䏢����URL������»������������·��������������������¡����� canvas�����������������ҏ����Џ�������¡�data-url�����ҏ�����������·��������¡�돫⏢�­���������¹���³������������²������½)
���½���·��������¡�돪�²¼���������������Ï����� startActivity \���\½\���\��������ҏ����������ӏ��³��������������¡�Web Intents ������\���\���\«���¼���̏��½¼�����µ��������¡�\³\���\¹\���\���\���\��ď�����»������������·������ type ������ action ������\���\���\������¹������ Intent ������\���\¹\�������\���\���\«���¼���������½¼�����µ���������������¹��¡�
window.navigator.startActivity(intent, onSuccess, onError);
intent (required)
������������·������ Intent \���\���\���\��\���\���������\���\���\¹\���\���\¹������»���������
onSuccess (optional)
Intent���«������\������¼\��ď��̏����ӏ��������������­������»���(Intent�����Ï�����postResult()�����ҏ����������я�����»���)������ callback �������ď�ԏ�¡��³�����¡������ď�ԏ����������돫��돫⏢ď�ԏ����� Intent ���«������������\������¼\��ď���³������¼���µ��������������¡�
onError (optional)
Intent��������¡�½�����������¼��돪���ԏ��·�����ď��������­����Intent�����Ï�����postFailure()�����ҏ����������я�����»���)������ callback �������ď�ԏ�¡��³�����¡������ď�ԏ����������돫��돫⏢ď�ԏ����� Intent ���«������������\������¼\��ď���³������¼���µ��������������¡�
¾���µ­¼���½�����������¡񏪱½¼�����µ������������\���\���\«���¼���«������\������¼\�����¼����Web\��\��\��������ҏ����쏪���ҏ��¹��������������¡�Intent�����Ï�����½����������̡돫⏢�­·��Џ��̏��������������¹

Intent������������������½Ð���µ�����������ď�돪�����\������¼\��ď�����½��������򏪴��򏪳���

\���\���\«���¼·Ð���³��������¡�Web\��\��\������̏��������Ð��������������������¡�

window.intent
��������¡�³���¼���\������¼\��ď���³������¼���µ���������������������������¹��¡�����𡯏��Ð
window.intent.data
��������¡񏢱���������½Ð���·�����Ï��«������»������������µ������������\������¼\��ď���³������¼���µ���������������������������¹������������¡��½���������������Ð���¹������½�������������¹��ԏ����������ď�������¡�
window.intent.postResult(some_data);
���������·��������¡�½��������򏢱���������\������¼\��ď�����»������������·������ intent.postResult() �����ҏ����������ӏ��³��������������¡�\������¼\��ď��̏�����������½Ð���·�����Ï��������������������������¹(startActivity()���������������ѡ돫⏢ď�ԏ�����»������������·�����ġ������ď�ԏ��̏��������Ð���������������¹������¡��³������»��Џ�����\������¼\��ď�����·���¼�돢������¡�action ������ type ������\���\������µ�̏��������µ������������»���������������½¾���������������¹����¾�����������������������http://webintents.org/share��������¡��³������»�������������µ­��돪䏢�µ���������������������������¹������¡�
�����������쏢¡�½�������������¼��돪���ԏ��·������¾���¹�����������¡�intent.postFailure()�����ҏ����������я��������������������µ��������¡򏢱���������½Ð���·�����Ï�����½����������̏�������������¡�startActivity()����������»��돫⏢ď�ԏ�����»������������·�����ġ������ď�ԏ��̏��������Ð���������������¹��¡�

\��\���\���\������¼\·\���\���\���\���\���\���\���

���½��돩Ώ�¡�Web Intents������\µ\����¼\������¹������\���\���\���\�������������������������»�����я��̏�¡��³������������\��\���\���\������¼\·\���\��я��¹������\���\���\���\���\������̏�����³«���µ���������������������������¹��¡�Intent�����ҏ�����������½Ð���¹�����Ï�¡񏢱���������½Ð���µ�����������������Ï��Ð������������¡�돪�²¼������Javascript�����ҏ�����������¹��Џ��������³��������������¡�Web Intents ������»����¹���³����������½Ð���������������¹��¡�

<script src="http://webintents.org/webintents.min.js"></script>

\µ\���\��\���\µ\���\���

http://webintents.cloudfoundry.com/��������¡�Web Intents������\µ\���\��\���\µ\���\��������ҏ�돫����������������Ώ��������·�����ď�¡�
wi-1
���³������\��⏢�¼\��������� head \���\�돩������������������¡�

<intent
  action="http://webintents.org/shorten"
  type="text/uri-list"
  href="shorten"
  title="Link Shortener(test)" />
<intent
  action="http://webintents.org/share"
  type="image/*"
  href="imageshare"
  title="Image Share(test)" />
��������¡񏩡��я����������� intent \���\�돢��µ­��돪䏢�µ�����������������쏢������¡�http://webintents.cloudfoundry.com/shorten������ URL �������»½���²½\µ���¼\���\¹(shorten)�����ҏ�¡�http://webintents.cloudfoundry.com/share��������¡�²��������䏢���¢���Ï��­\µ���¼\���\¹������Web Intents���������·���������Ð�����ď��·���������������������¹��¡�(������µ­��¡�\��\���\���\������¼\·\���\���\���\���\���\���\�����������������¡񏢱½¾��� http://webintents.org ������ Origin ������ localStorage ���������Ð�����ď��·���������������������¹��¡�)

���³���³��������¡�����𡯏��Ð "shorten" ������½��Џ��«������������\���\���\��я�����\���\���\���\������¹��������������¡�돪�²¼������\³���¼\�������¼���¹��ԏ��µ���������������¹��¡�

$("#urlshortner button").click(function(){
  var url = $("#urlshortner input").val();

  var intent = new Intent(
    "http://webintents.org/shorten",
    "text/uri-list",
    url);
  window.navigator.startActivity(intent, function(data) {
    $("#urlshortner .out").text(data);
  });
});
���³���³��������������¡�action = http://webintents.org/shorten, type = text/uri-list ��������¡�\���\���\¹\���\���\¹(intent)�����ҏ�����������·��¡�startActivity()��������¡�Web Intents�����ҏ�����������½Ð���·���������������������¹��¡��³���³��������¡��³������ type ������ action ���������Ð���·��������¡񏪢���������¼�����·�����ď����������Ï����� "http://webintents.cloudfoundry.com/shorten" ���̏��Ð�����ď��µ���������������������������¹������������¡�\���\���\«���¼���������������³������URL���̏��½¼�����µ���������������¹��¡��³������\���\���\���������\���\���\���\������¹��������������¡�½����������̏��³������\µ\���\����������돫⏢�­·��Џ��̏��������������¹��¡�
wi-2

http://webintents.cloudfoundry.com/shorten ��������������¡�돪�½���������

var url = window.intent && window.intent.data || null;
��������¡�Web Intents ���������������µ������������\������¼\��ď�����¼������������·��¡�
var shorten = url.length > 8 ? url.slice(0,8) : url;
��������¡񏪩������µ������������URL�����ҏ�돪�½���������8������»��⏢�������»½������·���������¹�������µ�����������������\���\���\���\­���������¹���̏�¡�����������\µ\���\��\��������������������Ï��³��������������𡭏�����¼������������������µ������ (^^;) ������¡�
wi-3

���³���³��������¡�"back to caller"������\���\���\��я�����\���\���\���\������¹��������������¡�돪�²¼������\³���¼\�����������������������¡�\������¼\��ď��̏�����������½Ð���·�����Ï��������������µ���������������¹��¡�

window.intent.postResult(shorten);

setTimeout( window.close, 500);
postResult()��������¡񏪪»½���������������URL\������¼\��ď����ҏ�����������½Ð���·�����Ï��������������·��¡�window.close() �����ҏ����������ӏ��³��������������¡��³������\µ\���\��������ҏ��������������������������������¹��¡�
�����������쏢¡�Web Intents ������\��\���\���\������¼\·\���\���\���\���\���\���\�����������������¡�\������¼\��ď�����¼��؏��ޏ��������·������postMessage()�����ҏ����Џ������������������������������������¹���̏�¡񏪤����돪�������window.close�����ҏ����������я��������·�����������Ï�������¡�postMessage������½����������̡��돪�»���·�����������������Ï�����������window���̏��������������������·��������������¡�\������¼\��ď����ҏ��������»�����������������ď�������¡�500msec�����ԏ����������ď�������¡�close���¹������½�������������¹��ԏ��������������������������¹��¡�

���³���������������Ï�����postResult()��������¡�\������¼\��ď��̏����ӏ��µ��������������������¡񏢱���������½Ð���·�����Ï����������� startActivity���������������ѡ돫⏢ď�ԏ�����»������������µ������������ callback �������ď�ԏ��̏�����������½Ð���µ������

function(data) {
  $("#urlshortner .out").text(data);
}
²������������������»½���������URL���̏��½¼�����µ���������������¹��¡�
wi-4

���³���³��������¡��µ�������������돪�²¼������URL������\��\���\»\¹���·���������¹��¡�


wi-5
¾���������\��⏢�¼\�����������¡�Web Intents������\���\���\µ\���\��������������������������������쏢������¡��������������������»½���URL������¼�����¹ Intent \���\�돢��µ­½��ҏ��µ���������������������������¹��¡�
<intent action="http://webintents.org/shorten"
  type="text/uri-list"
  href="shorten.html"
  icon="favicon.ico"
  disposition="inline" />
���³��������������������������¡�action = "http://webintents.org/shorten", type = "text/uri-list" ���������Ð���·��������¡��·�����ď����� http://demos.webintents.org/shorten.html����Web Intent ���������·���������Ð�����ď��µ���������������·�����ď�¡�

���³������¾��؏����ӏ�������¡����������á돫������㏪���������̏�����\���\���\µ\���\�������http://webintents.cloudfoundry.com/)������\��\���\»\¹���·��¡�"shorten"������\���\���\��я�����\���\���\���\������·�����������Ώ��������·�����������Ï�¡�picker��������������¡��·�����ď�����������²������Ð�����ď��·������Web\��\��\������̏��½¼�����µ���������������¹��¡�
wi-6

���µ��������¡��·�����ď��������Ð�����ď��·������ Intent ������������ disposition="inline" ������µ­½��ҏ��µ���������������������������·�����ď�¡��³���������ď�������¡��³������\���\���\���������\���\���\���\������¹��������������¡�\���\���\«���¼\���\��\���\���\��Ï�����������\��\��\������̏��½¼�����µ���������������¹��¡�
wi-7
���³���³��������¡�"return" \���\���\��я�����\���\���\���\������¹��������������¡񏢱���������½Ð���·���µ������\µ\���\������������»½���URL���̏����ӏ��µ���������������¹��¡�
wi-8
���򏪩��㏢������¡��­�����������я��������·�����ď��»½���URL���������¹������ :)

���³���������������Ï����� Web Intents ������»��������Ï��³��������������¡��½������»��Џ��¹������¹\�����Ώ������ޏ�Џ�������������¡�¹\���­���������»½���URL\µ���¼\���\¹�����ҏ����̏����Џ��¹���������³����������½Ð�����������������������Ï��������������������������¹��¡򏪤¾��������������¡�²��������䏪����½���\µ\���\���������URL�����¢���Ï��­\µ\���\��������������������ҏ�¡�\������¼\�����¼����¼«���³�����������쏪���ҏ��������­�����������������Ï�������������������������������¡�\������¼\�����¼��������ġ�·��ď�����Web\��\��\���\�ޏ��¼\·\���\��я����·�������¼������½���������­���������¹��¡�

������������������

����²��я�������¡�Web Intents�����¡���Ï����䏪���쏢����¹�����𡯏���������»�������������������¾���²��Ï��·���������·�����ď�¡�Web Intents������»��������Ï��³��������������¡�\������¼\�����¼��������ġ�·��ď�����Web\��\��\���\�ޏ��¼\·\���\��я����·���������¼������½���·��¡�Android \���\���\���\���\������������������Ï�������¡񏪱��ԏ��­µ����½���������Ð���·��¡񏪤¾������Web\��\��\���������µ����½�����ҏ����̏����Џ��¹���������³��������������¡�\¹\��ԏ��¼\���\���¼������Web\µ\���\���������³«����������²������½���������������������³���������̏����쏪��̏��«�����������������ď��������ޏ����ď��«������»�ߏ��������������¹��¡�

�����ď��������·��¡񏢱½��돩Ώ�¡�WebIntents������»������������������¹�����я�����µ������������µ��������������������������돪����������������¹������������¡���²���¾���²��Ï��·������»���������������������¹¹������������������²������½���­����¹������������³��������������𡭏������돪؏��������������µ��������¡�

���µ��������¡�Web Intents��������¡�Device µ����½���������̏����Џ�������¡�\���\���\���\���\Ð\���\¹�����·���\µ���¼\���\¹������¼������½���¹�����������ď�����������½�������ߏ�����API���������·��������¡񏢱½��돩�W3C�������������������̏�ď�����������������������������������������¹��¡�¼���²��я�������¡��³����������������¾��䏢돪㏢����������������������¾���²��Ï��·�����ď�����������»�ߏ��������������¹��¡�

Useful Links about Web Intents


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 22:36����Permalink����Comments(18)����TrackBack(0)����clip!

2011������12·���31������

WebSocket���«��������¡��³���������«������������Web�����ҏ��½�����叢�·�����������Ώ�����

WebSocket ���̏�¡�12·���12�����䏢����������������������RFC���������������������������·�����ď���RFC6455)��¡�\���\­\¹\������¾��������������ޏ�������������������¡�\Ð\���\���\������¼���¾�����������\µ\����¼\������µ��������¡�\³\���\���\·\���\��я�����\­���¼\�ߏ��¹�����������ď����������� ping/pong������������\³\���\���\������¼\���\���\������¼\���������������µ������µ���������������·�����ď�¡�rfc������������������²��������̏��������������¹������\Ð���¼\���\���\��я�������¡��½������¼���������·�������½Ð���������������������¹������������¡��½���³������\���\��\·\�����¼\·\���\��я�����»��������������Ώ��̏����Џ����������������������ď�������¡�돪�����돢����³���������¼«���³������»�����𡯏��½�����Ï����������������� subprotocol���̏�¡�IANA������\���\���\¹\���\������¼\·\���\��я��̏���̏���ߏ����������������������ď�������������¡��������«���������«���·���������«���������·������\��\���\���\³\���������»���¾������̏������������������������돫�¾����������¹��¡�

���µ��������¡��򏪮�����돪���������������������������¡��򏩡��䏢����\���\¹\�����������������¡��³������WebSocket��������������������¡��򏢱���������Web�����������������Ï������������������������������������«��������������������������¡񏪳������̏�돪���������������������������������������Џ����叢����½��Џ��­��������������������Ώ��������¹��¡�

WebSocket��������������¡����������������ď�����²��ď������������«����

���µ��������¡�WebSocket��������������¡����������������ď�����²��ď������������������·�����������Ï��«���폢�³�������������������Ð���·��������¡�돫������������쏢������������¡�

  1. Web������Push��������ď���²������½������������������
  2. Web���������Ð�����򏢱��Џ�������ď���²������½������������������
  3. Web������¹���������²½���������­������
�����������������������ď��������������̏��������µ���������������³���������̏����ď����������������Ï������������������������������������¹�������½���������¾��������¡���������������������¼��쏢�������¹��������������������������¡�\½���¼\������·���������·�����ď�����¡����ď�������¡��³���������������Ï��������������������������Ӣ���Џ��������쏢����»���������������¡ߏ�����\���\��폢�¼\«\¹�����ҏ������������������쏢������¡�WebSocket������������������䏢����¼�����·��������������������������������������𡯏��������»�����я�¡�����������¾������·��¡�Ð�������ߏ����쏢���� "What's WebSocket?" ������¹�����𡯏����ď��������������������������¹��¡�

·������������«�����������������������������Ï�������¡���WebSocket������Web¾�����������¡񏢱������¹������VPN�����ҏ�돫�����µ»½��Џ���������������¡ߏ�����������������»�ߏ��������������������������¹��������������������������¡񏪳���������»������«���������¹������¡�

���³���³��������¡�VPN��������������¡�\���\���\��ď��¼\���\���\���������²��Ï��·��������¡񏢱���������������\��\���\���\��㏢�¼\���\���\���\���\������¼\��������������䏪�³���¹�����������ď�����������µ»½��Џ���������¾����������¹��¡����Џ��������쏢������������¡�IP\���\��\���\���������\������¼\��ď����ԏ���̏�������¡񏪢��䏪�³���·�����ď�����������¼���������������\��\���\���\¹����IP-VPN��������¡�¼��ҏ����������ӏ����������䏪�³���¹������¾���¹�����������¡�¼��ҏ�����������\��\���\���\��㏢�¼\���\��\���\���\¹����������µ­½��ҏ��·�����������쏢�­��¡�

  1. \��\������¼\Ð\���������IP\��\���\���\¹��������¡�IP\���\��\���\�������VPN���������Џ�������������\²���¼\���\���\��\����������������������������­
  2. \²���¼\���\���\��\��������������С�¹½����������̏��������µ��������¡�\������¼\��ď����ԏ���̏�����½��Џ��«�������������������������돢�������������\��\���\���\¹����\��\���\���\��㏢�¼\���\��\���\���\¹����������������������\������¼\��ď��̏��������ޏ�����������������
������������������������¼���½�����������¡񏢱���������������\���\���\���\������¼\��������������Џ��������³����������½Ð���������������¹��¡�

VPN�����¡���Џ�������������¡�WebSocket�����ҏ�돩�������¾��⏢�·�����������Ώ�����

���µ��������¡�WebSocket�����������������ҏ��������¹��������¡�WebSocket������\��\���\���\³\���¼«�������̏�¡�¾���������VPN������»��������������Ώ�����������¾���������»�����������������������¹��¡�IP\���\��\���\���������\������¼\��ď����ԏ���̏�������¡񏪢��䏪�³���¹������WebSocket\µ���¼\Ð������URL����ws://example.net��������������������»������������µ�����������������쏢������¡�¼�����돪�����������ď�������¡��³������\µ���¼\Ð���¼���������Ð���·������¹��ԏ��������������������¹��¡�\·\¹\���\����돪������������������������������������¹���̏�¡�IP\���\��\���\���������»������������µ������������������������IP\��\���\���\¹��������¡�������������������\²���¼\���\���\��\�����������Џ��������쏢���������� Load barancer, proxy, URL router����������������������»������������¹��������������������������������¡�\���\���\���\�����̏��¾�����䏪���쏢���������䏪�³���¹��������¡�\µ���¼\Ð���¼�������������돪叢�������������������¹��¡�\������¼\�����¼���̏����䏪���ӏ����������䏪�³���¹������������������¡�URL������»������������µ������������WebSocket\µ���¼\Ð���¼���������������������������¹������������¡��³������������VPN������»��������������Ώ�����������¾���������»�������ď�����������������������𡯏��������¹��¡�
111231_0

����Џ��������쏢�������������ҏ����²���������·�����������Ï�¡򏪣���¾���������VPN������\������¼\¹\�ޏ��¼\¹���������·��������¡�VPN������¼��ҏ����������ӏ����������䏪�³���·��¡�\���\������¼\���\���\¹\���\���\���\�ߏ�����¼«������������PC�����������䏪�³���¹�����������������������Ï������������̏����������������¹���̏�¡��³������\������¼\¹\�ޏ��¼\¹������ WebSocket ������¼������½���¹������\µ���¼\���\¹������ ERICOM������������������²���¼��ҏ��̏����Ѣ�����·�����������쏢������¡�\���\���\���\�����«������\���\������¼\���\���\¹\���\���\���\��(VMWare View)�����ҏ����̏����Џ��¹���������³����������½Ð���������������¹����\���\���\µ\���\���������¡������ď�������¡�¼¹������»��Џ�����(2011.12.31)������������\��\������¼�����������������������䏪�³���������­���������»������
111231_2

½¾������������VPN�����������¡돫����������������·��������¡�\���\���\���\���\Ð\���\¹�������������Ð�ޏ�Џ�����������ߏ��­���̏����²���������������������¹��¡�¼�����돪�¡񏪢��������������²������\���\�����������¡񏢱���������������\½\���\���\���\��\������\���\���\¹\������¼\��������������������������������я����ԏ���ߏ��������¹���·��¡�iPad������������������\���\Ð\���\¹�����������������̏����Џ��¹���������³����������½Ð���������������¹��¡��³���������������ޏ�������������¡�½¾������������VPN�����ҏ����Џ�����������\���\������¼\���\���\¹\���\���\���\�ߏ��������̏����Џ����������������㏢¡�³���������������\��\���\Ð\���\������¼\������̏���������������������𡯏��������¹��¡�

¹¹��������¡񏪳������̏����������䏢�¹������\���\���\���\�����������¡��½���������̏����Џ�����������ߏ��­���������¹��¡�½¾������������\���\������¼\���\���\¹\���\���\���\�ߏ����̏����Џ�����¾���¹�����¡�

  1. �����䏪�³������\½\���\���������µ�������돢�·��¡�VPN�����������䏪�³���¹������
  2. \���\������¼\���\���\¹\���\���\���\�ߏ�����\½\���\���\���\��\������µ�������돢�·��¡�\µ���¼\���\¹������\��\���\»\¹���¹������
������������������������¼���½������̏���̏���ߏ��������·�����ď�¡�돫�������¡񏪢��������叢����¾���²��Ï��·�����ď�����������������¡�
  1. ���½������URL������\��\���\»\¹���¹������
���������ޏ�����½��쏢�������������������¹��¡�\������¼\�����¼��������¡���VPN�����������䏪�³���·��������������������¡ߏ������돪�¼�ޏ��¹���������³��������������������������¡�\·���¼\���\���\¹������VPN\µ���¼\���\¹������¼��؏��ޏ��������³����������½Ð���������������¹��¡�½¾��������������¡��ӏ��µ�돪�¼�ޏ��������Ï�������������¡�VPN�����ҏ�������������������������������������������¡ߏ����������������Ï��³����������WebSocket������������������²������½���������������������������ޏ��������¹��¡�

Web������\��㏢�¼\¹\��\���\���\���\���\��폢�¼\������������·��������¡�돪叢����������\���\���\���\������¼\������̏�돫�����������������������������

���³�����Ï�������������������������������������¡�Web��������¡񏪪�ޏ�����Web\��⏢�¼\�������\³\���\���\���\�������������\��\���\»\¹���¹�����������ď�����������»��������������Ώ�������������������𡯏��������������������������������¹��¡��������·��������¡�Web���̡���Ï����䏢����\��\���\���\���\���\��폢�¼\�����������������������¡��½���³������¾���������������������������\���\���\·���¼������\���\���\���\������¼\�������·���������µ��������������¡��½���·��������¡�\������¼\�����¼��������¡��½������������������\���\���\���\������¼\���¾���������¼«���³������¹��ԏ��­���������¹�����������������������Ï�����³��á���Џ����������쏢𡯏����������叢���Ï��̏����������ӏ��������������������������������������������������������������������¹��¡� 111231_1

¼�����돪�¡��³���������������Ï��������������������¡񡭏�叢������������돩Ώ��·���������¹��¡�Facebook, Twitter, Google+������������������\½���¼\·\���\���\µ���¼\���\¹���̏�¡񡭏�叢�������½�����������Ң���Џ��½²½���·�����������쏢������¡�\������¼\�����¼��������¡��½���������¾������������\���\���\���\������¼\�������������������������³������·���������������������¹��¡��½������\���\���\���\������¼\���������¡��½���������¾������������Friend List������������������¡�\���\���\»���¼\�������\���\���\���\���\��������������ҡ�¹���µ��������¡�\³\���\���\���\�ޏ��¼\·\���\��я�����������������\µ���¼\���\¹�����ҏ����̏����Џ��·��������������������ď��¼�돢������¡��������µ������Web¾���������VPN������������������¡�\µ���¼\���\¹���̏����Ѣ�����µ������������������������������¹�����𡯏��������������������¹��¡�

���½���·��������¡��򡭏�叢���������Ѣ�����µ���������������������������³������������������\µ���¼\���\¹��¡��½��������������¡񏢱½¾���Comet���������������Ð������������ HTTP ������\����¼\���\���\�돢���Ң����»������·������µ»½��Џ�����¾���������������������폢�������������������������¹��¡��½����������������¹���\³\¹\����������������������ď�������¡񏪢��폢�������̏���������������������¼«���³������\µ���¼\���\¹������¼������½���¹�������������������������¹�����������폪���я���²����µ��������¡�½¾������������VPN���������������Ï�����¼«���³¼«��돩Ώ�����\µ���¼\���\¹�����ҏ����Ѣ�����¹�������������̏�돢������Џ������������������������·�����ď�¡��·���«���·��¡�WebSocket��������¡��½���������������Ï����������폢����������²��ҏ����䏢�·���������¹��¡�³«������¼��ԏ�����½¾������������VPN���������������Ï�����¼«���³������\µ���¼\���\¹������¼������½���¹���������³����������²������½��������������������¡�\������¼\�����¼���������½������������������¼«���³�����������̏�����½Ð�����������������������Ï��������������������������¹��¡��½��������������¡�\������¼\�����¼���«���������«������\���\���\���\������¼\������̏�¡�IP������������������������Web�����������������������������쏢𡯏��������³������������²������½���������·�����������Ï�¡�IP���������½���³����Gateway���������������Џ�����¹�����������ď����������¢������������·�����ҏ�������������������¡񏪳��䏪���ӏ������돪؏��������»�������������������(\���\���\���\������¼\���������돪�½��쏪���Џ���򏪩���)��������¡�URL�����������������������������������Ï��������ޏ��������¹��¡�

�����Ѣ�����µ������������\µ���¼\���\¹��������¡�½¾���������«������Web����������叢���������Ѣ�����µ������������������������\µ���¼\���\¹���«���������·���������������»�����я�¡�\���\���\��\¹·���������\��\��\���\�ޏ��¼\·\���\��я��«���������·���������������»�����я��·��¡�\²���¼\������«���������·���������������»�����я��·��¡�\���\���\��я��������������«���������·���������������»�����я�¡��·���«���·��¡�½¾�����������Ѣ�����µ�����������������������ď���������������\���\¹\���\���\¹���­������µ����½���­���̏��̏����̏����������ď�������¡񏪤¾������\µ���¼\���\¹�����������·���²������½�����������������������ď�����������������½��������Ï����������̏�����½Ð�����������������������Ï��������������������³��������������¡����������я�����������������������\���\������¼\���\¹\������¼���̏��������������������������³������������¼���¾��⏢돪Џ����Ώ��������¹��¡�GMail��������¡�Google Maps��¡�Twitter, Facebook���������������̏�¡��³������������������������Web��������»����������������������½������������������¼���¾��⏢�·���������­���������·�����ď�¡�

WebSocket���̏�������ď�������������¡��½���������폢���������ҏ��������������·��¡�HTML5�������¾������API������·��������я��������������³���������������\���������쏢����\µ���¼\���\¹���̏��������������������������������������������·�����������Ï�¡�����\½���¼\·\���\���\µ���¼\���\¹������²���������·��¡��������������\���������쏢�������������������������Џ�𡯏�������������������¡��½�����������ҏ����������؏��«������»��㏢𡯏������������������� WebSocket ����������������¡�������������������³���ď��·���������������������¹��¡�

\���\���\���\������¼\���²�돢�µ�����я����¡���Џ�������������¡��µ������������¹���»����·�����������Ώ�����

���µ��������¡�\���\���\���\������¼\���²�돢�µ�����я����¡���Џ��������������«��������������¡��³������������������ TCP/IP ������\��㏢�¼\¹���������·��¡�\��\���\���\³\���������������·�ߏ�����¹��ԏ����������������������ď��³������������������������¹�����𡯏������̏�¡�URL�����������ӏ��­��¹���������������³���������������¾���������������������»�����я�¡򏢱½��돩Ώ�������������¡�
���ӏ��³���������«������������\���\���\��ď��¼\���\���\���������ď��²½������\³\���\���\���\���������\��㏢�¼\¹������¹�����𡯏��������ޏ��������Ð��������������������������¡�
���������������������������������������������¹���̏�¡�WebSocket��������¡��µ���������������³������¹�����𡯏��������ҡ돫�����������돢ď�����µ���»�������������������������Ï�����������������¹�����𡯏��������������������¹��¡�
���ӏ��³���������«������������\���\���\��ď��¼\���\���\���������ď��²½������ URL ������¼�ޏ��������µ������������²¾�����只���쏢����\���\���\���\������¼\���������\��㏢�¼\¹������¹�����𡯏��������ޏ��������Ð��������������������������¡�
�����������������������ď��������³���������������·�����������Ï��«(������������������������������¹��Џ����я����������������Ï�������¡�¼�ޏ��������µ������������\���\���\���\������¼\�����������ޡ돪������� Origin �����������������������я����������������Ï����������������只�������·���������������������¹������¡�

URL��������¡�½¾������������\���\���\��ď��¼\���\���\��������������������Ï����� IP\��\���\���\¹�����������������ӏ��·���������¹������������¡��½������\���\���\���\����¼������¹��ԏ�������������¡�TCP������\����¼\���������¹������������������Ï�������¡�WebSocket������¾�������������돢����������������������\��\���\���\³\���������¼�ޏ��������¹������������������������¡��½������\��\���\���\³\���������¼����������̏���̏���ߏ��������������������������­���������¹��¡� ���½������������³��돪���ӏ��¹�������������̏�¡�WebSocket������ subprotocol ���������������������������·�����������Ï�¡�WebSocket���� RFC �����������������������ď���¡�¼�������������������������������¡��½������¾�������������돢���� subprotocol ��������������������������������̏��³�����������я��������������������������«��������������¡��½��������������������������¡�WebSocket¾������������������������������������µ������������\������¼\��ď��������������Ώ����䏪�³���­���̏�������������������¡�Web������¹¹��������ď��²½���·���������������������������·�����������Ï�¡�(subprotocol����RFC������²��������̏�������¡�IANA������������registry���̏���̏���ߏ����������������������ď�������������¡񏪤������­���������½�����������ҏ�����²����·���·���������¹����
111231_3

�����������ď�¡�Web�����������Ѣ�����µ������������\µ���¼\���\¹���̏��������­�����������Џ�������������¡�\���\���\��я��������������������������Ï�����\���\��\���\���\���\���\µ���¼\���\¹���̏����Ѣ�����µ�����������������������Ï�������������������������¡��½������������²¼���«������»��㏢𡯏�����IP�����ӏ��������½������²¼������\������¼\���\���\���\���\���\���\�����������������¡��³�������������������돪�¾���������������¼�������µ��������������������������������������Ï��������������������������·�����������Ï�¡򏪪���ޏ�����̏��������­��������¡�\���\¹���̏��������­��������¡񏪤��ѡ돫������¢�¹�����������ӏ��������������ޏ�����\»\­\���\���\���\������¹��·���������¼��؏��ޏ����������������Ï����������ӏ�������������¡��³���������«������������Web�����������Џ��­����������������\µ���¼\���\¹�����ҏ����Ѣ�����¹���������³������������½Ð���������������»�����я�¡����ӏ���������ޏ����������������⡭���������������·������·�����������������������»�����я�¡�

���½���·��������¡�\���\���\��ď��¼\���\���\���������������\���\���\���\����¼��������¡����������á돫�������½�������ߏ���������������������������\������¼\���\��\���\��\��\���\���\³\������������¹��¡�SNS����������³��Ï�������¡�\������¼\���\��\���\��\������¼\���\�����������¡�\½���¼\·\���\���\��\���\��؏��̏��½�������������������ď�������¡�Internal ������\������¼\���\��\���\��\��\���\���\³\�������RIP������OSPF�����������������ӏ�����������¡�\������¼\�����¼���̏��ӏ��������������������쏢¡ߏ�����²����·�����ď��������­��������¡���\���\���\������¼��¡ߏ��·�����ď��������­������\·\¹\���\���������������DB����������¹¹�����������������ӏ��·���������¹��¡�

���½������¹�����𡯏�������������������������¡���BGP���������������Ï����� External������\������¼\���\��\���\��\��\���\���\³\��������������������Ï����������������я����������������Ï��폢¡ߏ����������������Ï��³���������̏���̏����ҏ�����������������������¹��¡�\½���¼\·\���\���\��\���\��؏����ҏ�¡񏢱������¹������\��\���\Ð\���\�������\���\��\���\���\���\������������������������������������������­�����������������Ï�������������������������¡�����𡯏��Ð Facebook������Video calling��������¡�Google+ ������Hangouts����ӏ�����\���\���\���\���\���������\���\���\��я��������������̏��������­�����������������Ï��������������������������¹��¡򏪳�����������¡�\½���¼\·\���\���\��\���\��؏�����»���¾��Ï�������������������¾��䏢�·�����������������������»�����я�����������¡��³���������돢������������������¡ޏ����������������쏢�­���������¹���̏�¡񏪡��只���䏢�¹���������������ޏ�����\���\���\���\������·���������­���������¹��¡�

��돪������������Device·�������������������¹�����𡯏�������������¡�\½���¼\·\���\���\��\���\��؏�������¡�\���\���\��я�����¼��ӏ�����������������³���¼���µ��¡��������\���\Ð\���\¹���̡���������������������������������Ï��������������������«���������·���������������»�����я�¡��½�����я�������ď��������\���\�����Web������¾���������·��������я�������������¡��¹������������������ SNS ������ Web of things ���̏��»¹������·��¡��½���������̏�¡�������µ�̏��������������������������������������Ώ����䏪�³���µ�����������������������������������Ï����������������������я��������������������������«��������������¡�

VPN�����������������Ï����������؏����������ԏ���̏�����?

���µ��������¡��³���³����������������VPN��¡ߏ����������������Ï����������؏����ҏ���񏪲������·���������­���������·�����ď�¡��³���³��������¡�VPN�����������������Ï����������؏�������������¡񏪤¾������·��ҏ��̏��������������������������������������폢�·������\���\���\���\������¼\���������������������\���\���\��\���\¹���̢���������������������Ï�����»�ߏ��������������������¹����¼��ҏ����������ӏ�����·��ҏ��돢����������������������\������¼\¹\�ޏ��¼\¹��������¡��½�������µ·��ď�����¡��·���«���·��¡�Web������\��쏢�¼\��\��я�����������������������¡񏪡��������Ώ����䏪�³���µ���������������������������«���������³���½��������Web����·���������µ���������������­���������·�����ď��·��¡��򏢱���������ď��²½���������½���������̏���������돪���я��������������������������·�����������Ï�¡��½������¹�����𡯏����������� VPN �����������������Ï����������؏������������ޏ�Џ��·�����������������������������������������Ï�����������»�ߏ��������������¹��¡�

\���\���\��ď��¼\���\���\���������¾�����������¡�돪叢����������Web������������������\��\���\���\���\���\��폢�¼\������̏�돫�������������������¡򏢱������¹������\���\���\·���¼����������Ï�����������\���\���\���\������¼\�������\���\���\��ď��¼\���\���\��������������������Ï�����AS�����Ώ����ď����������������������������̏�돫�������������¡��½���������������̏����������Ώ����䏪�³���¹���������³��������������¡�Web������������������µ��Ï�����������\���\���\���\������¼\��� ���� One Web ���� ����·���������µ���������������������������Ï��Ï��Ï�����������������¹�����𡯏������̏���̏����⏢������¡��½�����Ï�����������������VPN�����������������Ï����������؏����������ԏ���̏����⏢���������������Ï�����»�ߏ�𡯏��������¹��¡�������µ»½��Џ�����������\���\���\���\����¼������VPN�����������������Ï���������¹½���������������������������·�����������Ï��̏�¡�¼����������������³���������½�������������돫������Ï��������·�����������Ï�������¡�


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 11:04����Permalink����Comments(10)����TrackBack(0)����clip!

2011������10·���19������

���������«������\���\���������\���\���\������¼\��\������·���������·�����ď�¡�

��������������������������������ޡ��·����������¾���Ð��¡�»���½���������½��쏢����������¹��Ï��²��¡�����������������²�����𡭏��·���������¹���������������������������­���������·�����ď�¡򏪢���½µ�����ӏ�������¡�¼«�����Ï���������������\���\���\²\��я�돪⏢����¾���¾¾��돪⏢���ҏ�ġ�𡯏��������·�����ď�¡�돪��������¡񏪤�����«���̏����ď����������؏����쏢����½������Ώ��������¹�����������ď�������¡�������������������������ġ������叢�������������������������������¹���̏�¡񏪲��Џ�����·�������돫����������������������������������Ð������������������ď�������ҏ����²�����������������䏢�������¹��¡�

�����¾��������������¡񏪢���½µ������¼���»�������������iPod Touch������iOS5������\Ð���¼\���\���\���\��\���\�ߏ��·�����ď��������³��������¡�iPod Touch���«������������MBA���«������������²»³���\������¼\��ď��̏��̏��������µ������¾�����𡯏��������·���������������������·�����ď�¡�¡�¡�\µ\����¼\������������������������·������������·��ҏ��̏��������������������·��¡�»�������ď����������Ï������������̏��¾���������������������������������·������ �����������������Ï�������¡�\���\���\�돢���������������ҏ����Ώ�����������µ������­���²�����Џ��������������������������������쏢�·�������·���«���µ������������»��ҏ�¡����������я��«��¡����������Ï������������������������������������������������ӏ��³������������iTunes��������¡����������ď����������������ď��������돪������������ޏ�������������������������¡ߏ�����������»�ߏ����������ď������������¹���̏�¡�·��������¼��돢����������CD������¹��������Џ��·���������·�����ď�¡��¹���������«���������������ޏ��������������¹��¡�\���\���\��\���\��\���\���\»���¼\�����������¡��ӡ돪�����돪���������������ď������������������¹���̏�¡��������������·���������������¹���«���폢¡ߏ����Ώ����ď�����������³����������½Ð��������¡񏪱������ޏ�����\��쏢�¼\���������¹¹�����������³«���������¹��¡�

���������«������\���\���������\���\���\������¼\��\���

���µ��������¡񏪳��䏪�������������¹��¡�Chrome������14���̏�¡�dev������½Ð���������«������µ������������������������������������������ޏ����������������ď������������¹���̏�¡�WebSocket������\���\���\���\��¼���������\Ð���¼\���\���\��я��̏��·���·���������������������������ď����rev10������¡񏪳������̡돪�����돢�«������������³«���·�����������������ď��ӏ��������«������\���\�������¾���²���\���\���\�돢�������³������������������¡ߏ�������¡��¹���������«����������돢�«���������������������������������������������·�����ď�¡����돪�����돢����rev(00)������������\��\���\���\³\��������������Ρ�¹���­���̏���������������

���³���³��������¡�socket.io v0.8����rev10���������Ð�ޏ�Џ��·�����ď��³����������������������¡�WebSocket������\���\���\���\���\���¹¹���·������¹��ԏ��������������·�����ď�¡�돪�����돢����������������������¡�pywebsocket + apache�����ҏ����̏����Џ��·�����������������ď������������¹���̏�¡����������Ï�����\���\���\¹\������¼\�������¾���¼������������������«���������«�����������ď����ď�������¡�node.js + socket.io����������������¹������������»������²��Џ�����������\���\���\������¼\��\������·���������·�����ď�¡������³������돪�¡��³������������������»���������������������������VPS���̏�¡����������Ï���������돢돫��̏����ԡ돪������������������������ď����ď�������¡��·�����ď��������ӏ��µ������������������VPS��¡����������·�����ď�����·��������я��·���������·�����ď�¡���

wakachi

\µ\���\���������URL��������¡�http://www19072u.sakura.ne.jp/��¡򏪲��㏪����������\���\¹\������¾���������¹���̏�¡񏪳������̏����������������������ď���������1972���������������ҏ���񏪡��叢�µ���»������URL������������������¡��ӏ����������я��������������µ���������·��¡������������������������«��������¡ߏ�����������������������¡��»���������«������������������������¡�\���\��\���\��ѡ���������������ޏ�Џ��������Ð�ޏ�Џ���������»�ߏ��������������­������������¹¹���·���������·�����ď�¡�

WebSocket pipeline������½¾������������HTTP��������������¡��������«������������½���������»��С���ӏ���10������돪�¾����돪叢�����������������������½������������������������¡�돪����·������FireFox7���������������Ð�ޏ�Џ�¡򏪿������¹������\��\���\���\���\���\��폢�¼\���������»����»�����������������Ï��������������������������·�����ď�¡򏪤�̏��������·�����������Ώ�������������¡�FireFox7��������¡񏪡�����������쏢����½���������»��С���ӏ���Chrome������Safari�����������������㏢¡�WebSocket������HTTP������\¹\������¼������·���²������̏��������������������������·�����ď�¡�돪������node.js������\������¼\���\���\��\���\¹\�����������¡�FireFox������������\���\Ð\���\����������­������������socket.io������������ď��̡돪����������¹������������������������\���\¹\������̏����������������·�����ď��̏�¡��³���������؏��̡����·������·����������������������\¹\������¼����������̏�¡�\���\���\���\������¼\������������������������\���·�����������������«���������·���������������»�����я�¡�

�����������������Ώ�������¡񏢱½¾��؏�����\���\���\���\������������̏��������·�����������Ώ�������������¡�safari5���̏����⏪����������¹��¡����ď�������¡��³������������safari5���������Ώ��̡돪�����돢����\Ð���¼\���\���\��я���������돢���������������쏢������¡񏪴��ď�������������������������������돢돫��·����������������������WebSocket������돪����·\Ð���¼\���\���\��я�������������¡�XOR������\���\¹\­\���\�돢�µ������������\������¼\��ď��̏����ҡ�¹���µ�������������������³���������«��������¡�½�����������·��⏢���������ď��������«���������폢����¹�����𡯏��������������������¹��¡�

���¾��������������¡�ġ����¹������µ����½³������\���·�����ď������������������������������ď�������¡�����������������������������������²���½������·������������������������»�ߏ��������������¹��¡����������������Џ�������¡�³��⏢�·���������������¹������:)


��ď��µ���\���\���\��\���\���\­\���\�돢����
kotesaki at 02:06����Permalink����Comments(3)����TrackBack(0)����clip!

2011������04·���07������

CSS3 transition�������돫������Ï���돢�­�����ҏ����»��Џ��������«���ޏ����������Ώ�����

���򏩡��䏢����µ­»��ӏ�������¡�돫ҏ����䏢�����돫⏢�­���³���­�����只���̏���JavaScript\³���¼\���\��\���\�� \���\¹\���\��\���\���\���\��\¹ ¹���������«������·��̏����������\³���¼\��������ҏ����⏪¡�������������½��Џ����������ď�������������¡ߏ����������돢���������ď�����������¹������������»��������������¹�������������������������¹��¡�

�����я��������µ�����я����������������돢���������ď�����������¹������������»�������돪�²¼����������������

»���������¾���¹���������css3������\��\���\������¼\·\���\��я����ҏ����я���ޡ���䏢�������������я�����¼���¹��ԏ��µ���»�����ď������������������¹��¡�
������𡯏��Ð��¡�div���̏�돢��ޏ�Ï�����10px�����������������������ď����䏢�·���������������������¹��¡�
���½������¾��؏����ӏ���������������¾���²¼������������\��\���\������¼\·\���\��я��µ���»���������³������������½Ð�������������������������·�����������Ï��«��¡�
���³������������������������������������»����·�����������Ώ��������·�����ď�����������¡�\µ\���\��\���\���\�������\³���¼\��������ҏ�𡯏�¡�POST���·���������¹��¡�

¾���¹��������Ώ�������Ģ�����돢�·���������̏�������¡�����������������������\���\���\���\�ߏ��µ���»�����������ď���������������������

��돫����������������Ώ�����\µ\���\��\���\���\���������»���������������²¼��ď��������¼�����·���������¹��¡�

����돢돫����������½���������������������������¡�0.2�����������쏢�­��������¡�\���\���\¹\��ď��¼����\���\���\������������ҏ�돢��ޏ�Ï�������Ģ�����돢�µ���»��¡�"JUMP!!"\���\���\��я�����\���\���\���\������¹��������������¡�2���������«���ޏ�����\���\���\���\�ߏ��¹�����������������������Ï������������������¹��¡�

���³������������CSS3 transition��������������������������¡�

-x-transition: all 0.2s;
�����������Ώ��������·��������¡�²�򏪴��򏢱��Џ�����Ģ�����돢����left\��\���\���\���\�����ҏ�¡�\���\���\���\�ߏ�����top\��\���\���\���\�����ҏ�����¹¹���¹��������������¡��¾�����򏢱��Џ�����������������0.2���������«���ޏ������돪䏩��돢�¹������\��\���\������¼\·\���\��я��������������������������·���������������������¹��¡��³���������ď�������¡���\���\���\���\�ߏ�����2���������«���ޏ���������������������������������돢�«���¹��¡ߏ����������������������������돢¡�»�������돢�������³���������������������������������·���������������������¹��¡�

\���\���\���\�ߏ����Џ�������¡�<div>�������돪�������

���½���³��������¡���²��я�����\���\���\¹\��ď��¼������<img>������<div>�������돪������Ώ�¡�img\���\�돢����������������������������0.2���������«���ޏ�����²�򏪴��򏢱��Џ�������Ģ�����돢¡�div\���\�돢������������������������������¡�2���������«���ޏ�����������������������������\���\���\���\�ߏ����������������Ï����������Ï�������¡��½���������¾��������¡�돪叢����������-x-transition������\���\���\������¼\��ď����ҏ����ď�𡯏��������³���������������·���������·�����ď�¡�(������µ¹¾�����¡�div������\���\���\���\����������������������½¼�����·���������������������¹) ���³���­�����ҏ�����������
��ď��µ���\���\���\��\���\���\­\���\�돢����

kotesaki at 00:43����Permalink����Comments(9)����TrackBack(0)����clip!
\��\���\»\¹\«\���\���\��ď��¼

    <% for ( var i = 0; i < 7; i++ ) { %> <% } %>
    <%= wdays[i] %>
    <% for ( var i = 0; i < cal.length; i++ ) { %> <% for ( var j = 0; j < cal[i].length; j++) { %> <% } %> <% } %>
    0) { %> id="calendar-47184-day-<%= cal[i][j]%>"<% } %>><%= cal[i][j] %>
    QR\³���¼\���
    QR\³¼\