===============================
ͼÁé³ÌÐòÉè¼Æ´ÔÊ飨Web¿ª·¢ÏµÁУ©
===============================
The Essential Guide to Flex 2 with ActionScript 3.0
Flex³ÌÐòÉè¼Æ
£ÛÃÀ£ÝCharles E. Brown Öø
ÕÅæ÷ Ϳӱ·¼Òë
Õ¾ÔÚ¾ÞÈ˵ļçÉÏ
Standing on Shoulders of Giants
ͼÁé ......
#####################
# B/S & C/S
#####################
B/S(Browser/Server,ä¯ÀÀÆ÷-·þÎñÆ÷)½á¹¹,¿Í»§¶ËÖ»Ðèä¯ÀÀÆ÷¼´¿É£¬¿çƽ̨ÐԽϺ㻼ò»¯Á˿ͻ§¶ËµÄ¹¤×÷£¬ÏàÓ¦µØ¶Ô·þÎñÆ÷ÐÔÄÜÒªÇó½Ï¸ß£»Óë´Ëͬ
ʱ£¬ÒòΪËü£¨¾¡¹ÜÓÐAJAX£©ÎÞ·¨´Ó¸ù±¾Éϸıä“ÍøÂçÓ¦ÓóÌÐòµÄ±íʾ²ã½¨Á¢ÓÚHTMLÒ³Ãæ”Õâ¸öÓ°ÏìÓû§ÌåÑéµÄ“Íò¶ñÖ®Ô´”£¨HTMLÔÚÉè¼ÆÖ®³õÖ»ÊÇΪÁËչʾÎı¾£©£¬¹ÊÓû§ÌåÑéµÃ²»µ½ÖʵÄÌáÉý¡£
C/S(Client/Server,¿Í»§¶Ë-·þÎñÆ÷)½á¹¹£¬¿ÉÔÚ·þÎñÆ÷ºÍ¿Í»§¶Ë¼äƽºâ·þÎñ´¦ÀíÁ¿£»¿Í»§¶ËÐ谲װרÃŵÄÈí¼þ£¬¹Ê¶Ôƽ̨ÓÐÒ»¶¨ÏÞÖÆÒªÇó£»°²×°ºÍά»¤µÄ¹¤×÷Á¿´ó£¬²»¹ýÆäÓû§ÌåÑé±È½ÏºÃ¡£
¸»ÒòÌØÍøÓ¦ÓóÌÐò(RIA)µÄ³öÏÖ¿ªÊ¼´Ó¸ù±¾ÉϸıäÕâÒ»¾ÖÃæ¡£Adobe¹«Ë¾ÍƳöµÄFlex¿ò¼ÜÎÞ·ìµØÕûºÏÁËFlash¡¢ActionScriptÒÔ¼°MXML£¬²¢ÌṩÁ˷ḻµÄ¿ÉÀ©Õ¹Óû§½çÃæ¼°Êý¾Ý·ÃÎÊ×é¼þ£¬Ê¹¿ª·¢ÈËÔ±Äܹ»¿ìËÙ¹¹½¨³ö¾ßÓзḻÊý¾ÝÑÝʾ¡¢Ç¿´ó¿Í»§¶ËÂß¼ºÍ¼¯³É¶àýÌåµÄ¸»ÒòÌØÍøÓ¦ÓóÌÐò¡£Flex¼«´óµØÌá¸ßÁËWeb½çÃæµÄÓû§ÌåÑéºÍÈË»ú½»»¥ÐÔ£¬ËüµÄ³öÏÖԤʾ×ÅÒòÌØÍøÓ¦ÓóÌÐòµÄÃæÃ²½«»ÀȻһС£
######################
# RI ......
ÈÕǰ×öÏîÄ¿£¬ÐèÒª°ÑÒ³ÃæµÄJS´úÂë³é³öÀ´·Åµ½Ò»¸ö.jsÎļþÖУ¬ÓÉÓÚflex³ÌÐòÊÇÒÔdiv+SWFObjectµÄ·½Ê½Ç¶Èëµ½Ò³ÃæµÄ£¬ÎªÁ˴ﵽĿ±êÍøÕ¾Ö»ÐèÒªÒýÓÃÒ»¸ö.jsÎļþ¼´ÊµÏÖÒýÓÃÏîÄ¿¹¤³ÌµÄÄ¿µÄ£¬ËùÒÔÒ²Òª°ÑSWFObjectµÄ´úÂë·Åµ½.jsÎļþÖС£
˼·ÊÇÓÃdocument.write()°ÑÒýÓÃswfÎļþµÄ´úÂëд½øÒ³Ã棬Ȼºó°ÑflexÒªµ÷ÓõÄjsº¯Êý¶¼·Åµ½.jsÎļþÖÐ
ºÜ¿ì£¬¾ÍÇ¨ÒÆÍê±ÏÁË¡£²âÊÔing...
Ïë²»µ½µÄÊÇ£¬flexÖÐÓÃExternalInterface.call("methodName",params);µ÷JSº¯ÊýȱûÓзµ»ØÖµ£¬ÓÃalert("a")µ¯³öһϣ¬¹ûȻûÓе÷Óõ½¡£ÕâÊÇÎªÊ²Ã´ÄØ£¿ÄѵÀ°ÑSWFÓÃdocument.writeµÄ·½Ê½¼ÓÈëµ½Ò³ÃæºóȨÏÞ½µµÍÁË£¿
·Å¹·ÕÒÁËһϣ¬Ëƺõ´ó¼ÒµÄµ÷Óö¼ºÜÕý³£……°¦……ÈËÉú×îÍ´¿àµÄÊÂÇéιýÓÚ´ËÁË¡£
ͻȻÏëµ½infoqµÄһЩÁ¬½ÓÏÔʾµÄÊÇÀàËÆjavascript:void(0)µÄ×ÖÑù£¬ÓÚÊǺõ£¬ÎÒÏëµ½ÁËÓÃflexµÄURLRequestµ÷ÓÃÒ³ÃæµÄJS¡£
Á¢¿Ì³¢ÊÔ
flexÖУº
var req:URLRequest = new URLRequest("javascript:test('hello')");
navigateToURL(req,"_self");
ÔÚJSÖУº
function test(str){
alert("ÄãºÃ" + str);
return "world";
}
ä¯ÀÀÆ÷µ¯³ö¶Ô»°¿ò£¬ÀïÃæµÄÎÄ×ÖÏÔʾҲÕý³£¡£
Õâ˵Ã÷ÓÃURLReq ......
ÈÕǰ×öÏîÄ¿£¬ÐèÒª°ÑÒ³ÃæµÄJS´úÂë³é³öÀ´·Åµ½Ò»¸ö.jsÎļþÖУ¬ÓÉÓÚflex³ÌÐòÊÇÒÔdiv+SWFObjectµÄ·½Ê½Ç¶Èëµ½Ò³ÃæµÄ£¬ÎªÁ˴ﵽĿ±êÍøÕ¾Ö»ÐèÒªÒýÓÃÒ»¸ö.jsÎļþ¼´ÊµÏÖÒýÓÃÏîÄ¿¹¤³ÌµÄÄ¿µÄ£¬ËùÒÔÒ²Òª°ÑSWFObjectµÄ´úÂë·Åµ½.jsÎļþÖС£
˼·ÊÇÓÃdocument.write()°ÑÒýÓÃswfÎļþµÄ´úÂëд½øÒ³Ã棬Ȼºó°ÑflexÒªµ÷ÓõÄjsº¯Êý¶¼·Åµ½.jsÎļþÖÐ
ºÜ¿ì£¬¾ÍÇ¨ÒÆÍê±ÏÁË¡£²âÊÔing...
Ïë²»µ½µÄÊÇ£¬flexÖÐÓÃExternalInterface.call("methodName",params);µ÷JSº¯ÊýȱûÓзµ»ØÖµ£¬ÓÃalert("a")µ¯³öһϣ¬¹ûȻûÓе÷Óõ½¡£ÕâÊÇÎªÊ²Ã´ÄØ£¿ÄѵÀ°ÑSWFÓÃdocument.writeµÄ·½Ê½¼ÓÈëµ½Ò³ÃæºóȨÏÞ½µµÍÁË£¿
·Å¹·ÕÒÁËһϣ¬Ëƺõ´ó¼ÒµÄµ÷Óö¼ºÜÕý³£……°¦……ÈËÉú×îÍ´¿àµÄÊÂÇéιýÓÚ´ËÁË¡£
ͻȻÏëµ½infoqµÄһЩÁ¬½ÓÏÔʾµÄÊÇÀàËÆjavascript:void(0)µÄ×ÖÑù£¬ÓÚÊǺõ£¬ÎÒÏëµ½ÁËÓÃflexµÄURLRequestµ÷ÓÃÒ³ÃæµÄJS¡£
Á¢¿Ì³¢ÊÔ
flexÖУº
var req:URLRequest = new URLRequest("javascript:test('hello')");
navigateToURL(req,"_self");
ÔÚJSÖУº
function test(str){
alert("ÄãºÃ" + str);
return "world";
}
ä¯ÀÀÆ÷µ¯³ö¶Ô»°¿ò£¬ÀïÃæµÄÎÄ×ÖÏÔʾҲÕý³£¡£
Õâ˵Ã÷ÓÃURLReq ......
###################
#
FlexÓëWebÉè¼Æ
###################
´ó¶àÊýÆóÒµ¼¶µÄWebÉè¼Æ¶¼ÐèÓÐ3²ã½á¹¹£º
*
±íÏÖ²ã(Presentation
Tier)£ºÕâÒ»²ã¹¹½¨µÄÊÇÓû§¿´µ½µÄÄÚÈÝ¡£ÓÐʱºò£¬ÈËÃÇÒ²°ÑÕâÒ»²ã½Ð×öͼÐÎÓû§½çÃæ(graphical
user interface,GUI)¡£
*
ÒµÎñÂß¼²ã(Business
Logic
Tier)£ºÄ»ºó¹¤×÷¾Í·¢ÉúÔڴ˲㡣³ÌÐò´úÂë¾ÍÊÇÔÚÕâÀïÈ·¶¨Ê²Ã´¿ÉÒÔÁôÏÂÀ´¡¢Ê²Ã´²»¿ÉÒÔÁôÏÂÀ´ÒÔ¼°µ½ÆäËû·þÎñÆ÷ºÍÊý¾Ý¿âµÄÁ¬½Ó¡£ÕâÊÇÍê³ÉʵÖÊÐÔ¹¤×÷µÄµØ·½¡£
*
¹Ç¸É²ã(Backbone
Tier)£º¸ù¾ÝÒµÎñÂß¼²ãÖÐÉùÃ÷µÄ¹æÔòÀ´ÊÕ¼¯ºÍ·Ö·¢Êý¾ÝµÄÊý¾Ý¿â·þÎñÆ÷¾Í´¦ÔÚÕâÒ»²ã¡£
ÈËÃÇÓÐʱºò°ÑÖîÈç´ËÀàµÄÉè¼Æ½Ð×ön-²ãÉè¼Æ¡£³ýÁ˸ղÅÁгöµÄ»ù±¾µÄ3²ãÉè¼Æ£¬ÓÐЩÉè¼Æ·½°¸»¹ÓжîÍâµÄ·þÎñÆ÷²ãºÍÊý¾Ý²ã¡£
FlexÖ÷ÒªÊDzÎÓë±íÏÖ²ãµÄ½¨Éè¡£ÊÂʵÉÏ£¬ÈËÃdz£³£°ÑFlex³ÆÎª³ÊÏÖ·þÎñÆ÷¡£ËüµÄÖ÷Òª¹¦ÄÜÊÇÔËÓÃΪ´´½¨RIA(µÚ1ÕÂÓнéÉÜ)¶øÉè¼ÆµÄ¹¤¾ßÀ´´´½¨Óû§½»»¥¡£
###################
#
FlexÓ¦ÓóÌÐò¿ò¼Ü
###################
FlexÓ¦ÓóÌÐò¿ò¼ÜÓÐÆä×ÔÉíµÄ²ã´Î½á¹¹¡£
&nb ......
Ò»¡¢¹úÍâÕ¾µã
1.×ÊÔ´ÍøÕ¾
Adobe Labs
£ºÕâ¸ö²»ÓÃÎÒ˵Á˰ɡ£
Flex.org
£º¹Ù·½µÄFlexÍøÕ¾£¬»ù±¾ÉÏÓ¦Óо¡ÓС£
Flex Developer Center
£ºAdobe Flex¿ª·¢ ÕßÖÐÐÄ£¬¾³£»áÓÐһЩºÃµÄ½Ì³Ì³öÏÖ¡£
FlexBox
£ºÒ»¸öÊÕ¼¯ÁËÍøÉϺܶ࿪Դ ×é¼þµÄÕ¾µã£¬Êǽø½×ѧϰµÄºÃ°ïÊÖ¡£
FlexLib
£ºGoogle Code ÉÏÃæÒ»¸ö¿ªÔ´Flex×é¼þÏîÄ¿¡£
CFlex
£ººÜºÃµÄÒ»¸öFlex×ÊÔ´Õ¾µã£¬°üÀ¨½Ì³Ì£¬ÐÂÎÅ£¬×ÊÔ´Õ¾µã…… Ö»ÊÇÒ³ÃæÓеãÔÓÂÒ£¬´ó¼ÒÒ»°ã¿´ÓÒ±ßÄÇÒ»À¸¾ÍÐÐÁË¡£
Flex 3 Help
£ºAdobe µÄonline °ïÖúÎĵµ¡£
Getting Started
£ºAdobe µÄonline ½Ì³Ì£¬builder×Ô´øµÄhelp content ÀïÃæÒ²ÓÐÏà¹ØÄÚÈÝ¡£
2. Explorers
Flex 2 Filter Explorer
£ºÓÃÀ´µ÷½Ú¸÷ÖÖÂ˾µ£¨filter£©£¬·Ç¹Ù·½µÄ£¬Ô´´úÂëÌṩÏÂÔØ¡£
Flex 2 Primitive Explorer
Flex Examples
Flex 2 Component Explorer
Flex 3 Component Explorer
Flex 2 Style Explorers
Flex 3 Style Explorers
Charting Components Explorer
A directory of Adobe Flex components
Flex Style Creator
Easing Effects Explorer
Color Explorer
Cairngorm Diagram Explorer
Flex Enhanced B ......
¸ÕѧÍêJSP£¬ÏëΪFlexÅäÖÃTomcat·þÎñÆ÷£¬²¢²»ÏñMyEclipseÄÇô¼òµ¥¡£¿´Á˺ܶà½Ì³Ì»¹ÊǾõµÃͦÂé·³µÄ¡£½áºÏ¼¸¸ö½Ì³Ì£¬³É¹¦ÔÚhttp://127.0.0.1:8080/flexserver1/ ÖÐÏÔʾ³ö½á¹û¡£ËùÒÔ°Ñ×Ô¼ºµÄ¹ý³ÌÐðÊöһϣº
ǰÌ᣺ ÒѰ²×°Flexbuilder3£¬tomca6.0
ÏÂÔØ£º blazeds-turnkey-3.3.0.15201 Æäʵ¿ÉÒÔ²»ÓÃturnkey°æµÄ£¨²»Ã÷°×¸÷ÖÖ²î±ð¾ÍÕÒÁËÒ»¸öÏà¶Ô½Ï´óµÄ°æ±¾ÏÂÁË £©
ÏÂÔØµØÖ·£ºhttp://opensource.adobe.com/wiki/display/blazeds/Release+Builds
ֻҪѡÔñÒ»¸öBinary Distribution°æ±¾¾Í¿ÉÒÔÁË¡£ÎļþΪ£ºblazeds-bin-3.2.0.3978.zip¡£
ÏÂÔØÍê³Éºó½âѹ¡£ÖØÒªµÄÊÇblazeds.wap Õâ¸öÎļþ£¬ÓÃWinRaR´ò¿ª½âѹ¡£ÀïÃæÓÐÁ½¸öÎļþ¼Ð£ºMETA-INFºÍWEB-INFÕâÁ½¸öÎļþ¼Ð¡£ÕâÁ½¸öÎļþ¼Ð¿´ÆðÀ´ºÜÊìϤ¡£¾ÍÊÇJSP¹¤³ÌϵÄÁ½¸öÎļþ¼Ð¡£
´ò¿ªTomcatÎļþ¼ÐϵÄwebappÎļþ¼Ð¡£ÒòΪ֮ǰÓÐ×ö¹ýһЩJSPµÄÀý×Ó¡£¿ÉÒÔ¿´µ½Ò»Ð©¹¤³ÌÃû¡£²ÂÏëÕâ±ßÊÇ´æ·Å¹¤³ÌµÄµØ·½¡£
ÔÚwebappÏÂн¨Ò»¸öÎļþ¼Ð¡£Ãû×ÖÈÎÒ⣬¿ÉÒÔÊÇÄã¼´½«ÒªÐ½¨µÄflex¹¤³ÌµÄ¹ ......