×ðÁúz6¹ÙÍøag

Z6¡¤×ðÁú¿­Ê±¡¸Öйú¡¹¹Ù·½ÍøÕ¾
¹ÉƱ´úÂ룺688047
ÇëÊäÈëËÑË÷Ìõ¼þ
×ðÁúz6¹ÙÍøagÉú̬ƽ̨
ÓÊÏäµÇ¼
µã»÷ͼƬˢÐÂ
ÒÅÍüÃÜÂë
µã»÷ͼƬˢÐÂ
11-14 2018

ÔÆÔÆÏ¸ÄåµÄ×ðÁúz6¹ÙÍøag×ÀÃæÓ¦Óã¡ NW.js¼Æ»®Ê¹ÓÃWebÊÖÒÕ±àд¸ßÌåÑé½çÃæ

NW.jsÊÇʹÓÃWebÓïÑÔ¿ª·¢×ÀÃæÍ¼ÐÎÓ¦ÓóÌÐòµÄÓÅÒì±à³ÌÇéÐΣ¬½üÆÚÒѾ­ÓÉ×ðÁúz6¹ÙÍøag¿ª·¢ÕßÒÆÖ²µ½×ðÁúz6¹ÙÍøagµçÄÔÉÏ ¡£¹Å°å×ÀÃæÓ¦Óÿª·¢ÒªÇóʹÓÃC/C++ÕâÑùµÄ¸ß¼¶±à³ÌÓïÑÔÒÔ¼°QtµÈרÃŵÄͼÐοâ ¡£ÓÐÁËNW.js£¬¿ÉÒÔ½«ÏÖÓÐWeb¿ª·¢ÊÖÒÕÔËÓõ½×ÀÃæ±à³Ì£¬½ö½öʹÓÃHTML¡¢CSSºÍJavaScript¾ÍÄÜ¿ª·¢×ÀÃæÍ¼ÐÎÓ¦Ó㬵ִïÏÖ´ú½çÃæÌåÑéˮƽ ¡£ÕâÖּƻ®µÄ×î´óÓÅÊÆ»¹ÔÚÓÚ£¬¿ª·¢³öÀ´µÄÓ¦ÓóÌÐòÊÇÍêȫƽ̨Î޹صľ籾ÓïÑÔ£¬ÒÔÊÇÄܹ»ÔÚ×ðÁúz6¹ÙÍøagºÍx86µÈËùÓÐCPU£¬ÒÔ¼°Windows¡¢MacºÍLinuxµÈËùÓвÙ×÷ϵͳÖÐ¿çÆ½Ì¨ÔËÐУ¬ÏÔÖøïÔÌ­ÁËÓ¦Óÿª·¢¡¢Î¬»¤ºÍǨáãµÄʱ¼ä ¡£±¾ÎÄÏÈÈÝNW.jsÔÚ×ðÁúz6¹ÙÍøagƽ̨ÉϵÄÒÆÖ²Àú³Ì£¬Îª×ðÁúz6¹ÙÍøagƽ̨ÉϵÄ×ÀÃæÍ¼ÐÎÓ¦ÓóÌÐòÌṩ²Î¿¼£¬Íƽø×ðÁúz6¹ÙÍøagÉú̬½¨Éè ¡£

  • NW.jsÅä¾°

NW.jsÊÇÒ»ÖÖ¿çÆ½Ì¨×ÀÃæÓ¦ÓÃÈí¼þ¿ª·¢Æ½Ì¨£¬Ô­À´µÄÏîÄ¿Ãû³ÆÊÇnode-webkit ¡£ÕâÊÇÒ»ÖÖÖ§³ÖʹÓÃËùÓÐWebÊÖÒÕ±àдӦÓóÌÐò½çÃæµÄÐÂÒªÁì ¡£¼òÆÓÀ´Ëµnw.js¾ÍÊÇʹÓÃHTML¡¢CSS¡¢JavaScriptÓïÑÔ±àдÔÚ×ÀÃæ¶ËÔËÐеijÌÐò½çÃæ ¡£

Z6¡¤×ðÁú¿­Ê±¡¸Öйú¡¹¹Ù·½ÍøÕ¾
¡ø NW.jsÏîÄ¿Ö÷Ò³

NW.jsÖ÷Òª¾ß±¸ÈçÏÂÌØÕ÷£º
1. ʹÓÃWebÊÖÒÕ(HTML5, CSS3ºÍWebGL)±àдÍâµØÓ¦ÓóÌÐò
2. Íêȫ֧³Öä¯ÀÀÆ÷ÖеÄËùÓй¦Ð§
3. Íêȫ֧³ÖNode.js APIºÍËùÓеÚÈý·½Ä£¿é
4. Ö±½Ó´ÓDOMºÍWeb WorkersŲÓÃNode.jsÄ£¿é
5. JavaScriptÔ´´úÂë±£»¤
6. ÊÊÓÃÓÚLinux£¬Mac OS XºÍWindows

 

ÏÂͼ˵Ã÷¡°NW.jsÄÜ×öʲô¡± ¡£

Z6¡¤×ðÁú¿­Ê±¡¸Öйú¡¹¹Ù·½ÍøÕ¾
¡ø NW.jsÓ¦ÓóÌÐòµÄ½á¹¹
 

ÏÂͼ˵Ã÷¡°ÔõôÓÃnw.jsÍê³ÉʹÃü¡±µÄÎÊÌâ ¡£

Z6¡¤×ðÁú¿­Ê±¡¸Öйú¡¹¹Ù·½ÍøÕ¾
¡ø NW.jsÓ¦ÓóÌÐòµÄÔËÐÐÀú³Ì
 
NW.jsÖ÷Ò³: https://nwjs.io
Ô´´úÂëÏîÄ¿µØÖ·£ºhttps://github.com/nwjs/nw.js
  • NW.js¿ìËÙ½¨ÉèÓ¦ÓóÌÐòʵÀý
ÏÂÃæ½¨ÉèÒ»¸ö×î¼òÆÓµÄ¡°Hello world¡±³ÌÐò£¬Õ¹Ê¾ÔÚNW.jsƽ̨ÖеÄÔËÐÐЧ¹û ¡£
ʹÓÃÈκÎÎı¾±à¼­Æ÷£¬±àдÁ½¸öÎļþ£¬»®·ÖÊÇindex.htmlºÍpackage.json ¡£
index.htmlÎļþÄÚÈÝÈçÏ£º

package.jsonÎļþÄÚÈÝÈçÏ£º

ÔÚpackage.jsonËùÔÚµÄÄ¿½ñĿ¼Ï£¬Ê¹ÓÃÏÂÃæµÄÏÂÁîÔËÐÐÓ¦ÓóÌÐò£º
$ nw .
 
ÔËÐнçÃæÈçÏÂͼËùʾ£º
Z6¡¤×ðÁú¿­Ê±¡¸Öйú¡¹¹Ù·½ÍøÕ¾
¡ø µÚÒ»¸öNW.jsÓ¦ÓóÌÐò¡°Hello world¡±½çÃæ
¿ÉÒÔ¿´µ½£¬NW.jsµÄÔ´´úÂë²»ÐèÒª±àÒ룬ֱ½ÓÔËÐоͷºÆðÁ˽çÃæ ¡£
  • NW.jsµÄ´óÐÍÓ¦ÓÃ
NW.jsÓÉÓÚ¾ßÓÐ¶à·½ÃæÓŵ㣬ÏÖÔÚÒѾ­ºÜÊ¢ÐУ¬¿ª·¢³öµÄÓ¦ÓÃÒѾ­º­¸ÇÁËÐí¶àÁìÓò£º
  1. WhatsApp Messenger¾­µäµÄ̸ÌìÓ¦Óã»
  2. Powder Player ÖÖ×ÓÏÂÔØ£¬ÒÔ¼°ÊÓÆµ²¥·ÅÆ÷£»
  3. Boson Editor ´úÂë±à¼­Æ÷£¬ÉõÖÁÉÐÓÐÒ»¿îMarkdown±à¼­Æ÷Story-writer£»
  4. Leanote Desktop App ÀàËÆEvernoteµÄÌõ¼ÇÀàÓ¦ÓóÌÐò£»
  5. Mongo Management Studio Êý¾Ý¿â¹ÜÀíÓ¦Óà ¡£
À´ä¯ÀÀһϽçÃæ½ØÍ¼£¬¿ÉÒÔ¿´µ½Ê¹ÓÃNW.js¿ª·¢³öµÄÓ¦ÓýçÃæ£¬Ïà±ÈÒÔǰʹÓùŰåµÄQtͼÐο⿪·¢µÄÓ¦ÓýçÃæÔ½·¢ÑŹÛ ¡£
Z6¡¤×ðÁú¿­Ê±¡¸Öйú¡¹¹Ù·½ÍøÕ¾
¡ø »ùÓÚNW.jsµÄMongo Management StudioÊý¾Ý¿â¹ÜÀíÓ¦ÓóÌÐò½çÃæ
 
  • NW.jsÔÚ×ðÁúz6¹ÙÍøagÉϵÄÒÆÖ²Àú³Ì
NW.jsÔ½À´Ô½ÆÕ¼°£¬¿ÉÊÇÏÖÔÚ¹Ù·½½öÌṩ±àÒëºÃµÄx86¶þ½øÖÆ£¬ÔÚ×ðÁúz6¹ÙÍøagÉϲ¢²»¿ÉÖ±½ÓÔËÐÐ ¡£ÎªÁË×ðÁúz6¹ÙÍøagÉú̬ӦÓõÄÉú³¤£¬±¾ÎÄÍê³ÉNW.jsÔÚ×ðÁúz6¹ÙÍøagÉϵÄÒÆÖ²ÊÊÅäÊÂÇé ¡£
ÒÆÖ²Àú³Ì²ÎÕÕÁ˹ٷ½Îĵµ£ºhttps://github.com/nwjs/nw.js/wiki/Building-nw.js
±¾ÎÄÒÆÖ²µÄNW.js°æ±¾Îª£ºnwjs-0.33.3 ¡¢chromium-69.0.3497.100 ¡¢nodejs-v10.10.0 ¡£
ÒÆÖ²µÄÈíÓ²¼þÇéÐÎÊÇ×ðÁúz6¹ÙÍøag3A3000̨ʽ»ú£¬×ðÁúz6¹ÙÍøagÉçÇø°æ²Ù×÷ϵͳLoongnix ¡£
NW.jsÔÚ×ðÁúz6¹ÙÍøagÉϵÄÊÊÅäÖ÷Òª·Ö³ÉÈçϼ¸¸ö°ì·¨£º
1¡¢»ñÈ¡NW.jsÏà¹Ø´úÂë
Ö÷ÒªÊÇÍê³Échromium.src¡¢nw.js¡¢nodeÒÔ¼°V8ÕâËĸö²¿·Ö´úÂëµÄ»ñÈ¡ ¡£
ÐèҪʹÓÃgclientÏÂÁÀ´×ÔÓÚdepot_tools£¬»ñÈ¡·½·¨ÈçÏ£º
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
$ export PATH=$PATH:$HOME/depot_tools-dir
 
ÕâÑù£¬ÔÚÖÕ¶ËÈκεط½¶¼¿ÉÒÔŲÓÃʹÓÃgclientÏÂÁî ¡£
»ñÈ¡chromium.srcÄ£¿é£¬ÏȽ¨ÉènwjsĿ¼£¬½øÈënwjsĿ¼ºóͨ¹ýÈçÏÂÏÂÁîÌìÉú.gclientÎļþ ¡£
$ gclient config --name=src https://github.com/nwjs/chromium.src.git@origin/nw33
½Ó×ÅÔËÐÐÈçÏÂÏÂÁî¾ÙÐÐchromium.src´úÂë»ñÈ ¡£º
$ gclient sync --with_branch_heads
 
NW.js¡¢nodeÒÔ¼°v8ÕâÈý¸öÄ£¿éµÄ»ñÈ¡Ö÷Ҫƾ֤ÈçϵØÖ·checkoutµ½¶ÔӦ׼ȷµÄ·ÖÖ§£¬·ÅÈëchromium.src׼ȷµÄλÖÃÖУº

¡ø nw.js¡¢nodeÒÔ¼°v8ÕâÈý¸öÄ£¿éµÄÏîÄ¿µØÖ·
 
2¡¢ÉèÖñàÒëÑ¡Ïî
×ðÁúz6¹ÙÍøagÉÏÉèÖÃnwjs_sdk=false£¬Ö÷Òª¾ÙÐÐNormal°æ±àÒë ¡£ÏêϸGN_CONFIGSÉèÖÃÈçÏ£º
$ export GN_CONFIGS={
    is_debug = false
is_clang = false
is_component_ffmpeg = true
use_sysroot = false
use_gold = false
proprietary_codecs = true
enable_widevine = false
fatal_linker_warnings = false
link_pulseaudio = true
treat_warnings_as_errors = false
nwjs_sdk = false
}
 
ÓÉÓÚÔÚloongnixÉϱàÒ룬ÐèÒªÉèÖÃmips_arch_variant="loongson3"£¬¿ÉÊǸòÎÊýÕë¶Ônwjs±àÒë²¢²»Ê¶±ð£¬ÏÖÔÚÖ»ÄÜÔÚbuild/config/mips.gniÖÐĬÈϽ«mips_arch_variant¸Ä³Éloongson3¾ÙÐбàÒë ¡£
½ÓÏÂÀ´Í¨¹ýGNÌìÉúninja¹¹½¨Îļþ£º
$ gn gen out/nw --args="${GN_CONFIG[*]}"
 
  1. ±àÒënwjsÄ£¿é
$ ninja-build -C out/nw nwjs
 
  1. ±àÒëÉèÖÃÑ¡ÏîÒÔ¼°±àÒënodeÄ£¿é

±àÒëǰÐèÒª¾ÙÐÐÈçÏÂÉèÖãº

$ export GYP_DEFINES="target_arch="mips64el" debug=false clang=false sysroot=false host_arch="mips64el""
$ GYP_CHROMIUM_NO_ACTION=0 ./build/gyp_chromium -I third_party/node-nw/common.gypi -D building_nw=1 third_party/node-nw/node.gyp
 

±àÒ룺

$ ninja-build -C out/Release node
$ ninja -C out/nw copy_node
 

5¡¢Íê³ÉNW.jsÕûÌåÒÆÖ²ÊÊÅ䣬Àֳɯô¶¯NW.js

 
$ cd out/nw
$ ./nw
 

ÔÚ×ðÁúz6¹ÙÍøagµçÄÔÉÏÔËÐÐNW.jsµÄĬÈϽçÃæÈçÏÂͼ£º

Z6¡¤×ðÁú¿­Ê±¡¸Öйú¡¹¹Ù·½ÍøÕ¾
¡ø ÔÚ×ðÁúz6¹ÙÍøagÉÏÔËÐÐNW.jsÓ¦ÓóÌÐò
 

ÖÁ´Ë£¬NW.jsÔÚ×ðÁúz6¹ÙÍøagÉÏ¿ÉÒÔÀֳɯô¶¯ÁË£¡

  • ±àÒëºÃµÄÖÆÆ·

ΪÁËÀû±ã×ðÁúz6¹ÙÍøag¿ª·¢ÕßʹÓÃNW.js£¬×÷ÕßÒѾ­ÔÚ×ðÁúz6¹ÙÍøagÉçÇø°æ²Ù×÷ϵͳLoongnixÖÐÖÆ×÷Á˶þ½øÖÆÖÆÆ·rpm°ü£¬ºóÃæ»áÉÏ´«µ½ÍøÂçÔ´ÖÐ ¡£¿ª·¢Õß²»ÔÙÐèÒªÖØÐÂÖ´ÐбàÒëÀú³Ì£¬Ö»ÐèҪͨ¹ýÏÂÃæµÄÏÂÁîÖ±½Ó×°ÖÃNW.jsµÄÈí¼þ°ü£¨ÐèҪʹÓùÜÀíԱȨÏÞÖ´ÐУ©£º

# yum install nwjs
 

¾ÍÑù¾Í¿ÉÒÔÀû±ãµÄ¾ÙÐÐNW.jsÓ¦Óÿª·¢ ¡£

  • ×Ü ½á

NW.jsÊÊÅäÀú³ÌÖÐ×ÜÌåÀ´ËµÊǽÏÁ¿Ë³ËìµÄ£¬Ö÷ÒªµÄÎÊÌâÕÕ¾ÉÔÚÓÚchromiumÒÔ¼°nodeµÄ±àÒëÊÊÅ䣬¶øÕâЩ·½Ãæ×ðÁúz6¹ÙÍøagÒÑÓи»×ãµÄÂÄÀú£¬ÒÔÊÇÕâ´ÎµÄÊÊÅäÀú³ÌûÓÐÓöµ½ÎÞ·¨½â¾öµÄÎÊÌ⣬´úÂë¸Ä¶¯Á¿ºÜÉÙ£¬»ù±¾ÉÏʵÏÖÁËÎÞÕϰ­Ç¨áã ¡£

ͨ¹ý±¾ÎĵÄNW.jsµÄÊÊÅäÀú³ÌÅú×¢£¬×ðÁúz6¹ÙÍøagÈí¼þÉú̬ÇéÐÎÒѾ­ºÜÊÇÍêÉÆ£¬ÔÚ´òÔì×ðÁúz6¹ÙÍøagƽ̨Èí¼þ¸»ºñÐÔµÄÀú³ÌÖУ¬×ðÁúz6¹ÙÍøag¹«Ë¾ÒѾ­×ß³öÁËÒ»Ìõ¼áʵµÄõè¾¶£¬Ï£Íû¹¤ÒµÁ´Äܹ»Ò»Æð°Ñ×ðÁúz6¹ÙÍøagµÄÈí¼þÉú̬ÍêÉÆÆðÀ´£¡

Copyright ? 2008-2022 ×ðÁúz6¹ÙÍøag ¾©ICP±¸14017781ºÅ-1¾©¹«Íø°²±¸ 11010802035786 ºÅ

±¾ÍøÕ¾ÓÉ×ðÁúz6¹ÙÍøag3C5000·þÎñÆ÷Ìṩǿ¾¢¶¯Á¦

ÍøÕ¾µØÍ¼