
ããããªãŒã»ããã£ã³ïŒxbSoftwareïŒ
仿¥ã¯ãnw.jsãã¯ãããžãŒã«ã€ããŠèª¬æããŸããç§ã®ãã¬ãŒã³ããŒã·ã§ã³ã®ã¹ã©ã€ãã®ã»ãšãã©ã¯ãããã«å°å¿µããŸãã ãã®ãã¯ãããžãŒã«ããããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãéçºããhtmlãjavascriptãcssã§äœæã§ããŸãã ããã«ãã¢ããªã±ãŒã·ã§ã³ã¯ã¯ãã¹ãã©ãããã©ãŒã ã«ãªããŸã-WindowsãLinuxãããã³Macã ããªãã¯ããããæ§ç¯ããããšãã§ãã圌ãã¯ã·ã¹ãã ã®ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ãŒã¹ãããªãã¡ ã¡ãã¥ãŒãªã©ãåŒãç¶ã䜿çšã§ããŸãã
ç§ã®ååã¯ãã£ãïŒ
@nedudi ïŒã§ããç§ã¯XB Softwareã§åããŠããŸããç§ã¯ãã³ã¹ã¯åºèº«ã§ãã
管çé åçšã®ããããçš®é¡ã®Javascript webixã³ã³ããŒãã³ããäœæããŸãã 倧éã®ããŒã¿ã®å Žå-èŠã€ããŠèŠãããšãã§ããŸãã ãŸããã¢ãŠããœãŒã·ã³ã°ãè¡ã£ãŠããŸããããã«ã
html5.byãšããããã°ãæžããŠã
ãŸã ã ãã³ã¹ã¯ã«ã¯ã4frontã®ããã³ããšã³ãã³ãã¥ããã£ããããŸããã6ãæããšã«ãWhat the Hackãã宿œããŠããŸãããããã¯äººçã«åœ¹ã«ç«ããªãããã¯ãäœãã€ãã³ãã§ãã åèµ·åããããéåžžã«ã¯ãŒã«ã
ãããã¯ã«ç§»ããŸãããã
ç§ãã¡ã¯çãWebã¢ããªã®äœæã倧奜ãã§ãã ãããã誰ããWebã¢ããªã±ãŒã·ã§ã³ãå®è¡ããã®ã倧奜ãã§ãã ããããæ
éã«å²ã¿ã婿éããã¹ãããã»ããµãããªããã»ããµããããã«æ·»ä»ããŸããããããã¹ãŠã®éçºããåŒããã£ãŠããã ãã§ãã ããããæ£çŽã«èšããšãç§ãã¡ãä»äºã«äœ¿çšããã¢ããªã±ãŒã·ã§ã³ã®å€§åã¯ããŸã ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã§ãã ããã¯ãå®è¡äžã®ãã¹ã¯ãããã¢ã€ã³ã³ããããæ°é±éããã¯ã°ã©ãŠã³ãã§ãã³ã°ããå¯èœæ§ãããã¢ããªã±ãŒã·ã§ã³ã§ãã ãããã¯ãããçš®ã®ã°ã©ãã£ãã¯ãšãã£ã¿ãŒããã¡ã€ã«ãããŒãžã£ãŒããªãŒãã£ãªããããªãšãã£ã¿ãŒãããã€ãã®ã·ã¹ãã ãŠãŒãã£ãªãã£ã§ãã ãããŠããã¹ãŠããŠã§ãæè¡ã§æžããŠã¿ãŸãããïŒ ããã«ã¯ãã®ãããªéå£ããããŸã-ç§ãã¡ã®ã»ãã¥ãªãã£ãæ¬åœã«æ°ã«ãããã©ãŠã¶ã§ãã
Webãã¯ãããžãŒã§ã¢ããªã±ãŒã·ã§ã³ãäœæãããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®åçã§åäœãããããšããŸãã ã©ããªéå£ããããŸããïŒ ãæ¬²ããããšè¡šçŸããŸãã
- Webã¢ããªã±ãŒã·ã§ã³ãããã¡ã€ã«ã·ã¹ãã ãã·ã¹ãã ããã»ã¹ãã¯ãªããããŒããããŒããŒãã·ã§ãŒãã«ãããªã©ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãã
- ããã¯ã°ã©ãŠã³ãã§åäœããã·ã¹ãã ã®èµ·åæã«èµ·åãããªãã©ã€ã³ã§åäœããããšãå¿é
ããããšãªããå®å
šã«èªåŸçã«ãªã³ã©ã€ã³ã§åäœããããšãã§ããŸãã
- 人ãã«ã¡ã©ãšãã€ã¯ã«ã¢ã¯ã»ã¹ãããã³ã«ãã«ã¡ã©ãšãã€ã¯ã«ã¢ã¯ã»ã¹ãããã³ã«å°ããªãããã«ãããã
- Web GLãWeb AudioãWeb RTCããã¹ãŠã®æ°ããWeb APIãã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããããããåããšã³ãžã³ã§åäœããããšã確èªããŸãã ã€ãŸã ç§ãã€ã³ã¹ããŒã«ãããšã³ãžã³ã§ããããã©ãŠã¶ã«ãããšã³ãžã³ã§ã¯ãããŸããã
- ã·ã¹ãã ã¡ãã¥ãŒããŠã£ã³ããŠãããããçš®é¡ã®ãã¬ã€ã¢ã€ã³ã³ãäœæãããããã管çã§ããããã«ããå¿
èŠããããŸãã
- ããšãã°ãã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠããã«ã¹ã¯ãªãŒã³ã®ã¹ã¯ãªãŒã³ã·ã§ãããæ®ãããã§ãã
- ã·ã¹ãã éç¥ã䜿çšãããã
- ã¯ãã¹ãã¡ã€ã³ãªã¯ãšã¹ããè¡ããUserAgentã倿Žãããã¬ãŒã ã«GoogleãããŒããããã äžéšã®ãµã€ãã¯ããã¬ãŒã ã«èªã¿èŸŒãŸãããšããããããç¹ã§ããã«æµæãããã§ãã¯ããŸãïŒããã¯ãããã¬ãã«ãŠã£ã³ããŠã§ãããã©ãããããã³éãããã¬ãã«ã®ãŠã£ã³ããŠã«ã¯èªã¿èŸŒãŸããŸããã ããšãã°ãGoogleã¯äœããã®çš®é¡ã®ãã¬ãŒãTwitterããã¬ãŒã ã«ããŒããã芪ãŠã£ã³ããŠãèŠã€ããŠããã«ããŒãããããšããŸãã ããã«å¯Ÿæãããã
- ããã¡ãã®ããã«å
šç»é¢ã¢ãŒãã«ãããã®ã§ãããããããåºãã®ã¯ããã»ã©ç°¡åã§ã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³ãèµ·åããŠåäœãããã«ã¹ã¯ãªãŒã³ã¢ãŒãã ãã©ãŠã¶ã®ãã«ã¹ã¯ãªãŒã³ã§ã¯ãããŸããã
- ããŒã±ãããéããŠã¢ããªã±ãŒã·ã§ã³ãé
åžã宣äŒãããã çŸåšãå€ãã®åžå Žããããããã«ã¢ããªã±ãŒã·ã§ã³ãã¢ããããŒãããããšã¯éåžžã«ãã¡ãã·ã§ããã«ã§ãããã¹ãã³ã¢ããããããŒã±ãã£ã³ã°ã®åãããããŸãã
- ãããŠã·ã³ãã«ã§ãããéåžžã«éèŠã§ã-ã¢ã€ã³ã³ãã¯ãªãã¯ããŠã¢ããªã±ãŒã·ã§ã³ãèµ·åãããã§ãã urlãå
¥åãããããŠãŒã¶ãŒã«ãã®urlãå
¥åããããããããããŸããã ç§ã¯åœŒã«ãã®ã¢ããªã±ãŒã·ã§ã³ãæäŸãããã圌ã¯ãããã€ã³ã¹ããŒã«ããã¢ã€ã³ã³ãã¯ãªãã¯ããŠèµ·åããŸãã
nw.jsã䜿çšããŠWebããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã§ããããã¹ãŠè¡ãããšã¯å¯èœã§ããïŒ ã¯ããå¯èœã§ãã ããã¯éåžžã«ç°¡åã«è¡ããŸãã 話ãããnw.jsã®åã«ïŒåœŒã¯è¡šé¢ã«åºãŠäººæ°ãåºãã°ããã§ãïŒãä»ã«ã©ã®ãããªãœãªã¥ãŒã·ã§ã³ããããŸããïŒ
Adobe FlashïŒ
http://www.adobe.com/products/flash.html ïŒãChromeã¢ããª
https://www.google.com/chrome/webstore/apps-games.htmlïŒãTide SDKïŒäŸïŒTitaniumãã¹ã¯ããã-http
: //www.tidesdk.org/ïŒãApp.jsïŒ
http://appjs.com/ ïŒãBrackets ShellïŒ
https://github.com/adobe/brackets-shell ïŒãTintïŒ
httpsïŒ //www.trueinteractions.com/tint2/docs ïŒãªã©ã
ãããã¯ãã¹ãŠå€§äœåãããšãããããšããŠããŸãããããã¥ã¡ã³ããèªã¿å§ãããšãéåžžã«æ²ããããšã«ãªããŸãããªããªããç¬èªã®ã«ãŒã«ãåºç€ãããããã§ãã ãŸãã圌ãã®å²åŠã§ããAPIãçè§£ããå¿
èŠããããŸãã ç°¡åãªã¢ããªã±ãŒã·ã§ã³ãäœæããã«ã¯ãããã¥ã¡ã³ãã®äŸãããã€ãè§£æããå¿
èŠããããéåžžã«æéãããããŸãã ãããšãããã®ãã¯ãããžãŒã䜿çšããªãã®ã§ããããïŒ

nw.jsïŒ
http://nwjs.io/ ïŒã䜿çšãããšããã¹ãŠãã¯ããã«ç°¡åã«ãªããŸãã Webã¢ããªã±ãŒã·ã§ã³ãäœæããããšããããNode.jsãå®éšãŸãã¯äœ¿çšããããšãããå Žåã¯ã2æéã§åäœãã3ã€ã®ãã©ãããã©ãŒã çšã®ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
ç§ã®äž»èгçãªæèŠã§ã¯ãããã«ã¯2ã€ã®äŸ¡å€ã®ãããœãªã¥ãŒã·ã§ã³ãåžå Žã«åºåã£ãŠããŸãã ããã¯ããããã説æããnw.jsãšElectronïŒ
http://electron.atom.io/ ïŒã§ãã

ããã¯å®éã«ã¯nw.jsã®ãã©ãã¯ãŒã§ãããAtomãäœæããGithubéçºè
ã«ãã£ãŠéçºãããŠããŸããAtomIDEã¯Electronã§äœæãããŠããŸãã 以åã¯Atom ShellãšåŒã°ããŠããŸããããæåéã4æã«Electronãšæ¹åããŸããã
仿¥ã¯ããæã«ãããéžæãè¡ããŸãã ç§ã¯Githubã«è¡ããã©ããããå€ãã®æãããå€ãã®ã³ãã¥ããã£ãæã£ãŠããããèŠãŠãããªãã¯ãããã®1ã€ãèªåã§åã£ãã å®éãElectronã«ã¯éåžžã«é«ãæåŸ
ãããããã1幎以å
ã«Electronã«åãæ¿ããããšãæ€èšãã䟡å€ããããŸãã ãããã©ã®ããã«çºå±ãããã芳å¯ããªããã°ãªããŸããã ãããã«ããããããã«ã¯åºæ¬çãªéãã¯ã»ãšãã©ãããŸããã ãããã£ãŠã1幎ã§nw.jsããElectronã«åãæ¿ããããšã¯ããã»ã©é£ãããããŸããã ãããŠæåŸã«ããããã®åºæ¬çãªéãã説æããŸãã
nw.jsãããžã§ã¯ãã¯node-webkitãšåŒã°ããŠããŸããããæŽå²ããããŸãã

2011幎ãäžåœã®éçºè
ã§ããRoger Wangã¯ãNodeãšwebkitãã¯ãã¹ããŠWebã¢ããªã±ãŒã·ã§ã³ãäœæãããšããã¢ã€ãã¢ãåŸãŸããã 圌ã¯ãwebkitãChromiumã¬ã³ããªã³ã°ãšã³ãžã³ã§ãã£ããããnode-webkitãšåŒã³ãŸãããçŸåšã¯Blinkã§ãã 幎ãçµã¡ããããžã§ã¯ãã¯çºå±ãããã¹ãŠãé 調ã§ããããä»ã§ã¯ãã®ååã倱ããŸããã
2013幎4æãChromiumã¯BlinkïŒ
http://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.htmlã«ç§»åããŸãããã€ãŸããwebkitã¯å€±ããã2015幎1æãããããžã§ã¯ãã¯io.js
https://groups.google.com/forum/#!msg/nwjs-general/V1FhvfaFIzQ/720xKVd0jNkJã®äœ¿çšãéå§ããŸããïŒã Node.jsã¯ãã§ã«å€±ãããŠããŸãã Node.jsã¯ããã«æ»ã£ãŠãããããããŸãããããã¥ãŒã¹ãã倿ãããšã ãã®ããããããžã§ã¯ãã¯nw.jsã«ååã倿Žããããã®ãããªç¥èãªæå³ã§ãããã€ãã£ãWebã«çµã¿èŸŒãŸããŸããã Intelããã³gnor.netã§ãµããŒããããŠããŸãã
äž»ãªã¢ã€ãã¢ã
ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ããããŸãã Webã¢ããªã±ãŒã·ã§ã³ãšã¯æ ¹æ¬çã«ã©ã®ããã«éããŸããïŒ ã€ã³ã¿ãŒãã§ãŒã¹ãæç»ãããã·ã³ããã®å€æŽãäž»ã«è¡ããšããäºå®ã«ãã£ãŠãã ã€ãŸã ã€ã³ã¿ãŒãã§ã€ã¹ãæç»ãããã¡ã€ã«ãããŒãžã£ã䜿çšãããšããã®ã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããŠãããã·ã³äžã®ãã¡ã€ã«ã倿Žã§ããŸãã Webã¢ããªã±ãŒã·ã§ã³ã§ã¯ãåºæ¬çã«ããã¹ãŠãç°ãªã£ãŠç·šæãããŠããŸããäœããã¬ã³ããªã³ã°ãããã©ãŠã¶ãããããã¹ãŠãã©ããé ãã«ãããµãŒããŒã§å€æŽãããŸãã ãããã£ãŠãnw.jsã§ã¯ãéçºè
ã¯Webã¢ããªã±ãŒã·ã§ã³ããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã«è¿ã¥ããããšãæãã§ããŸããã 圌ãã¯ã©ããã£ãŠãããããŸãããïŒ

Nw.jsã«ã¯ãChromiumãšio jsã®2ã€ã®ã³ã³ããŒãã³ãããããŸãã
Chromiumãšã¯äœã§ããïŒ ããã¯ãChromeã«éåžžã«ãã䌌ããªãŒãã³ãœãŒã¹ã®ãã©ãŠã¶ã§ãGoogleãOperaãœãããŠã§ã¢ãYandexãNvidiaãªã©ã®å€§äŒæ¥ã«ãã£ãŠãµããŒããããŠããŸãã ã¬ã³ããªã³ã°ãšã³ãžã³ãšããŠã®Blinkã«åºã¥ããŠãããjavascriptãšã³ãžã³ã¯V8ã§ãã
C ++ã§èšè¿°ãããNode.jsã¯ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ãããã³ã«ã®ã¬ãã«ã§åäœããäœããã®ãããã¯ãŒã¯ã€ã³ã¿ã©ã¯ã·ã§ã³ããã¡ã€ã«ã·ã¹ãã ããã®ä»ã®ã·ã¹ãã ãããã«ã¢ã¯ã»ã¹ã§ããŸãã ã€ãŸã ãã®ããããµãŒããŒäžããã³äœããã®èªååã§ããå€ã䜿çšãããŸãã
äž¡æ¹ãšãV8ã䜿çšããŸãã åãV8ã ãã®ãããªååã®ç±æ¥ãç¥ã£ãŠããŸããïŒ

éçºè
ãV8ãäœæãããšãã圌ãã¯ãšã³ãžã³ãåºæ¬ãšããŠèããŸãã... V8-ãã«ãã¯æåVã§é
眮ãããŠããããã®ãã¡8ã€ïŒãã«ãïŒãããããã§ãã V8ãšã³ãžã³ã¯é·ãé䜿çšãããŠããŸããã
ç§ã®æèŠã§ã¯ã1902幎ã«ãã®ããšã¯ArianetãšåŒã°ãããã§ã«V8ã䜿çšããŠããŸããã

ãããŠãããã¯2015幎åã·ãã¬ãŒã«ããã§ãV8ã䜿çšããŠããŸãã

ãã©ãŠã¶V8ã®å¯¿åœãåãã§ããã°ãéåžžã«ã¯ãŒã«ã§ãã
V8ã«æ»ããŸãã äž»ãªã¢ã€ãã¢ã¯ããããã®2ã€ã®äžçãçµã¿åãããŠãåãã³ã³ããã¹ãã§åããšã³ãžã³ã®ã¯ãŒã«ãŒã«ããããšã§ãã ã€ãŸã èªå®
ããNode.js颿°ãçŽæ¥åŒã³åºããNode.jsã¢ãžã¥ãŒã«ãæ¥ç¶ããåç
§ã«ãã£ãŠãªããžã§ã¯ãã転éããåäžã®ã³ã³ããã¹ãã§äœæ¥ãã1ã€ã®ã€ãã³ãã«ãŒããäœæã§ããŸãã å
·äœçã«ã¯ãããã§Node.jsã¯Chromiumã®V8ãšã³ãžã³ã§å®è¡ãããŸãã
å°ããªäŸãæããŸãããã

Node.jsã«ã¯ããã¡ã€ã«ã·ã¹ãã ãæäœããããã®fsããããŸãã äœããã®ãã°ãã¡ã€ã«ã®å€æŽãç£èŠã§ããŸãã倿Žãçºçããå Žåã¯ãDOMèŠçŽ ãååŸããŠããã®ãã°ãã¡ã€ã«ã®å
容ãããã«æç»ããŸãã ããã¯ãµãŒããŒäžã§ã¯äžå¯èœã§ãããã¯ã©ã€ã¢ã³ãäžã§ãäžå¯èœã§ããããŠãŒã¶ãŒã®ãã¡ã€ã«ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããªããšããã ãã§ãã ãŸããnw.jsãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããã¯ãã¹ãŠæ£åžžã«æ©èœããŸãã
圌ãã¯ã©ããã£ãŠãããããŸãããïŒ
äž»ã«2ã€ã®åé¡ããããŸããã1ã€ã®äœæ¥ã€ãã³ãã«ãŒãã§ãã¹ãŠãå®è¡ããããšãšãåäžã®ã³ã³ããã¹ãã§åäœãããããšã§ãã ã€ãŸã ãŠã£ã³ããŠãã°ããŒãã«ããããŸãããNode.jsãšãã©ãŠã¶ããŒã¹ã®javascriptã®äž¡æ¹ãããã°ããŒãã«ã³ã³ããã¹ãããããŸãã 詳现ã¯ãã¡ã
-https://github.com/nwjs/nw.js/wiki/How-node.js-is-integrated-with-chromiumãã芧ãã ãã ã
ãã€ãã³ã°ãå§ããŸãã nw.jsã®äœ¿çšãéå§ããã«ã¯ïŒ nwjs.ioã«ã¢ã¯ã»ã¹ãããããããã«ããã©ãããã©ãŒã çšã®ãã¡ã€ã«ãããŠã³ããŒãããŠãä»»æã®ååã«åºã¥ããŠã¢ããªã±ãŒã·ã§ã³ããã«ãã§ããŸãã

HTMLãã©ãã«çœ®ãããCSSã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ãå¿
èŠãªæ¹æ³ãæ§é å
šäœã«é
眮ããã ãã§ã¯ã誰ãæããŠãããŸããã å¿
èŠãªã®ã¯package.jsonã ãã§ãã ãã®ãã¡ã€ã«ã¯Node.jsã¢ããªã±ãŒã·ã§ã³ãšãŸã£ããåãã§ãããããã€ãã®è¿œå ãã£ãŒã«ãããããŸãã

ãããã¡ã€ã³-äœæ¥ãéå§ãããã¡ã€ã«ã§ãã
ããŒãã«å¿
èŠãªãŠã£ã³ããŠãã©ã¡ãŒã¿ãŒãäŸåé¢ä¿ã®å€ãã®èšå®ã
ãã®åŸãChromiumãèµ·åãããã©ã°ãNodeãèµ·åãããã©ã°ãããã³ä»ã®ååãªã·ã¹ãã èšå®ãããã«è»¢éã§ããŸãã

次ã«ããã®ãããªã¢ããªã±ãŒã·ã§ã³ããã¹ãã±ãŒã¹ã«èšè¿°ããŸãã äžéšã®ã³ã³ãã³ããå«ãdivãäœæããCSSã远å ããŸããå®è¡ããå¿
èŠãããã®ã¯nwã¢ããªã®ã¿ã§ãã nw appã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãããã£ã¬ã¯ããªãžã®ãã¹ã§ãã åæã«ãç»é¢ã«ã¯æ¬¡ã®ãããªãã®ã衚瀺ãããŸãã

ã€ãŸã ã¢ããªã±ãŒã·ã§ã³ãèµ·åããã¢ã€ã³ã³ã衚瀺ãããŸãã ããã¯ãã©ãŠã¶ã«éåžžã«äŒŒãŠããŸãã å®éãããã¯ãã©ãŠã¶ã§ãããåãªãæ®éã®Chromiumã§ãã
ããããããã§ã¯ããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã§ããããŸã å€ãã®ãã®ãæ®ã£ãŠããã®ã§ãããã«ãã©ãŠã¶ã®ããã«ã¯ããããããŸããã
ããã«ã¯å€ãã®èšå®ããããŸããããããã®ããã€ãã«ã€ããŠç°¡åã«èª¬æããŸãã ããŒã«ããŒãåé€ã§ããŸããããã¯èšå®ã«ãããŸãã

次ã®ããã«ãªããŸãã

ãã¬ãŒã ãããã«åé€ã§ããŸãã ãã¿ã³ã§ãã®ããšã

次ã®ãããªãã®ã«ãªããŸãã

ãã§ã«ãã£ãšäœãã®ãããªãã®ã§ãã
ãã®åŸããã¹ãŠãéæã«ããããšãã§ããŸãã éæïŒ

ãã®å Žåããã¹ã¯ãããäžã«ããã¹ãã衚瀺ãããŸã-ãã©ãŠã¶ã®å
åã¯ãããŸããïŒ

ããªã¹ã¯modã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããŸãã

ããªã¹ã¯modã¯äž»ã«ããã¡ãã«äœ¿çšãããŸãã ããããçš®é¡ã®ç«¯æ«ãæ
å ±ããªã¹ã¯ããã¯ããã«ãã®ã¡ãã¥ãŒã衚瀺ããããããçš®é¡ã®å€§ããªããã«ãªã©ã«äŸç¶ãšããŠãã䜿çšãããŠããŸãã å
šç»é¢è¡šç€ºã§ãããããæãåºãã®ã¯éåžžã«é£ãããWindowsã§èª¬æãããŠããalt + tabãŸãã¯ctrl + alt + delã®æ¹æ³ã§ã®ã¿çµäºããŸãã ãããã£ãŠãããªã¹ã¯modã䜿çšããå¿
èŠãããå Žåã¯ã次ã®ããã«ãªããŸãã ç»é¢ãå®å
šã«å æããŸãã

ããã¯ãã«ã¹ã¯ãªãŒã³ã§ã¯ãããŸãããããŠã¹ãã©ããã«éãããŠãããã«ã¯æ®ããŸããã ãã®ããã«ã¯ããŠãŒã¶ãŒããã®ãã¹ãŠã®çŸããããæãåºãããšãã§ããããã«ããããã®ãã¿ã³ãæäŸããå¿
èŠããããŸãã ããããªããšããŠãŒã¶ãŒã¯ããã»ã¹ã§ãŠãŒã¶ãŒã殺ãå¿
èŠããããŸãã
ãŸãã¯ã次ã®ããã«ããŠã£ã³ããŠãªãã§ããã¯ã°ã©ãŠã³ãã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããšãã§ããŸãã

ããããçš®é¡ã®çŸãããã³ããä»ã«äœããããŸããïŒ

æšæºããã±ãŒãžã®Nw.jsã¯ãã€ã³ã¿ãŒãã§ã€ã¹ã®ããã€ãã®ã·ã¹ãã èŠçŽ ã管çããããã®APIãæäŸããŸãã ããããçš®é¡ã®ã¡ãã¥ãŒããã¬ã€ã¢ã€ã³ã³ãéç¥ãäœæããããšãå¯èœã§ãã¯ãªããããŒããæäœããããã·ã¹ãã ã·ã§ãŒãã«ããã䜿çšãããã§ããŸãã ãã©ãŠã¶ããŒã¹ã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³ã«ãã©ãŒã«ã¹ããããšãã«ãäœããã¯ãªãã¯ãããšäœããèµ·ãããŸãããã·ã¹ãã ã¬ãã«ã§ã®ããŒããŒãã·ã§ãŒãã«ããã§ãã ã€ãŸã ã¢ããªã±ãŒã·ã§ã³ã衚瀺ãããªããäœããã¯ãªãã¯ããã衚瀺ãããããŸãã¯äœãããã-ã¹ã¯ãªãŒã³ã·ã§ãããªã©ã ãããã¯ãã¹ãŠrequire nw.guiãä»ããŠæ¥ç¶ãããŸãã ããã¯æšæºã§æäŸãããŠãããã®ã§ãã©ãããã§ãæ¥ç¶ããå¿
èŠã¯ãããŸããã
ç°¡åã«èª¬æããŸãã ã³ã³ããã¹ãã¡ãã¥ãŒã

ãããã¯éåžžã«ç°¡åã«äœæãããŸãïŒãã®ãããªJavascriptãæžã-ã¡ãã¥ãŒãå¿
èŠã§ãããã®ã¡ãã¥ãŒã«ããã€ãã®é
ç®ãå¿
èŠã§ãã1ã€ã®ã»ãã¬ãŒã¿ãã€ãŸã ã¢ã€ãã éã®ã»ãã¬ãŒã¿ãããã³ã¡ãã¥ãŒã¢ã€ãã ã®1ã€ã«ããhelloãããã³ã°ã¢ããããŸãã å³ã®ãã¿ã³ã«ãã³ã°ã¢ããããããšããããããã®ãããªã·ã¹ãã ã¡ãã¥ãŒã衚瀺ãããŸãã

ã€ãŸã ãããŒã§ã¯ãã®ããã«è¡šç€ºãããWindowsã§ã¯ãWindowsãubuntãŸãã¯ä»ã®Linuxã絶察ã«Linuxã§è¡šç€ºãããŸãã
ãŠã£ã³ããŠã¡ãã¥ãŒã

åã話ã åãã¡ãã¥ãŒãäœæããã¡ãã¥ãŒããŒã®åœ¹å²ãäžããŸãã ãã¹ããããã¡ãã¥ãŒé
ç®ãæã€ã¡ãã¥ãŒãååŸããŸãã

ä»ã®OSã®ãã¬ã€ãŸãã¯ã¡ãã¥ãŒããŒã

ãŸãããã¬ã€ã«ã¢ã€ã³ã³ãäœæããããããããŠã³ã¡ãã¥ãŒããã®äžã«æããããšãã§ããŸããã¢ã€ã³ã³ãååããã§ãã¯ããã¯ã¹ãããããããŠã³ãªã¹ããªã©ããããŸãã ããããã¹ãŠè¡ãããšãã§ããŸãã

ããã«ãããã§åŒã³åºããããããã®ã€ãã³ãã¯ãã¹ãŠãã©ãŠã¶ãŠã£ã³ããŠã«å°éããããŒããŸãã¯DOMã§äœããè¡ãããšãã§ããŸãããããã¯éèŠã§ã¯ãããŸããã
ããŒããŒãã·ã§ãŒãã«ãã

ãã¹ãŠãéåžžã«ç°¡åã§ãã èå³ã®ããã·ã§ãŒãã«ãããã·ã¹ãã ã«ç»é²ããŠãã·ã¹ãã ã«ç»é²ããããšãããšããã®ã·ã§ãŒãã«ãããæ¢ã«ããå Žåã¯ããç³ãèš³ãããŸãããããã¡ã€ã«ãä»ã®ãã®ã詊ãå¿
èŠããããŸãããšããããã¹ããæžããŸãã ãã¹ãŠãé 調ã§ããã°ã圌ã¯ãããç»é²ããããã«å¿çãå§ããŸãã ã€ãŸã ãããã®ããŒã§ãŠãŒã¶ãŒãæŒããšããã¹ãŠã®ã€ãã³ããã¢ã¯ãã£ãã«ãªããŸãã
ã¯ãªããããŒã ã¯ãªããããŒãã

åã話ã ããã¹ãã¯ãªããããŒãã®ã¿ããµããŒãããŠããŸãããä»åŸãããŒã¯ã¢ããã§ãµããŒãããããšãçŽæããŸãããä»ã®ãšãããã¯ãªããããŒãã«äœãã眮ããŠã¯ãªããããŒãããäœããååŸã§ããŸãã ã€ãŸã ããŒã®çµã¿åãããæŒããŠã¯ãªããããŒããã¯ã©ãŠããªã©ã«éä¿¡ãããããªã¢ããªã±ãŒã·ã§ã³ãæ¢ã«äœæã§ããŸãã ããã§ãäž»ãªååã¯
害ãäžããªãããšã§ãã nw.jsã¯éåžžã«å€ãã®ã»ãã¥ãªãã£å¶éãåãé€ãããã§ãã ãŠãŒã¶ãŒãã¡ã€ã«ãåé€ããããã©ãã«ã§ãéä¿¡ãããããã¹ãŠãå°ç¡ãã«ãããã§ããŸãã ããã¯å®éã«ã¯ãŒã«ã§ãã èªç±ã¯ã¯ãŒã«ã§ããããã¹ãŠãå°ç¡ãã«ãããã®ã§ã¯ãããŸããã
ããŒã¿ã¹ãã¬ãŒãžã
ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããŒã¿ã¹ãã¬ãŒãžã¯2ã€ã®ã«ããŽãªã«åé¡ã§ããŸããéåžžã¯ãäœããã®çš®é¡ã®ããŒã¿ããŒã¹ã«æ ŒçŽãããæ§é åããŒã¿ãšãããã€ãã®éçãã¡ã€ã«ãã€ãŸã ãã®ã¢ããªã±ãŒã·ã§ã³ã®ããã€ãã®ããŒã«ã«ãªãœãŒã¹ãç»åããããªããªãŒãã£ãªãä¿åããå¿
èŠã®ããäžéäœã ããšãã°ããã¹ã¯ãããã°ããºãäœæããå Žåã¯ãå°ãªããšãçµæãææ°ã®çµæãã¢ããªã±ãŒã·ã§ã³ãäœæããå Žåã¯ææ°ã®ãªãŒãã³ãã¡ã€ã«ãããŒã«ã«èšå®ãä¿åããå¿
èŠããããŸãã

ãããã®éçãã¡ã€ã«nw.jsãå¿
èŠãªæ¥ä»ã«ä¿åããã«ã¯ã倿°App.dataPathïŒ
https://github.com/nwjs/nw.js/wiki/App ïŒãå¿
èŠã§ããããã¯ãã£ã¬ã¯ããªã§ãããOSããšã«ç°ãªããŸããã䜿çšããå Žåéçã³ã³ãã³ããä¿åããããã®ãã£ã¬ã¯ããªã§ããèœã¡çããŠããŠãããã«ä¿åãããŠããŠããã¹ãŠãããŸããããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ååã§æ§æãããŠããããããã®ãã©ã«ããŒå
ã®ã¢ããªã±ãŒã·ã§ã³éã§ç«¶åã¯çºçããŸããã
æ§é åããŒã¿ãä¿åããã«ã¯ãChromiumã§æ¢ã«äœæãããŠãããã¹ãŠã®ãã®ïŒæåŸã®Chromiumãæå
ã«ããïŒã䜿çšã§ããŸãããã®ãããWeb SQLããŒã¿ããŒã¹ãIndexedDBãWebã¹ãã¬ãŒãžãããŒã«ã«ã¹ãã¬ãŒãžãã»ãã·ã§ã³ã¹ãã¬ãŒãžãã¢ããªã±ãŒã·ã§ã³ãã£ãã·ã¥ãªã©ã§ãã ç§ã¯ã¢ããã€ã¹ããããšããã§ããŸããïŒããããçŽç²ãªåœ¢ã§äœ¿çšããã®ã¯ããŸãå¿«é©ã§ã¯ãªãã®ã§ãããããã®ãã©ã°ã€ã³ãnw.jsã§æžãããŠããŸãããç§ã®èšäºã§ããããã¹ãŠã®ãã©ã°ã€ã³ãã©ãã«ããããèšåããŸããã
ãããã° ãããã°ã§ã¯ããã¹ãŠãéåžžã«åªããŠããŸãã ãã®ãããªæ¹æ³ããããŸã-ããŒã«ããŒã«ãã®ãããªã®ã¢ããããŸãïŒ

ãããã¬ãŒãéããŸããååã®ChromãšãŸã£ããåãã§ãã ããªãã¯ãã¹ãŠããã«åæ¹èšå
¥ããŸãã Chromãšéãã¯ãããŸããã ããã«èªç±ã«ãããå Žåã¯ãããšãã°ãnw.jsãªã¢ãŒããããã°ããŒã1234ãå®è¡ãããã®ã¢ãã¬ã¹ã§åãChromeãããã¬ãŒãéããŸãã
Livereloadæ©èœïŒ
https://github.com/nwjs/nw.js/wiki/Livereload-nw.js-on-changes ïŒããã
ãŸã ã ã³ãŒãã倿Žãããšãã¢ããªã±ãŒã·ã§ã³ãèªåçã«æŽæ°ãããŸãã 圌ãã¯æ°ãããã®ãæãã€ããŸããã§ããããã©ã°ã€ã³ã䜿çšããŠããã®ãŠã£ã³ããŠããªããŒãããã ãã§ãã
ã¢ããªã±ãŒã·ã§ã³ã®ã¢ã»ã³ããªïŒ
https://github.com/nwjs/nw.js/wiki/How-to-package-and-distribute-your-apps ïŒã nw.jsã«åããŠééããå Žåã¯ããã¹ãŠãæåã§ããããšããªãã§ãã ããã ããã¥ã¡ã³ããŒã·ã§ã³ã¯ããªãã«ãã®ãããªäœããã¢ããã€ã¹ããã®ã§ïŒ

ããã¯ããã¥ã¡ã³ãã®ããŒãžã§ããããããèªããšãå€ãã®dllãLinuxã®ãã©ãã«ãªã©ããããŸãã æåã«æããã®ã¯ããã¹ãŠãããã®äžã§nw.jsã§äœæ¥ããããšã«ãªã£ããšããããšã§ãã ããããå®éã«ã¯ãnode-webkit-builderïŒ
https://github.com/mllrsohn/node-webkit-builder ïŒãšåŒã°ããçŽ æŽããããã©ã°ã€ã³ããã
ãŸã ïŒ

ããã§ã¯ããã®ãã¹ãŠããã§ã«èšè¿°ãããèªååãããæ©èœããŠããŸãã ããªããããªããã°ãªããªãã®ã¯ããããããŠã³ããŒãããã¢ããªã±ãŒã·ã§ã³ãžã®ãã¹ã§nwbuildã³ãã³ããå®è¡ããã ãã§ãããããŠãäŸãã°ãã©ã®OSããã«ãããããªã©ãç°ãªããã©ã°ãããããèšå®ã§ããŸãã åæã«ã圌ã¯ç»ãããã¹ãŠã®OSã®ææ°ãã«ããåãåºããèªåèªèº«ãããŒããããã¹ãŠããã«ãããããããã©ã«ããŒã«å
¥ããŸãã ã€ãŸã Linux 64ãLinux 32ãWindows 64ããããª32ãªã©ããããŸãã ãããã®ãã¹ãŠã®ããã«ã¯ããã§ã«å®è¡çšã®æ¢è£œã®ãã¡ã€ã«ããããŸãã ããªãã®ããã«æ®ã£ãŠããã®ã¯ãWindowsãLinuxããŸãã¯ãããŒã®äžã§ããããéãããšã§ãã
ç§ã¯äœãããŸãããïŒ ãã®ã³ãã³ããå®è¡ãããšãã¢ããªã±ãŒã·ã§ã³ã¯ãããŒã§æ¬¡ã®ããã«ãªããŸãã

Windowsã®å ŽåïŒ

確ãã«ãWindowsã«ã¯ãããããã©ã³ãããªãããããã©ã³ãã¯äœ¿çšãããŸããããæ¥ç¶ããŸããã§ããã
ãããŠãããã¯ubuntuã®äžã«èŠããŸãïŒ

ã€ãŸã ã¡ãã¥ãŒã¯ãUbuntuã®ã¡ãã¥ãŒãšåãããã«èŠããŸãã
nw.jsãšElectronãæ¯èŒãããã é»åãå¢ããå¢ããŠããããã§ãã å®éãnw.jsãšElectronã¯ããªãç°ãªããŸãã

Roger Wangãã¬ããŒãã®1ã€ã§ãã¹ããŒãžã®1ã€ã§node-webkitãéçºãããšããGithubéçºè
ã圌ã«èå³ãæã€ããã«ãªã£ããšãã話ããããŸãã ãããŠã圌ãã¯ããã€ãã®è³ªåããå§ããŸããïŒäœãã©ã®ããã«ããªãïŒ ãããŠãããããã¹ãŠãå
±æããããã®ã¢ã€ãã¢ããããŸããã ãããŠã圌ã®ã€ã³ã¿ãŒã³ã¯åœŒãšä»äºãããŸããã ããã«äœããæžããŠããç·ã®é£ã«ããŸã ãã°ããããŠãããã¯Githubã§æ¡çšãããElectronãæžãå§ããŸããã ãã®åŸãAtom ShellãAtomãElectronãäœæããŸããã ãããã£ãŠããããã®æŠå¿µçãªéãã¯ã»ãšãã©ãããŸããã éãã¯ãããŸãããæçµçãªéçºè
ã«ãšã£ãŠã¯éåžžã«å°ãããã®ã§ãã
1ã€ç®ã¯ãšã³ããªãã€ã³ãã§ãã nw.jsã§ã¯ãindex.htmlãã¡ã€ã«ãããã«éãããŠã£ã³ããŠã«è¡šç€ºããŸãã Electronã§ã¯ãJavascriptãã€ãŸã ããã«HTMLã衚瀺ããããã§ã¯ãããŸããã ãã®ãŠã£ã³ããŠãJavascriptã§äœæãã衚瀺ããŸãã ãããã¯ãããããã¹ãŠã®éãã§ãã Electronã§ã¯ããã«ãããã«ãããããã®ããŸããŸãªååããããŸãããååãšããŠç§ãã¡ãæ©ãŸããããšã¯ãããŸããããªããªããç§ã¯ãŸã ãã¹ãŠã®ããã¥ã¡ã³ããèªã¿ãããªãããã§ãã å
ã®Chromiumãã€ãŸã 以åã®Atomã·ã§ã«ã ã£ããšã¬ã¯ããã³ã®äººãã¡ã¯Chromiumã倿Žããããªãã£ãã®ã§ãã©ããããããããã«åºãŠè¡ã£ãã®ã§ãäžè¬ã«ã圌ãã¯Chromiumã«ããããé©çšãããChromiumã䜿çšããŸããã§ããã nw.jsã§ã¯ãããããé©çšããã»ãã¥ãªãã£èšå®ãªã©ãåé€ããŸãã
ãŸããå¥ã®éãã¯ã³ã³ããã¹ãã«ãããŸãã nw.jsã§ã¯ãã³ã³ããã¹ããäžè¬çã§ããå€ãã®ãŠã£ã³ããŠãäœæããå ŽåãElectronã§ã¯ç°ãªããŸãã ååãšããŠãåçŽãªã¢ããªã±ãŒã·ã§ã³ã®å Žåãããã¯ç¹ã«éèŠã§ã¯ãããŸããã Electronéçºè
ã®èгç¹ãããnw.jsãšã®éãïŒãã¡ãããElectronãžã®ãã€ã¢ã¹ããããŸãïŒã«ã€ããŠã¯ã
httpsïŒ//github.com/atom/electron/blob/master/docs/development/atomãã芧ãã ããã -shell-vs-node-webkit.mdãããŠãããã€ãã®è¯ãäŸã äŸã¯ãæãæåããå®çšŒåã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããŸããããæ§è³ªãç°ãªãã ãã®ã¢ããªã±ãŒã·ã§ã³ã§ãã ãã¶ããããªãã¯ããã€ãã®æèãéçºãããã¢ã€ãã¢ã«åºãããã§ãããã

æåã¯ãããã³ãŒã³ã¿ã€ã ã§ãã ãã¬ã³ãããæ ç»ããã¬ãçªçµãã¹ããªãŒãã³ã°ã§ããã¢ããªã±ãŒã·ã§ã³ã
ãã®çš®ã®ã¢ããªã±ãŒã·ã§ã³ãšã¯ç°ãªããå®å
šã«ãŠãŒã¶ãŒãã¬ã³ããªãŒã§ãããã©ã®ãã¬ã³ãããã©ã®ããã«ã¹ããªãŒãã³ã°ãããŠããã®ããæããŠãããŸãããå
¥ããããããã®ãã¬ãçªçµãããããã®ãã¡ã®1ã€ãéžæããŠèŠãããšãã§ããŸãã nw.jsã§æžãããŠããããããŒãWindowsãLinuxã§åäœããŸãã
ä»ã«ãã·ã¹ãã ã¢ããªã±ãŒã·ã§ã³ããããŸãã ããã¯ãmongoã®ç®¡çã¹ã¿ãžãªã§ãããmongoã®ç®¡çè
ã®phpã«éåžžã«äŒŒãŠããŸãã ãããmongoã®ãããªGUIã

SublimeãAtomã«éåžžã«é¡äŒŒããLightããŒãã«-ãšãã£ã¿ãŒããããŸãã 圌ã¯ããçš®ã®ç¹å®ã®å²åŠãæã£ãŠããã®ã§ã圌ã¯ãã£ãšã¯ãŒã«ã ãšäž»åŒµããŠããŸãã ç§ã¯ãããçè§£ããŸããã§ããããæ¯æè
ãããŸã...

ãã®ãããªãã®ããããŸã-ããªãã¯ã©ãžãªãã¹ãã®ããã«æããããªãã®ãªãŒãã£ãªã倧è¡ã«ã¹ããªãŒãã³ã°ã§ããŸãïŒ

ããšãã°ããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®éåžžã«ãã䌌ãã¯ããŒã³ããããæ¬¡ã®ããã«ãã£ã¹ã¯å
šäœã衚瀺ããŸãã

倧ããªãã¡ã€ã«ã®å Žæã確èªããŠãåé€ã§ããŸãã

Webã¢ããªã±ãŒã·ã§ã³ã®ã©ãããŒããããŸãã ç§ã®æèŠã§ã¯ããã®ãã¥ãŒããªã¢ã«èªäœã¯ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãšããŠã¯ã»ãšãã©æ©èœãããWebããã³ã³ãã³ããååŸããŠã¢ããªã±ãŒã·ã§ã³ã«è¡šç€ºãããããªãã¥ãŒããªã¢ã«ã§ãã
ããã§ããã·ã¢èªã§nw.jsã§èŠã€ããå¯äžã®ããšã¯ãè¿
éãªçŽçšç³åã®ããã®ãã®ããšã§ãïŒ

ãã·ã¢ã§ã¯çšéãåŒãç¶ã人ã¯èª°ãããªããšæããŸãããããã®ããã«ãœãããŠã§ã¢ããæäŸãããŠããããšãããããŸããã ãããŠããã®ããšã¯2013幎ã«éçºãéå§ãããŸãããããã¯ãæºåž¯é»è©±çšããã¹ã¯ãããçšã端æ«çšãæ
å ±ããªã¹ã¯çšã«å¥ã
ã«èšèšãããŠããŸããã ãã®ããŒãžã§ã³ã¯ç«¯æ«åãã§ãã , nw.js. - , , 2013 .
(
https://github.com/nwjs/nw.js/wiki/List-of-apps-and-companies-using-nw.js ) . - , - , , , , . , 100 .
- . - ?

, , .
-, . ã€ãŸã , , , - , - . .
. , , , IT-, , , , , nw.js .
â , , , , , , ? . ã€ãŸã , , - , - , , . , - , . - . , , , , , , . ( 20), , .
. . , , . , -, - , .
, :
»
http://html5.by/»
@html5by @nedudi»
http://vk.com/html5by» FB
http://facebook.com/html5byãã®ã¬ããŒãã¯ãããã³ããšã³ãéçºè
ã®FrontendConfäŒè°ã§ã®æé«ã®ãã¬ãŒã³ããŒã·ã§ã³ã®1ã€ã§ãã
ããŠãäž»ãªãã¥ãŒã¹ã¯ãFrontendConfãå«ã8ã€ã®ã«ã³ãã¡ã¬ã³ã¹ãå«ãæ¥ç¥ããRussian Internet Technologiesãã®æºåãéå§ããããšã§ãã