½øÈë2015ÄêÒԺ󣬹ØÓÚJS¿ò¼Ü£¬¿ª·¢ÈËÔ±ÓÐÁ˸ü¶àÑ¡ÔñÁË¡£³ýÁËAngular,Ember,React,Backbone£¬»¹³öÏÖÁË´óÁ¿µÄ¾ºÕùÕߣ¬ÏÖÔÚÓÐÌ«¶àµÄ¿ò¼Ü¿ÉÑ¡¡£
ÿ¸öÈË¿ÉÒÔ´Ó²»Í¬µÄ½Ç¶È¶Ô±ÈÕâЩ¿ò¼Ü£¬µ«ÊÇÎÒÈÏΪ×îÓÐȤµÄÇø±ðÖ®Ò»ÊÇËüÃǹÜÀí״̬µÄ·½·¨¡£ÓÈÆ䣬˼¿¼Ò»Ïµ±×´Ì¬¾³£·¢Éú¸Ä±äµÄʱºò£¬ÕâЩ¿ò¼ÜÊÇÈçºÎ×öµÄ£¬ÕâÊǺÜÒ»¼þÓÐÒâÒåµÄÊÂÇ飬ÔÚÕâЩ¿ò¼ÜÖУ¬ËûÃǸ÷×Ô¶¼ÓÃʲô·½·¨À´·´Ó¦Óû§½çÃæµÄ±ä»¯£¿
¹ÜÀíÓ¦ÓõÄ״̬ºÍÓû§½çÃæµÄÒ»ÖÂÔںܳ¤µÄʱ¼äÀﶼÊÇÒ»¸öÒý·¢UI¿ª·¢¸´ÔÓÐԵĸùÔ´¡£µ½Ä¿Ç°ÎªÖ¹£¬ÎÒÃÇÓÐÁ˼¸¸ö²»Í¬µÄ´¦Àí·½Ê½£¬±¾ÆªÎÄÕ»áä¯ÀÀÒ»ÏÂËüÃÇÖ®Öеļ¸¸ö£ºEmberµÄÊý¾Ý°ó¶¨£¬angularµÄÔà¼ì²é£¬ReactµÄÐéÄâDOMÒÔ¼°ËüºÍ²»¿É±äÊý¾Ý½á¹¹µÄ¹Øϵ¡£
ÏÔʾÊý¾Ý
ÎÒÃÇҪ˵µÄ»ù±¾ÈÎÎñÊǹØÓÚ³ÌÐòµÄÄÚ²¿×´Ì¬ÒÔ¼°Ôõô°ÑËü·Åµ½ÆÁÄ»ÉÏÏÔʾ³öÀ´µÄ¿É¼ûÔªËØ¡£ÄãÄõ½Ò»Ì׶ÔÏó£¬Êý×飬×Ö·û´®ºÍÊý×Ö£¬ÔÙ°ÑËüÃDZä³ÉÓÉÒ»¸öÎı¾×é³ÉµÄÊ÷ͼ½á¹¹µÄ¶«Î÷£¬±íµ¥£¬Á´½Ó£¬°´Å¥ºÍͼƬ¡£ÔÚÍøÒ³¿ª·¢ÖУ¬Ç°Õß¾³£±í´ïΪ JavaScriptÊý¾Ý½á¹¹£¬ºóÃ漸¸ö±íÏÖΪDOM¡£
ÎÒÃǾ³£½ÐÕâ¸ö¹ý³ÌΪ¡°äÖȾ¡±£¬Äã¿ÉÒÔÏëÏó³ÉÊÇ°ÑÄãµÄÊý¾ÝÄ£ÐÍ¡±Ó³É䡱³É¿É¼ûµÄÓû§½çÃæÄÚÈÝ¡£µ±ÄãÓÃÄ£°åäÖȾÊý¾Ýʱ£¬ÄãµÃµ½Ò»¸öDOM£¨»òÕßHTML£©À´±íÏÖÊý¾Ý¡£
Õâ¸ö¹ý³Ì±¾ÉíÌýÆðÀ´¹»¼òµ¥µÄ£º¾¡¹ÜÓ³Éä±íµ¥Êý¾ÝÄ£Ð͵½UI¿ÉÄܲ»Æ½·²£¬µ«Ëü±Ï¾¹ÊÇÒ»¸öºÜÖ±½ÓµÄ´ÓÊäÈëµ½Êä³öµÄת»»¹ý³Ì¡£
µ±ÎÒÃÇÌáµ½Êý¾Ý¾³£¸Ä±äµÄʱºò£¬ÊÂÇé±äµÄÓÐÌôÕ½ÁË¡£µ±Óû§ºÍUI½»»¥£¬»òÕß²»ÖªµÀÊÀ½çÉÏʲô¶«Î÷µÄ¸Ä±ä¸üÐÂÁËÊý¾Ý£¬·´ÕýUIÐèÒª·´Ó³ÕâЩ±ä»¯¡£¶øÇÒ£¬ÒòΪÖؽ¨DOMÊ÷µÄ²Ù×÷ÊÇÒ»¸ö°º¹óµÄ²Ù×÷£¬ÏûºÄ½Ï´ó£¬ÎÒÃÇÔ¸Òâ×ö¾¡¿ÉÄÜÉٵŤ×÷À´ÈÃÊý¾Ý¸üе½ÆÁÄ»¡£
Ïà¶ÔÓÚ½ö½öäÖȾһ´ÎUI£¬ÕâÀïÃæÓÐÒ»¸ö¸üÓÐÄѶȵÄÎÊÌ⣬ÒòΪËüÉæ¼°µ½×´Ì¬¸üС£ÕâÒ²ÊDzúÉú¼¸¸ö²»Í¬·½°¸µÄµØ·½¡£
·þÎñÆ÷¶ËäÖȾ£ºÒ»ÇÐÖØÀ´
¡°Ã»Óб仯£¬ÓîÖæÊDz»¿É±äµÄ¡±
ÔÚ´óJavaScript¼ÍÔªÒÔÇ°£¬Ã¿Ò»¸öÄãºÍÍøÒ³µÄ½»»¥¶¼»á´¥·¢Ò»¸ö·þÎñÆ÷¶ËµÄÀ´»Ø½»»¥£¬Ã¿´Îµã»÷£¬Ã¿´Î±íµ¥µÄÌá½»£¬Òâζ×ÅÍøÒ³µÄÖØмÓÔØ£¬Ò»¸öÇëÇó±»·¢Ë͵½·þÎñÆ÷¶Ë£¬·þÎñÆ÷´¦Àí²¢ÏìÓ¦Ò»¸öոеÄÒ³Ã棬ä¯ÀÀÆ÷ÔÙÖØÐÂäÖȾËü¡£
ÕâÖÖÇé¿öÏ£¬Ç°¶Ë²»ÓùÜÀíÈκÎ״̬£¬Ã¿´ÎÒ»ÓÐʲôÊÂÇé·¢ÉúÁË£¬Ò»Çж¼½áÊø£¬ä¯ÀÀÆ÷ʲôҲ²»¹Ü¡£ÎÞÂÛʲô״̬£¬¶¼ÊÇ·þÎñÆ÷¶ËÀ´¹ÜÀí¡£Ç°¶Ë¾ÍÊÇһЩ·þÎñÆ÷¶Ë²úÉúµÄHTMLºÍCSS£¬¿ÉÄÜ»¹ÓÐdzdzµÄÒ»µãjavascript¡£
ÔÚÇ°¶Ë½Ç¶ÈÀ´¿´£¬ÕâÊÇÒ»¸ö·Ç³£¼òµ¥µÄ°ì·¨£¬ÕâÑù´¦ÀíÒ²ºÜÂý¡£²»½ö½öÿ´Î½»»¥Òâζ×ÅÒ»¸öUIµÄÖØÐÂäÖȾ£¬Ò²ÊÇÒ»¸öÊý¾Ý·µ»ØÔ¶³ÌµÄÊý¾ÝÖÐÐÄ£¬ÔÙ´ÓÔ¶³Ì»Øµ½Ç°Ì¨½çÃæµÄÔ¶³Ì½»»¥¹ý³Ì¡£
ÏÖÔÚ£¬ÎÒÃÇ´ó¶àÊýÒѾ²»ÔÙÕâô×öÁË¡£ÎÒÃÇ¿ÉÒÔÔÚ·þÎñÆ÷¶Ë³õʼ»¯ÎÒÃǵÄÓ¦ÓõÄ״̬£¬È»ºóÔÚÇ°¶ËÀ´¹ÜÀíÕâЩ״̬(Õâƪͬ¹¹JavaScriptºÜ´óµÄƪ·ù¶¼ÔÚ˵Õâ¸ö)£¬¾¡¹ÜÈÔÈ»»¹ÓÐһЩÈ˳ɹ¦µÄʹÓÃ×ÅÕâÖÖ¸ü¸´Ôӵķ½Ê½¡£
µÚÒ»´úJS£ºÈ˹¤ÖØ»æ½çÃæ
¡°ÎÒ²»ÖªµÀÒªÖØлæÖÆÄÄÀÄãÖ¸³öÀ´°É¡±
µÚÒ»´újavascript¿ò¼Ü£¬ÏñBackbone.js,ExtJS,ºÍDojo,µÚÒ»´ÎÏòä¯ÀÀÆ÷ÒýÈëÁËÕæʵµÄÊý¾ÝÄ£ÐÍ£¬´úÌæÄÇЩֻÔÚDOMÉÏÐÞÊεÄÇáÁ¿¼¶½Å±¾¡£ÕâÒ²Òâζ×Å£¬ÄãµÚÒ»´ÎÔÚä¯ÀÀÆ÷ÉÏ¿ÉÒԸıä״̬¡£Êý¾ÝÄ£Ð͵ÄÄÚÈݸıäÁË£¬È»ºóÄã°ÑÕâЩ¸Ä±ä·´Ó¦µ½Óû§½çÃæÉÏ¡£
¾¡¹ÜÕâЩ¿ò¼Ü¶¼Ôڼܹ¹ÉÏ´ÓÄ£ÐÍÖзÖÀë³öÁËUI´úÂ룬¿Éͬ²½Á½Õß»¹ÊÇÒª¿¿Äã×Ô¼ºÀ´Íê³É¡£µ±±ä¶¯·¢Éúʱ£¬Äã¿ÉÒԵõ½Ò»Ì×ʼþ£¬µ«ÊÇÓ¦¸ÃÓÉÄãÖ¸³öÄÇÒ»²¿·ÖÐèÒªÖØÐÂäÖȾ£¬ºÍ¾ßÌåÔõôäÖȾ¡£
ÔÚÕâÖÖÄ£Ð͵ÄÐÔÄÜ·½ÃæÉÏÁô¸øÓ¦Óÿª·¢ÕߺܴóµÄ·¢Õ¹¿Õ¼ä¡£¼ÈÈ»Äã¿ØÖÆʲôʱºòʲôÄÚÈÝÓ¦µ±¸üУ¬Ö»ÒªÄãÔ¸Ò⣬Äã¿ÉÒԺܺõĵ÷ÓÅËü¡£¼òµ¥µÄÖØÐÂäÖȾҳÃæÉϵĴó¿éÇøÓò£¬»¹ÊÇÖ»¸üÐÂÒ³ÃæÉϵÄÐèÒª¸üеÄÄÇһС²¿·Ö£¬Õâ¾³£ÊÇÐèÒª×ö³öһЩȨºâ¡£
Ember.jsÊý¾Ý°ó¶¨
¡°ÒòΪÎÒ¿ØÖÆ×ÅÄ£ÐͺÍÊÓͼ£¬ÎÒÄܾ«È·µÄÖªµÀÄÇЩӦ¸Ã±»ÖØлæÖÆ¡£¡±
¿ÉÒÔÈ˹¤µÄÖ¸³öʲô״̬¸Ä±äÁËÐèÒªÖØÐÂäÖȾ£¬ÊǵÚÒ»´újavascriptÓ¦Óõĸ´ÔÓÐÔµÄÖ÷ÒªÀ´Ô´¡£´óÁ¿µÄ¿ò¼ÜµÄÄ¿µÄ¾ÍÊÇÏû³ýÕⲿ·ÖÎÊÌâ¡£Embe.js¾ÍÊÇÆäÖÐÖ®Ò»¡£
EmberºÍBackboneÏàËÆ£¬µ±±ä¶¯·¢Éúʱ£¬´ÓÄ£ÐÍÍùÍâ·¢³öʼþ¡£²»Í¬ÔÚÓÚEmber»¹ÎªÊ¼þµÄ½ÓÊܶËÌṩһЩ¹¦ÄÜ¡£Äã¿ÉÒÔ°ÑUIºÍÊý¾ÝÄ£ÐÍ°ó¶¨ÔÚÒ»Æð£¬ÕâÒâζ×Å£¬ÓÐÒ»¸ö¼àÌýÆ÷¸½¼Óµ½UIÈ¥ÕìÌý±ä¸üʼþ¡£Õâ¸ö¼àÌýÆ÷½Óµ½Ê¼þÒÔºóÖªµÀÓ¦¸Ã¸üÐÂʲô¡£
Õâ¾Í²úÉúÁËÒ»¸öºÜÓÐЧµÄ±ä¸ü»úÖÆ£ºÍ¨¹ýÒ»¿ªÊ¼ÉèÖÃËùÓеİ󶨣¬ÕâÑùÒÔºóͬ²½µÄ»¨·Ñ¾Í±äµÃÉÙÁË¡£µ±Ä³Ð©¶«Î÷±äÁË£¬Ö»ÓÐÓ¦ÓÃÀïÃæµÄÄÇЩȷʵÐèÒª¸Ä±äµÄÄÇÒ»²¿·Ö»á±ä»¯¡£
ÕâÖÖ·½Ê½ÀïÃ棬×î´óµÄÕÛÖÐÊǵ±Êý¾ÝÄ£ÐÍ·¢Éú±ä»¯£¬±ØÐë֪ͨEmberÖªµÀÕâЩ±ä»¯¡£Õâ¾ÍʹÄãµÄÊý¾Ý±ØÐëÒª¼Ì³ÐEmberµÄÌض¨API£¬ÄãÒªÐÞ¸ÄÄãµÄÊý¾ÝÌí¼ÓÌرðµÄset·½·¨¡£Äã²»ÄÜÓÃfoo.x=42Äã±ØÐëÓÃfoo.set(¡®x¡¯,42)£¬ÖîÈç´ËÀà¡£
½«À´£¬Õâ¸ö·½Ê½¿ÉÄÜÔÚECMAScript6µÄµ½À´ºó»ñÒæ¡£Ëü¿ÉÓð󶨷½·¨À´ÈÃEmberÐÞÊÎÒ»°ã¶ÔÏó£¬ÄÇôËùÓеÄÓëÕâ¸ö¶ÔÏó½»»¥µÄ´úÂë²»±ØÔÙʹÓÃÕâÖÖsetµÄת»»¡£
AngularJS:Ôà¼ì²é
¡°ÎÒ²»ÖªµÀʲô¸Ä±äÁË£¬ÎÒÖ»ÊǼì²éÐèÒª¸üеÄËùÓÐÒ»ÇС±
ºÍEmberÏàËÆ£¬AngularµÄÄ¿±êÒ²Êǽâ¾öÓбä¸üÒÔºóµÄ²»µÃ²»ÊÖ¹¤ÖØÐÂäÖȾµÄÎÊÌâ¡£¿ÉÊÇ£¬ËüÓõÄÊÇÁíÒ»¸ö·½Ê½¡£
µ±Äã²Î¿¼ÄãµÄAngularÄ£°å´úÂ룬±ÈÈçÕâ¸ö±í´ïʽ{{foo.x}}£¬Angular²»½ö¼àÌýÕâ¸öÊý¾Ý£¬»¹´´½¨Ò»¸öÕâ¸öÖµµÄ¹Û²ìÆ÷¡£ÔÚ´ËÖ®ºó£¬²»ÂÛÓ¦ÓÃÖÐʲô·¢Éú±ä¶¯£¬Angular¶¼¼ì²é¹Û²ìÆ÷ÖеÄÕâ¸öÖµºÍÉÏÒ»´Î±ÈÊDz»ÊDZäÁË¡£Èç¹û±äÁË£¬¾ÍÖØÐÂäÖȾÕâ¸öÖµµ½UI¡£Õâ¸ö´¦Àí¼ì²é¹Û²ìÆ÷µÄ·½Ê½¾Í½ÐÔà¼ì²é¡£
ÕâÖÖ¼ì²â·½Ê½µÄ×î´óºÃ´¦¾ÍÊÇ£¬Äã¿ÉÒÔÔÚÄ£ÐÍÖÐËæ±ãÓÃʲô£¬angular¶Ô´ËûÓÐÔ¼Êø¡ªËüÒ²²»¹ØÐÄÕâ¸ö¡£²»ÐèÒª¼Ì³Ð»ù´¡¶ÔÏóÒ²²»ÐèҪʵÏÖÌض¨µÄAPI¡£
ȱµã·½Ãæ¾ÍÊǼÈÈ»Êý¾ÝÄ£ÐÍûÓÐÄÚ½¨µÄ̽²âÆ÷À´¸æËß¿ò¼Üʲô±äÁË£¬¿ò¼ÜÒ²¾Íû°ì·¨ÖªµÀÊDz»ÊÇÓб仯£¬»òÕß¾¿¾¹ÄÄÀï±äÁË¡£Õâ¾ÍÒâζ×ÅÐèҪͨ¹ýÍⲿÀ´¼ì²éÄ£Ðͱä¸ü£¬Angular¾ÍÊÇÕâô×öµÄ£º²»ÂÛʲô¶«Î÷±äÁË£¬ËùÓеĹ۲ìÆ÷¶¼ÅÜÒ»±é£ºµã»÷ʼþµÄ´¦Àí£¬HTTPÏìÓ¦µÄ´¦Àí£¬Ê±¼ä³¬Ê±µÈµÈ£¬¶¼»á²úÉúÒ»¸öÕªÒª£¬Õâ¾ÍÊǸºÔðÔËÐй۲ìÆ÷µÄ¹ý³Ì¡£
ÿ´Î¶¼ÔËÐÐËùÓеĹ۲ìÆ÷ÌýÉÏÈ¥ÏñÊÇÒ»¸öÐÔÄÜجÃΣ¬µ«ÊÇËüʵ¼ÊÉÏÊÇ·É¿ìµÄ¡£Õâ¸öͨ³£ÊÇÒòΪֱµ½Êµ¼Ê¼ì²â³öÒ»¸ö¸Ä±ä£¬²Å»áÓÐDOM·ÃÎÊ·¢Éú£¬¶ø´¿javascript¼ì²éÒýÓõÄÏûºÄ»¹ÊÇÏ൱µÍµÄ¡£µ«Êǵ±ÄãÓöµ½´óµÄUI»òÕßÐèÒª¾³£ÐÔµÄÖØÐÂäÖȾ£¬¶îÍâµÄÓÅ»¯´ëÊ©¾ÍÊDZز»¿ÉÉÙµÄÁË¡£
ÏóEmber£¬AngularÒ²»áÊÜÒæÓÚ¼´½«µ½À´µÄ±ê×¼£ºEMACScript7ÓÐObject.observe·½·¨ºÜÊʺÏAngular£¬Ëü¸øÄãÒ»¸ö±¾µØAPIÀ´¹Û²ì¶ÔÏóµÄÊôÐԸı䡣¾¡¹ÜÕâ²¢²»ÄÜÂú×ãAngularËùÓÐÐèÇó£¬ÒòΪ¹Û²ìÆ÷²»½ö½ö¹Û²ì¼òµ¥¶ÔÏóÊôÐÔ¡£
¼´½«µ½À´µÄAngular2Ò²»á´øÀ´Ò»Ð©ÓÐȤµÄ¹ØÓÚÇ°¶Ë¸üмì²éµÄ¸üÐÂÄÚÈÝ£¬×î½üÓÐƪÎÄÕÂ˵µÀÁËÕâ¸öVictorSavkin·¢±íµÄÎÄÕ£¬Ò²¿ÉÒÔ¿´¿´Õâ¸öVictorÔÚng-conf˵µÄ»°
React£ºÐéÄâDOM
¡°ÎÒ²»ÖªµÀʲô±äÁË£¬ËùÒÔÎÒ½«äÖȾһÇУ¬¿´¿´ÓÐʲô²»Í¬¡±
ReactÓкܶàÓÐȤµÄÌØÐÔ£¬ÆäÖÐ×îÓÐȤµÄ¾ÍÊÇÐéÄâDOM¡£
ReactºÍAngularÏàËÆ£¬²¢²»Ç¿ÖÆÄãʹÓÃÒ»¸öÄ£ÐÍAPI£¬Äã¿ÉÒÔʹÓÃÈÏΪºÏÊʵÄÈκζÔÏóºÍÊý¾Ý½á¹¹¡£ÄÇô£¬ËüÊÇͨ¹ýʲôÀ´±£³ÖUIÔڸıäÒÔºóµÄ¸üÐÂÄØ£¿
React×öµÄ¾ÍÊÇÈÃÎÒÃÇÍ˻ص½ÀϵķþÎñÆ÷¶ËäÖȾµÄÄÇЩÈÕ×Ó£¬ÎÒÃÇ¿ÉÒÔ¼òµ¥µÄ²»¹Üʲô״̬¸Ä±ä£ºÃ¿µ±Ä³¸öµØ·½Óб䶯·¢Éú£¬Ëü¾ÍÖØлæÖÆÕû¸öUI¡£Õâ¸ö¿ÉÒÔ¼«´óµÄ¼ò»¯UI´úÂë¡£Äã²¢²»¹ØÐÄÔõôÔÚReact×é¼þÀïÃæά»¤×´Ì¬¡£¾ÍÏñ·þÎñÆ÷¶ËäÖȾ£¬ÄãäÖȾһ´Î¾ÍÐÐÁË¡£µ±Ò»¸ö×é¼þÐèÒª¸Ä±ä£¬Ëü¾ÍÔÙ´ÎÖØÐÂäÖȾ¡£ÔÚµÚÒ»´ÎäÖȾºÍÒÔºóµÄÊý¾Ý¸üÐÂäÖȾûÓÐʲô²»Í¬¡£
Õâ¸öÌýÉÏÈ¥¼«ÆäûÓÐЧÂÊ¡£Èç¹ûReact½ö½ö×öµ½´Ë£¬Äǵ±È»¾ÍÊÇÕâÑùÁË¡£È»¶ø£¬ReactʹÓÃÁËÌØÊâµÄ·½Ê½À´ÖØÐÂäÖȾ¡£
µ±ReactUIäÖȾµÄʱºò£¬ËüÊ×ÏÈäÖȾµ½Ò»¸öÐéÄâDOM£¬Ëü²»ÊÇÒ»¸öʵ¼ÊµÄDOM¶ÔÏ󣬶øÊÇÒ»¸öÇáÁ¿µÄ´¿javascriptµÄ¶ÔÏó½á¹¹£¬ÀïÃæÊǼòµ¥¶ÔÏóºÍÊý×éÀ´±í´ïÕæʵµÄDOM¶ÔÏó¡£»áÓÐÒ»¸öÌØÊâ´¦Àí¹ý³ÌÀ´È¡µÃÕâ¸öÐéÄâDOM£¬À´´´½¨ÄÜÔÚÆÁÄ»ÉÏÏÔʾµÄÕæʵµÄDOMÔªËØ¡£
È»ºó£¬µ±ÓиıäµÄʱºò£¬Ò»¸öеÄÐéÄâDOM¾Í´Ó±ä»¯ÖвúÉú¡£Õâ¸öеÄÐéÄâDOM·´Ó¦ÁËÊý¾ÝÄ£Ð͵ÄÐÂ״̬¡£ReactÏÖÔÚÓÐ2¸öÐéÄâDOM£ºÐµĺÍÀϵġ£Ëü¶ÔÕâÁ½¸öÐéÄâDOMÓÃÒ»¸ö²îÒì±È½ÏËã·¨µÃµ½±ä¶¯µÄ¼¯ºÏ¡£ÕâЩ±ä¶¯£¬Ò²½ö½öÊÇÕâЩ±ä¶¯»á±»Ó¦Óõ½ÕæʵµÄDOM£ºÐÂÔö¼ÓÔªËØ£¬ÔªËصÄÊôÐÔÖµ¸Ä±äµÈµÈ¡£
ÓÃReactÒ»¸ö·Ç³£´óµÄºÃ´¦£¬»òÕßÖÁÉٺô¦Ö®Ò»¾ÍÊÇÄã²»ÐèÒª¸ú×ٱ䶯¡£ÎÞÂÛеĽá¹ûÀïÃæºÎʱºÎ´¦Óб䶯£¬ÄãÖ»ÐèÒªÖØÐÂäÖȾÕû¸öUI¡£ÐéÄâDOMµÄ²îÒì¼ì²é·½Ê½×Ô¶¯ÎªÄã×öÕâЩ£¬ÕâÑù¾Í¼õÉÙÁ˺ܶàµÄ°º¹óDOM²Ù×÷¡£
Om:²»¿É±äÊý¾Ý½á¹¹
¡°ÎÒÄܺÜÃ÷È·µÄÖªµÀÄÇЩ¶«Î÷û±ä¡±
¾¡¹ÜReactµÄÐéÄâDOM¼¼ÊõÒѾºÜ¿ìÁË£¬µ«µ±ÄãÏëäÖȾµÄÒ³ÃæºÜ´ó»òÕߺÜƵ·±µÄʱºò£¨³¬¹ýÿÃë60´Î£©£¬ÈÔÈ»»áÓÐÐÔÄÜÆ¿¾±¡£
ÖØÐÂäÖȾÕû¸ö£¨ÐéÄâµÄºÍÕæʵµÄ£©DOMÕâ¼þÊÂÊÇÕæµÄûÓа취±ÜÃâµÄ£¬³ý·ÇÄãÔڱ䶯Êý¾ÝÄ£Ð͵Äʱºò£¬×öһЩÌرðµÄ¿ØÖÆ£¬¾ÍÏñEmberÄÇÑù¡£
Ò»¸ö¿ØÖƱ䶯µÄ;¾¶ÊDz»¿É±äµÄ³Ö¾ÃÊý¾Ý½á¹¹¡£
ËûÃÇ¿´ÆðÀ´Äܹ»ºÜºÃµÄºÍReactµÄÐéÄâDOM·½·¨Ò»ÆðÐ×÷£¬¾ÍÏñDavidNolenµÄ¹¤×÷ÓÃOm¿âÑÝʾµÄÄÇÑù£¬ÑÝʾ»ùÓÚReactºÍClojureScript.¡£
¹ØÓÚ²»¿É±äÊý¾Ý½á¹¹µÄ˵·¨ÊÇÕâÑù£¬¹ËÃû˼Ò壬Äã²»ÄܸıäÒ»¸ö¶ÔÏó£¬ÄãÖ»ÄܲúÉúËüµÄÒ»¸öеİ汾£ºµ±ÄãÏë¸Ä±äÒ»¸ö¶ÔÏóµÄÊôÐÔµÄʱºò£¬Èç¹ûÄã²»ÄܸıäËü£¬ÄÇôÄãÖ»ÄܲúÉúÒ»¸öеĶÔÏó²¢ÇÒÉèÖÃΪÕâ¸öеÄÊôÐÔ¡£ÒòΪ³Ö¾Ã»¯Êý¾ÝµÄ¹¤×÷·½Ê½£¬Õâ¸öÔÚʵ¼Ê¹¤×÷ÖбÈÌýÆðÀ´¸üÓÐЧ¡£
µ±React×é¼þ״̬¶¼ÊÇÓò»¿É±äÊý¾Ý×é³ÉµÄ£¬±ä¶¯¼ì²é¾Í»á±ä³ÉÕâÑùµÄÇéÐΣºµ±ÄãÖØÐÂäÖȾһ¸ö×é¼þµÄʱºò£¬Èç¹û×é¼þµÄ״̬ÈÔÖ¸ÏòÉÏ´ÎÄãäÖȾ¹ýµÄͬÑùµÄÊý¾Ý½á¹¹£¬ÄÇôÄã¿ÉÒÔÌø¹ýÕâ´ÎäÖȾ£¬Äã¿ÉÒÔ¼ÌÐøʹÓÃÕâ¸ö×é¼þÉÏÒ»´ÎµÄÐéÄâDOM£¬ÒÔ¼°Õû¸öÒÔÕâ¸öδ±ä»¯×é¼þΪÊ÷Ö¦½ÚµãµÄÄÚ²¿×é¼þ¡£Õâʱºò²»ÐèÒª¼ÌÐøÉîÈë¼ì²âÁË£¬ÒòΪûÓÐÈκÎ״̬±ä»¯¡£
¾ÍÏñEmber£¬ÄÇЩÏñOmÕâÑùµÄÀà¿â²»ÔÊÐíÄãÔÚÊý¾ÝÖÐʹÓÃÈκÎÀϵÄjavascript¶ÔÏóͼ¡£ÄãÖ»ÄÜÓò»¿É±äÊý¾Ý½á¹¹´Óµ×²ã¿ªÊ¼À´¹¹½¨ÄãµÄÄ£ÐͲÅÐС£ÎÒ»áÕù±ç˵Çø±ð¾ÍÊÇÕâÒ»´ÎÄã²»ÓÃΪÁËÂú×ã¿ò¼ÜµÄÒªÇóÀ´×öÕâ¼þÊ¡£ÄãÕâô×ö¾ÍÊǼòµ¥ÒòΪÕâÊÇÒ»¸ö¸üºÃµÄ¹ÜÀíÓ¦ÓÃ״̬µÄ°ì·¨¡£Ê¹Óò»¿É±äÊý¾Ý½á¹¹µÄºÃ´¦²»ÊÇΪÁËÌáʾäÖȾµÄÐÔÄÜ,¶øÊǼò»¯ÄãµÄÓ¦Óüܹ¹¡£
OmºÍClojureScriptÔÚ×éºÏReactºÍ²»¿É±äÊý¾Ý½á¹¹ÉÏÒ²ÊÇÓÐÓõģ¬µ«ËûÃDz»ÊDZز»¿ÉÉٵġ£¿ÉÄܽö½öʹÓô¿´âReactºÍÒ»¸öÏñFacebookµÄImmutable-jsÄÇÑùµÄ¿âÒ²¾Í×ã¹»ÁË¡£LeeByron£¬Õâ¸ö¿âµÄ×÷Õߣ¬ÔÚReact.jsConfÉϸø³öÁËÒ»¸ö¹ØÓÚÕâ¸öÖ÷ÌâµÄ¾«²Ê½éÉÜ¡£
ÎÒÍƼöÄãÈ¥¿´¿´RichHickeyµÄ³Ö¾Ã»¯Êý¾Ý½á¹¹ºÍÒýÓùÜÀí£¬ÕâÒ²ÊÇһƪ¹ØÓÚ״̬¹ÜÀí·½·¨µÄ½éÉÜ¡£
ÎÒÔÚwaxingpoeticÓùý²»¿É±äÊý¾Ý½á¹¹ÓÐÒ»¶Îʱ¼äÁË¡£¾¡¹ÜÎÒ²»ÄÜÏ뵱ȻµØÔ¤¼ûµ½Ëü»á±»Ó¦ÓÃÔÚÇ°¶ËUI¼Ü¹¹¡£²»¹ý¿´ÆðÀ´Õâ¸öÊÂÇéÕýÔÚ·¢Éú£¬AngularÍŶӵÄÈËÒ²ÔÚ×öÔö¼ÓÖ§³ÖÕâЩÄÚÈݵÄÊÂÇé¡£
×ܽá
±ä¶¯¼ì²âÊÇUI¿ª·¢ÖеÄÖÐÐÄÎÊÌ⣬¸÷ÖÖjavascript¿ò¼Ü¶¼²ÉÓø÷×Եİ취À´¸ø³ö²»Í¬µÄ½â¾ö·½Ê½¡£
EmberJSÔÚµ±±ä¶¯·¢ÉúµÄµ±Ê±¾Í¿ÉÒÔ¼ì²âµ½¸Ä±ä£¬ÊÇÒòΪËû¿ØÖÆÁËÊý¾ÝÄ£ÐÍAPI£¬µ±Äãµ÷ÓÃAPIµÄ×ö³öÊý¾Ý¸Ä±äʱºò£¬¾Í»á´¥·¢ÏàÓ¦µÄʼþ¡£
Angular.jsÔڱ䶯·¢ÉúÒÔºó¼ì²âµ½¸Ä±ä£¬ËüµÄ×ö·¨ÊÇÖØÐÂÅÜÒ»±éÄã×¢²áÔÚUIÉϵÄÊý¾Ý°ó¶¨£¬È»ºó¿´ÊDz»ÊÇÓÐÖµ·¢ÉúÁ˸ı䡣
´¿Reactͨ¹ýÖØÐÂäÖȾÕû¸öUIµ½Ò»¸öеÄÐéÄâDOM£¬È»ºóºÍ¾ÉµÄÐéÄâDOM×ö±È½ÏÀ´¼ì²âÊý¾Ý¸Ä±ä¡£·¢ÏÖÓÐʲô¸Ä±äÁË£¬È»ºó×÷ΪÐÞ¶©·¢Ë͸øÕæʵDOM¡£
ReactºÍ²»¿É±äÊý¾Ý½á¹¹¿ÉÒÔ×÷Ϊ´¿React½â¾ö·½°¸µÄ¼ÓÇ¿°æ£¬Ëü¿ÉÒÔ¿ìËٵıê¼Ç×é¼þÊ÷Ϊδ±ä»¯×´Ì¬£¬ÒòΪÔÚReact×é¼þÄÚ²¿ÊDz»ÔÊÐí״̬¸Ä±äµÄ¡£²»ÔÊÐí¸Ä±äÄÚ²¿×´Ì¬²¢²»ÊÇΪÁËÐÔÄÜÔÒò£¬¶øÊÇÕâô×ö¶ÔÄãµÄÓ¦ÓóÌÐò¼Ü¹¹Óлý¼«Ó°Ïì¡£
ÒëÕßÐÅÏ¢
ÒëÕߣºÀî±þ³½£¬¾ÍÖ°HPÈí¼þ¿ª·¢²¿ÃÅ£¬10ÄêÒÔÉÏJAVA²úÆ·¿ª·¢¾Ñ飬ÊìϤC#, Python, Nodejs¡£ÔÚ»¥ÁªÍøµçÉÌƽ̨£¬ÆóÒµÈí¼þ¿ª·¢¹ÜÀí·½Ãæ¾ùÓзḻµÄ¾Ñ顣ĿǰÐËȤÔÚÓÚÇ°¶Ë¿ª·¢£¬Êý¾Ýͳ¼Æ·ÖÎöÔÚ½ðÈÚÒµÎñ·½ÃæµÄÓ¦Óá£
|