¡¾ÒýÑÔ¡¿½üÄêÀ´Ëæ×ÅÒÆ¶¯É豸ÀàÐ͵ıä¶à£¬²Ù×÷ϵͳµÄ±ä¶à£¬Óû§ÐèÇóµÄÔö¼Ó£¬¶ÔÓÚÿ¸öÏîÄ¿Æô¶¯Ç°£¬´ó¼Ò¶¼»á¿¼Âǵ½µÄ³É±¾£¬ÍŶӳÉÔ±£¬¼¼Êõ³ÉÊì¶È£¬Ê±¼ä£¬ÏîÄ¿ÐèÇóµÈÒ»¶ÑµÄÒòËØ¡£Òò´Ë£¬¿ª·¢AppµÄ·½°¸ÒѾ±äµÃÔ½À´Ô½¶àÁË¡£Ôø¾ÓÐÒ»¶ÎHTML5µÄСÀ˳±£¬ÎÞÊýµÄÈ˲ÎÓë»òÕß¿´µ½¹ýÒ»¸öÌÖÂÛ£ºÔÉú¿ª·¢»¹ÊÇ»ìºÏ¿ª·¢£¬ÓÖ»òÕßÊÇWeb¿ª·¢£¿µ½µ××î¼Ñʵ¼ùÊÇÔõÑùµÄ£¬±ÊÕßÈÏΪֻÓÐʵ¼ù¹ýµÄÈ˲ŻáÖªµÀ¡£ÓÈÆäÊÇÔÚÕâ¸ö³äÂú¸÷ÖÖ±äÊýµÄÒÆ¶¯»¥ÁªÍøÊ±´ú¡£
¡¾ÕªÒª¡¿±ÊÕß½«´ÓHybrid AppµÄ¿ª·¢ÏÖ×´³ö·¢£¬²ûÊöHybrid AppµÄÓÅȱµã£¬Í¬Ê±¶Ô±ÈHybrid
AppÓëNative AppµÄ¸÷×ÔÌØÐÔ£¬×îºó̽ÌÖÒ»ÏÂHybrid AppµÄÐÂ˼Ïë·½Ïò¡£
Hybrid AppÏÖ×´·ÖÎö
Web App
ºÁÎÞÒÉÎÊWeb App¾ÍÊdzɱ¾×îµÍ£¬×î¿ìËٵؽâ¾ö·½°¸ÁË¡£ÓÈÆäÊǽüÁ½Äê·Ç³£Á÷ÐеÄÏìӦʽÉè¼Æ£¬Web
AppÊг¡ÌṩÁ˷dz£ºÃµÄʵ¼ù³¡µØ¡£×î½üµäÐ͵ÄWeb App×î¼Ñ°¸ÀýÊÇSunÌìÆøÓ¦ÓÃÁË£¬Æäϸ½Ú´¦ÀíÈÃÈËÔÞ²»¾ø¿Ú¡£
Ò»°ãÀ´Ëµ£¬ÓµÓÐÏÂÃæÌØµãµÄ¾ÍÊÇÒ»¸öWeb AppÁË£ºÊ¹ÓÃä¯ÀÀÆ÷ÔËÐУ»´¿Webǰ¶Ë¼Ü¹¹£¬ºÜ¶àÖØÒªÊÖ»úÌØÐÔÎÞ·¨·ÃÎÊ£¬ÀýÈçÁªÏµÈËÒÔ¼°Push
notificationÖ®ÀàµÄ£»Single Page App£»ÏúÊÛÇþµÀ¶àÏÞÓÚä¯ÀÀÆ÷¡£
Hybrid App
ËùνµÄHybrid AppÆäʵ»áÓв»Í¬µÄ·ÖÖ§¡£¶øÇÒ»áºÍNativeÓ¦ÓÃÓÐÖØºÏµÄµØ·½¡£ÏÂÃæ¾Í˵ÈýÖÖ²»Í¬µÄ½â¾ö·½°¸¡£
·½°¸Ò»£ºÊ¹ÓÃPhoneGap¡¢AppCanÖ®ÀàµÄÖмä¼þ£¬ÒÔWebView×÷ΪÓû§½çÃæ²ã£¬ÒÔJavascript×÷Ϊ»ù±¾Âß¼£¬ÒÔ¼°ºÍÖмä¼þͨѶ£¬ÔÙÓÉÖмä¼þ·ÃÎʵײãAPIµÄ·½Ê½£¬½øÐÐÓ¦Óÿª·¢¡£ÕâÖּܹ¹Ò»°ã»á·Ç³£ÒÀÀµWebView²ãµÄÐÔÄÜ¡£
·½°¸¶þ£ºÊ¹ÓÃAdobe Air¡¢RubyMotion¡¢Appcelerator»òÕßÊÇXamarinÕâÖַǹٷ½ÓïÑԵŤ¾ß£¬´ò°ü³ÉÔÉúÓ¦Óõķ½Ê½¿ª·¢¡£ÎªÊ²Ã´±ÊÕ߻ὫËüÃǶ¨ÒåΪHybrid
App£¬Ö÷ÒªÊÇËüÃDz¢Ã»Óкܵ¥´¿µØÊ¹ÓÃÔÉúÌṩµÄÓïÑÔ½øÐпª·¢£¬¶øÊÇͨ¹ý¶Ô¿ª·¢ÕßÌṩÓѺõĿª·¢¹¤¾ß£¬²¢ÕÛÖеذÑÕâÖÖ¿ª·¢ÓïÑÔת»»³ÉÔÉúÓïÑÔ£¬×îÖÕ´ò°ü³öÕû¸öÓ¦Óã¬ËùÒÔÒ²ÊôÓÚ»ìºÏÓ¦Ó÷¶³ë¡£
·½°¸Èý£ºÔÚ¿ª·¢ÔÉúÓ¦ÓõĻù´¡ÉÏ£¬Ç¶ÈëWebViewµ«ÊÇÕûÌåµÄ¼Ü¹¹Ê¹ÓÃÔÉúÓ¦ÓÃÌṩ£¬Ò»°ãÕâÑùµÄ¿ª·¢ÓÉNative¿ª·¢ÈËÔ±ºÍWebǰ¶Ë¿ª·¢ÈËÔ±×é³É¡£Native¿ª·¢ÈËÔ±»áдºÃ»ù±¾µÄ¼Ü¹¹ÒÔ¼°APIÈÃWeb¿ª·¢ÈËÔ±¿ª·¢½çÃæÒÔ¼°´ó²¿·ÖµÄäÖȾ¡£±£Ö¤µ½½»»¥Éè¼Æ£¬ÒÔ¼°¿ª·¢¶¼ÓÐÒ»¸ö±È½ÏÕÛÖеÄЧ¹û³öÀ´£¬ÓÅ»¯µÃºÃÒ²»áÓкܰôµÄЧ¹û¡££¨µ±ÄêFacebook
Three20¾ÍʹÓø÷½°¸£©
Òò´Ë£¬Hybrid AppÓÐÒÔϵÄÌØÐÔ£º
¿ª·¢Ê±¿ÉÄܲ»²ÉÓûòÕߴ󲿷ֲ»²ÉÓÃÔÉúÓïÑÔ£¬µ«ÊÇÈ´ÓÐËùÓÐÔÉúÓ¦ÓõÄÌØÐÔ£»
¼Ü¹¹·½°¸»áºÍÔÉúÓгöÈ룬»ù±¾Óɹ¤¾ß¶ø¶¨£»
¾ßÓÐ¿çÆ½Ì¨ÌØÐÔ£»
Ò»°ã¿ª·¢Ïà¶ÔÔÉú¿ª·¢µÄ·½Ê½Òª¼òµ¥¡£
Native App
Native AppºÁÎÞÒÉÎÊÊÇ×î¿É¿¿µÄ·½°¸¡£µ«ÊÇѧϰ³É±¾£¬È˲ųɱ¾£¬¿ª·¢Ð§ÂÊÒÔ¼°Õչ˲»Í¬Æ½Ì¨µÄÌØÐÔÈ¥¿¼ÂÇ£¬¶¼³ÉΪÁË¿ª·¢ÈËÔ±ÐÄÄ¿ÖеÄÒ»µÀ¿²¡£ÖÁÓÚ˵ÕâµÀ¿²ÊDz»¿ÉÓâÔ½µÄ»¹ÊÇÒ»µÀÈÃÄãÌá¸ßµÄ¿²£¬±ÊÕß¾õµÃÍêȫȡ¾öÓÚÄã×Ô¼º¡£»ùÓÚÖÖÖÖÒòËØµÄ¿¼ÂÇ£¬¹À¼ÆºÜ¶àÈ˾ͻáÑ¡ÔñÕÛÖеķ½°¸µ½ÁËHybrid
AppµÄ¿ª·¢ÐÐÁе±ÖУ¬°üÀ¨±ÊÕß×Ô¼ºÒ²ÊÇÕâÑù¹ýÀ´µÄ¡£
ÏÂÃæ¸ü¶àµÄÄÚÈݶ¼½«Î§ÈÆHybrid App¿ª·¢Õ¹¿ªÌÖÂÛ¡£
Hybrid AppÔÚ¿ª·¢µ±ÖеÄÓŵãºÍȱµã
ÔÚHybrid AppµÄ¿ª·¢¹ý³ÌÖУ¬¼¸ÖÖ²»Í¬µÄ·½°¸±ÊÕß¶¼ÓоÀú¹ý¡£µ±È»Ò²¾Àúµ½ÁËNative
AppµÄ¿ª·¢½×¶Î¡£ÔÚÈç´Ë¾À½á¸´ÔӵĹý³ÌÖиøÁ˱ÊÕß²»ÉٵľÑ飬ÏÂÃæ±ÊÕßÒ²»á¾Í×ÔÉíµÄ¾ÑéºÍ´ó¼Ò·ÖÏíÕâЩ·½°¸µ±ÖеÄÓÅȱµã¡£¶ÔÓÚ³õÈëÐеÄÅóÓÑ£¬±ÊÕßÊÇ´ÓWebǰ¶ËÈëÐеģ¬±Ï¾¹Ãż÷½ÏµÍ£¬¶øÇÒÄܹ»¿ìËÙµØÅàÑø×Ô¼ºµÄÐÅÐÄÒÔ¼°¶Ô´úÂëµÄ¸Ð¾õ¡£ÉîÈëºó¾Í¿ªÊ¼½Ó´¥µ½Òƶ¯¿ª·¢Õâ¿éÁË¡£ËùÒÔ»áÏÈ´ÓHybrid
AppµÄµÚÒ»ÖÖ·½°¸ËµÆð°É¡£
·½°¸Ò»£¨Web¼Ü¹¹ÎªÖØ£©
Óŵ㣺
È«Web¿ª·¢£¬Ò»¶¨³Ì¶ÈÉÏÓÐÀûÓÚWebǰ¶Ë¼¼ÊõÈËÔ±¿ìËٵع¹½¨Ò³ÃæÑùʽ£»
ÓÐÀûÓÚÔÚ²»Í¬µÄƽ̨ÉÏÃæÕ¹Ê¾Í¬Ò»¸ö½»»¥²ã£»
±ãÓÚµ÷ÊÔ£¬¿ª·¢µÄʱºò¿ÉÒÔͨ¹ýä¯ÀÀÆ÷µÄ·½Ê½½øÐе÷ÊÔ£¬¹¤¾ß·á¸»¡£
ȱµã:
ËäȻ˵Äã¿ÉÒÔרעÔÚ½çÃæÒÔ¼°½»»¥¿ª·¢ÉÏÁË£¬µ«ÊÇÕâÒ³»á³ÉΪһ¸öȱµã£¬±ÈÈç˵Ҫ·ÂÔìÒ»¸öiOSµÄĬÈÏÉèÖýçÃæ£¬¾ÍÐèÒª´óÁ¿µÄhtmlÒÔ¼°css´úÂëÁË£¬¶øÇÒЧ¹û²»Ò»¶¨ºÍiPhoneÉÏÃæµÄ½çÃæÒ»ÑùºÃ£»
ÕýÒòΪÕâÊÇ¿çÆ½Ì¨µÄ¿ª·¢£¬ËùÒÔ»¹ÊÇÕâ¾ä»°£º¼æÈÝÊÇǰ¶ËµÄÍ´¡£Á˽â¹ýÔÚAndroid»úÆ÷ÉÏÃæµÄWeb¿ª·¢¾ÍÖªµÀÕâ¸öÍ´ÁË¡£±ÈÈçǰЩÄêÔÚAndroidÉ豸ÉÏÃæÐ´Ô²½Ç£¬border-radius:10px£¬ÔÚAndroidµÄÉ豸ÉÏÃæ»á³öÏÖë±ß¡£
±ãÓÚµ÷ÊÔÆäʵÊÇÔÚWeb½çÃæ²ãµÄ¡£µ«ÊÇʵ¼ÊÉÏ×öHybrid App¿ª·¢µÄʱºò£¬Äã»áÓöµ½ÐèÇ󣬽øÈëÊÖ»úµÄµ×²ãÇëÇó£¬×öijЩ´¦Àí¡£±ÈÈç˵Èç¹û¸ÃÓ¦ÓÃÓÐPush
Notification·þÎñµÄ»°£¬Äã¾ÍÐèÒªµ½µ×²ã£¬»ñÈ¡Push Notification·¢ÉúʱµÄÊý¾Ý£¬ÒÔ¼°×öÏàÓ¦µÄ½»»¥´¦Àí¡£µ±È»ÀàËÆPhoneGapÕâÀà¿ò¼Ü£¬ÒѾÓкܺõIJå¼þ»úÖÆÈ¥°ïÖúÄã½â¾öÀàËÆµÄÎÊÌ⣬µ±È»»¹ÓÐGame
CenterÖ®ÀàµÄ²å¼þ£¬¾ßÌåµÄ»°¿ÉÒÔµ½GithubÈ¥¹Ø×¢PhoneGap¹Ù·½µÄÕË»§£¬×ÊÔ´·Ç³£·á¸»£»
·½°¸¶þ£¨±àÒëת»»·½Ê½£©
Óŵ㣺
ÀûÓÃ×Ô¼ºÊìϤµÄÓïÑÔ£¬½øÐÐÓ¦Óÿª·¢£¬±ÈÈçRubyMotion£¬¾ÍÊÇʹÓÃRubyÓïÑÔÈ¥×öiOS¿ª·¢£¬¿ª·¢ÆðÀ´µÄ»°£¬´úÂëÁ¿ÊÇÊýÁ¿¼¶µØÏ½µ°¡¡£
²¿·Ö¿ª·¢¹¤¾ßÌṩ¿çƽ̨µÄ¹¦ÄÜ£¬ÈÃÄãµÄÓ¦ÓÃÄܹ»¿ìËٵط¢²¼µ½²»Í¬µÄƽ̨ÉÏÃæ¡£±ÈÈçMonoÉçÇøµÄXamarin£¬¾ÍÊǵäÐ͵ÄÀý×ÓÁË¡£Ê¹ÓÃC#ÓïÑÔ£¬Äܹ»°ÑÄãµÄÓ¦Ó÷¢²¼µ½iOS£¬AndroidÒÔ¼°WinPhoneÊг¡ÉÏÃæ£»
¿ª·¢³öÀ´µÄ³ÌÐòÔËÐиßЧ¡£´ó²¿·ÖÕâÖּܹ¹µÄÓ¦Óã¬Æäʵ»¹ÊǷdz£ÒÀÀµµ×²ãµÄ¶«Î÷µÄ£¬¶øÇÒ°üÀ¨½çÃæµÄ¶«Î÷£¬¶¼ÊÇʹÓÃÔÉúµÄAPI£¬Ð§Âʾ͵±È»Òª±ÈÀàËÆÓÚPhoneGapÕâÖּܹ¹ÒªºÃÁË£»
ȱµã£º
ÑÏÖØÒÀÀµÓÚÆä¹¤¾ß³§ÉÌÌṩµÄ¹¤¾ß°ü£¬µ÷ÊÔµÄʱºò¾ÍÒªÓÐÈ«Ì׵Ť¾ß¡£µ±È»Ò»°ãÀ´ËµÕâЩ³§É̶¼»áÒÔÊշѵÄÐÎʽ·¢²¼ËûÃǵŤ¾ß£¬ÏàÓ¦µÄÒ²ÓпͷþÌṩ¼¼ÊõÖ§³Ö¡£Óöµ½ÏµÍ³Éý¼¶£¬µÚÈý·½sdkÉý¼¶£¬¿ª·¢¹¤¾ß³öÏÖbugµÈ£¬ÄÇô¾ÍÒªµÈ´ý¹¤¾ß³§É̽â¾öÁË¡£Ï൱ÓÚ°Ñ·çÏÕѹÔÚ¶Ô·½ÉíÉÏÁË£¬×Ô¼ºÈ´Òª³Ðµ£ÔðÈΡ£
·½°¸Èý£¨Native¼Ü¹¹ÎªÖØ£©
Óŵ㣺
ÕâÎÞÒÉÊÇ×îÎȶ¨µÄHybrid App¿ª·¢·½Ê½ÁË£¬½»»¥²ãµÄЧÂÊÉÏÓÉNativeµÄ¶«Î÷½â¾öÁË£¬¶øÇҼܹ¹ÉÏ»ù±¾¾ÍÊÇÔÚAppÄÚÐ´ÍøÒ³£¬Á¬App
Store¶¼ÊDzÉÓÃÁ˸ÃÖÖ·½°¸£»
¿ª·¢Ê±·Ö¹¤·Ç³£Ã÷È·£¬µ×²ãµÄÓÉiOS¿ª·¢ÈËÔ±´¦Àí£¬ÉϲãµÄÓÉWebǰ¶Ë¿ª·¢ÈËÔ±´¦Àí£»
ÓÐЧµÄÔÚÏß²ÎÊýÅäÖ÷½Ê½£¬ÒÔ±ãÓÚ¼°Ê±ÔÚÏßÌæ»»½çÃæ£»
ȱµã£º
ÍŶÓÖÁÉÙÐèÒªÁ½¸ö¹¤³Ìʦ£¬Ò»¸öÊÇWebµÄ£¬Ò»¸öÊÇiOSµÄ¡£µ±È»Èç¹û¿ª·¢ÈËÔ±»áÁ½ÖÖ¼¼ÊõÒ²¿É¶ÀÁ¢³Ðµ££»
»¹ÊÇÔËÐÐЧÂÊ£¬ÒªÈ¨ºâºÃ¶àÉÙ½çÃæ²ÉÓÃWebÀ´äÖȾ£¬±Ï¾¹WebViewµÄЧÂÊ»áÏà¶Ô½µµÍ£¬ÒÔǰFacebook¾ÍÊÇÒòΪWebµÄäÖȾЧÂʵÍÏ£¬°ÑÕû¸öÓ¦ÓøÄΪÔÉúµÄ½â¾ö·½°¸¡£µ±È»ÕâÀïÃæ¿ÉÒÔͨ¹ýÓÅ»¯À´½â¾ö¡£µ«ÊÇÓÅ»¯Ò²ÊÇÓÐÏ޶ȵģ¬ÈçRuby´´Ê¼ÈËMatzËù˵ÓÅ»¯ÒªÇ¡µ±£¨°üÀ¨»¨µÄʱ¼ä£¬¼¼Çɵȣ©£¬¶øÇÒÓÐʱºòµÄÓÅ»¯´ïµ½µÄ»Ø±¨Âʲ»Ò»¶¨´ïµ½Äã×Ô¼ºµÄÆÚÍû¡£
Hybrid AppºÍNative App¿ª·¢¶Ô±È
ÒòΪ·½°¸ÈýÖеÄ˼Ïë»ù±¾ÉϾÍÊÇÔÉúÓ¦ÓõĿª·¢Ë¼ÏëÁË¡£ÕâÀïÒª×öµÄ¶Ô±ÈÓ¦¸Ã²»Ëã´ó£¬Òò´Ë±ÊÕß²»»á×öÌ«¶àµÄ²ûÊö½éÉÜÁ½ÕߵIJ»Í¬¡£µ«ÊÇÈç¹ûÊÇÆ«ÖØWeb¼Ü¹¹µÄ£¬»òÕßÊÇÒÔ·½°¸¶þÕâÖÖ͸¹ýÌØÊ⹤¾ß¿ª·¢µÄ£¬¾ÍºÍÔÉú¿ª·¢ÓжԱÈÁË¡£Õâ´Î±ÊÕßÔÝʱ»áÒÔ·½°¸Ò»ÄÃÀ´ÌÖÂÛ¡£ÌÖÂÛÖÐÖ÷Òª»áÒԼܹ¹£¬´úÂë¹ÜÀíÉÏÀ´ÌÖÂÛ£¬µ±È»Ò²»á˵µ½²¿·Öϸ½Ú¡£
¼Ü¹¹ÌÖÂÛ£º
ÒòΪÕâÊÇÆ«ÖØÓÚWeb¿ª·¢µÄÓ¦Óã¬ÕâÀïÃæ¾ÍÐèÒª¿ª·¢ÈËÔ±ÓкÜÇ¿ÁҵĴóÐÍWebǰ¶Ë¼Ü¹¹Ë¼ÏëÔÚÀïÃæ¡£Ìáµ½ÕâÀï¿ÉÄÜÂíÉϸ¡ÏÖÔÚÄãÄÔº£ÖеĴÊÓï¾ÍÊÇ£ºangular.js£¬require.js£¬sea.js£¬backbone.jsµÈ¡£Ã»´í£¬ÕâЩ¹¤¾ß¶¼Äܹ»°ïÖúÄã¿ìËÙµØÊáÀíºÃ˼·£¬¹ÜÀíºÃÄãµÄWebÓ¦Ó᣶Կª·¢Õß×îÓѺõ쬷¢»Ó¿Õ¼ä×î´óµÄ·ÇPhoneGapĪÊôÁË¡£ËùÒÔ±ÊÕ߾ͻáÒÔPhoneGapÓ¦ÓÃÕ¹¿ªÌÖÂÛ¡££¨ÒòΪÀàËÆSenchaÒ²ÓÐÌṩ·½°¸£¬µ«ÊÇSencha±¾ÉíÊÇÒ»¸öÖØÁ¿¼¶µÄ¿ò¼Ü£¬¶øÇÒÓÐ×Ô¼ºµÄ˼ÏëÔÚÀïÍ·£¬¼ÓÉÏËû±¾ÉíÒ²Ìṩ¿ª·¢¹¤¾ß£¬ÔÚÕâÀï¾Í²»ÊʺÏÌÖÂÛÁË¡£¶ÔÓÚ¿ª·¢ÕßÀ´Ëµ¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÇóÑ¡ÔñºÃ¹¤¾ß£©
´Ó¹¤¾ßÉÏ¿´£º
Angular.js
ÓÃÓÚË«Ïò°ó¶¨£¬ÍøÂçÇëÇó£¬ÊÓͼ¹ÜÀíµÈ¹¤×÷¡£
Require.js
javascriptÄ£¿é»¯¹¤¾ß£¬ÔÚʹÓý϶àµÄ½»»¥¶ÔÏó£¬PhoneGap²å¼þµÄʱºò£¬Äã¾Í»á·¢ÏÖÒ»¸öÇ¿´óµÄÄ£¿é»¯¹¤¾ß»áÔÚ¿ª·¢µÄʱºòÌṩ¼«ºÃµÄ°ïÖú¡£Äܹ»°ïÖúÄã°ÑÕûÌåµÄ´úÂ룬¹ÜÀíµÃ¾®¾®ÓÐÌõ¡£
Jade Template Engine
Ä£°åÒýÇæ¡£±ÊÕ߸öÈ˱ȽÏÍÆ¼öʹÓÃJade£¬¶øÇÒ±ÊÕß±¾ÈËÒ²ÔÚ²©¿ÍÖжà´Îдµ½JadeÔÚ²»Í¬³¡¾°ÏÂʹÓõļ¼ÇɵÄÓйØÎÄÕ¡£Ö÷ÒªÊÇjadeµÄÓ﷨̫¼ò½àÁË£¬¶øÇÒÃæÏòJS¿ª·¢ÈËÔ±·Ç³£ÓѺá£Èç¹ûÄ㻹ûÓпªÊ¼Ê¹ÓÃÄ£°åÒýÇæ£¬¸Ï½ô¼ÓÈëÕâ¸ö¶ÓÁаɣ¬ÄãÒѾÂäºóÁË¡£
Jquery Mobile
Èç¹ûÄãÔÝʱ»¹Ã»ÓÐÒ»¸öÉè¼ÆÊ¦£¬µ«ÊÇÓÖ¼±ÓÚ¹¹ÔìÒ»¸öÓ¦ÓóöÀ´¡£jquery mobile¾ÍÌṩÁ˶àÌײ»Í¬·ç¸ñµÄÄ£°å£¬¹©ÄãʹÓ㬶øÇÒ»¹º¬Óв»Í¬µÄ½»»¥¶¯»µÈ¡£¶øÇÒÒ²ÊÇ¿çÆ½Ì¨µÄ¡£µ±È»Êµ¼Ê³¡¾°ÖУ¬±ÊÕß¾õµÃÄã»á»¨ºÜ¶àʱ¼äÔÚдcssÉÏÃæ£¬ÒòΪÉè¼Æ×ÜÊÇÌìÂíÐпյġ£µ±È»Ä㻹Óкܶ๤¾ßÀ²£¬ÀýÈçsass£¬ÒÔ¼°less.jsµÈ¡£
PhoneGap.js»òÕßCordova.js
×öPhonegap¿ª·¢±ØÐëʹÓõĴúÂë¿â£¬ÓÃÓÚºÍPhoneGap¿ò¼ÜͨѶ¡£ÏÖÔÚÕâ¸ö¿âÒѾ¸ÄÃûÁË£¬ÊÇCordova¡£¾ßÌåΪʲô¸ÄÃû£¬µÃÎÊAdobe¿©¡£
PhoneGap Plugins
PhoneGapµÄ²å¼þÄܹ»°ïÖúÄã¿ìËٵصִïÊÖ»úµÄÆäËûAPIÉÏÃæ£¬Ö±½ÓʹÓÃJavascriptÀ´²Ù¿ØÕâЩµ×²ãµÄAPI¡£ÀýÈçµ÷ÓÃPush
NotificationµÄÏàÓ¦·¢ÉúµÄʼþ¡£
´Ó´úÂëĿ¼ÉÏÃæ¿´»ìºÏÓ¦ÓÃÖеÄWeb²ã£º
/js mainView.js settingView.js networkObject.js renderObject.js
/lib
/PhoneGapPlugins
push-notification-plugin.js
pickerView.js
PhoneGap.js
zepto.js
jquerymobile.js
iscroll.js
angular.js
jade.js
/css
/mainView
listItemTemplate.css
questionListTemplate.css
/settingView
/personView
/layout
navigationBar.css
tabButton.css
app.css
/template
/mainView
listItemTemplate.txt
questionListTemplate.txt
/settingView
/personView
/layout
navigationBarTemplate.txt
tabButtonTemplate.txt
index.html
app.js
require.js
|
´Ó´úÂëµÄĿ¼ÉÏÃæ¿´£¬¾ÍÊǾµäµÄ¾²Ì¬ÍøÒ³ÎļþµÄĿ¼£¬·Ç³£¼òµ¥¡£ÏÂÃæ¾ÍÓÃÒ»¾ä»°À´ËµËµÕû¸öÓ¦ÓõÄÔË×÷¹ý³Ì°É£º
´ò¿ªPhoneGapÓ¦Óà ->½øÈë index.html ->ÔËÐÐrequire.js
->¼ÓÔØÓ¦ÓÃ×ÊÔ´ -> app.js ¿ØÖÆÕû¸öÓ¦Óà -> angular.js ½øÐÐʼþ°ó¶¨ÒÔ¼°ÊÓͼäÖȾ
->ÊÓͼäÖȾµÄʱºò»á½«Êý¾ÝºÍ¼ÓÔØºÃµÄÊÓͼģ°å£¨templateĿ¼ÏµĴúÂ룩´¦Àí ->¾¹ýjadeÄ£°åÒýÇæ
->äÖȾµ½ÏàÓ¦µÄλÖÃÉÏ
¾ÍÊÇÈç´Ë¼òµ¥¡£
¿´ÍêÁ˼òµ¥µÄPhoneGapÓ¦Óú󣬱ÊÕßÃÇÀ´¿´¿´¼òµ¥iOSÓ¦ÓÃÔÚ¿ª·¢Ê±ºòµÄ´úÂëĿ¼°É¡£Ë¼Â·ÉÏ»¹ÊǷdz£ÏàËÆµÄ¡£ÔÚÕâÀïÃæ£¬±ÊÕß²»»áÉîÈë´úÂ벿·ÖÈ¥ÌÖÂÛ¾ßÌåµÄʵÏÖÒÔ¼°Ï¸½ÚÉϵĶ«Î÷¡£
demoApp /Resource navigationBar.png navigationBar@2x.png /demoApp AppDelegate.h AppDelegate.m /SettingViewController settingViewController.h settingViewController.m /MainViewController mainViewController.h mainViewController.m /Supporting Files demoApp-Info.plist InfoPlist.strings ... /plugin /AFNetworking AFHTTPClient.h AFHTTPClient.m AFHTTPRequestOperation.h AFHTTPRequestOperation.m ... /Frameworks CoreData.framework UIKit.framework /Products demoApp.app
|
Objective-C ÊÇÒ»ÖÖͨÓᢸ߼¶¡¢ÃæÏò¶ÔÏóµÄ±à³ÌÓïÑÔ¡£Objective-CÊdzÐ×ÔSmalltalkµÄÐÅÏ¢´«µÝÄ£ÐÍ£¨message
passing£©¡£Objective-CÀÓëÆä˵¶ÔÏó»¥Ïàµ÷Ó÷½·¨£¬²»Èç˵¶ÔÏóÖ®¼ä»¥Ïà´«µÝÐÅÏ¢¸üΪ¾«È·¡£Objective-CÇ¿µ÷Ãæ¶Ô¶ÔÏó±à³Ì£¬ÇÒObjective-CÖÐÇ¿ÖÆÒªÇó½«ÀàµÄ£¨interface£©ÓëʵÏÖ£¨implementation£©·ÖΪÁ½¸ö²¿·Ö¡£ÀàµÄ¶¨ÒåÎļþ×ñÑCÓïÑÔÖ®¹ßÀýÒÔ
.h Ϊºó׺£¬ÊµÏÖÎļþÒÔ .m Ϊºó׺¡£ËùÒÔÄã»á¿´µ½´óÁ¿µÄÀàÎļþÔÚÀïÍ·£¬Õû¸ö¹¤³Ì¾ÍÊÇÓв»Í¬µÄÀ๹³ÉµÄ¡££¨µ±È»¿ÉÄÜÕâôÃèÊö²»Ì«×¼È·£¬µ«ÊDZãÓÚ´ó¼ÒÀí½â£©
Õâ¾ÍºÍ·á¸»µÄWebǰ¶ËÓкܴóÇø±ðÁË£¬ÔÚWebǰ¶Ë¿ª·¢ÀïÓÐHTML£¬CSS£¬JSÈý½£¿Í£¬±ØÐëÒªÓúÃÕâÈý¸ö¶«Î÷²Å¿ÉÒÔ°ÑÕû¸öÓ¦Óòſɹ¹½¨³öÀ´¡£µ«ÊÇÔÚNativeÓ¦ÓÃÖУ¬¾ÍºÜµ¥Ò»ÁË¡£ÄãÖ»ÐèÒª°ÑÎÕºÃObjective-C¾Í¿ÉÒÔÁË¡£Òò´Ë¶ÔÓÚÔÉúÓ¦ÓÃÀ´Ëµ£¬¿ª·¢Ê±Ö»Òª×ñÊØºÃ¹æ·¶£¬¼´Ê¹ÊÇÒ»¸öÐÂÊÖ²ÎÓ뿪·¢£¬Ò²¿ÉÒÔ¿ìËÙµØÉÏÊÖ£¬¿´¶®´úÂë¡£ÒòΪģʽÒѾ¶¨ºÃ£¬´ó¼ÒʹÓÃͬһÌ×µÄAPI¡£°´×ÅÁ÷³Ì×߾ͺÃÁË¡£µ±È»Ñ§Ï°Objective-CÐèÒª¹ý³Ì£¬µ«ÊǶÔÓÚÓµÓÐCÓïÑÔ£¬JavaÓïÑÔ¾ÑéµÄ¿ª·¢ÕßÀ´Ëµ£¬ÊǷdz£¼òµ¥µÄÊÂÇé¡£
µ±È»£¬ÔÉú¿ª·¢µÄȱµãÒ²ºÜÃ÷ÏÔÁË£¬¾ÍÊÇÂú×ã²»ÁËÄãµÄ¿çƽ̨ÐèÇó¡£
´Ó´úÂëĿ¼ÉÏÃæ¿´£¬ÆäʵҲ»ù±¾ÉÏ¿´µ½±ÊÕßΪʲôʹÓöàÖÖJS¿âÒÔ¼°¿ò¼ÜµÄÔÒòÁË¡£Ö÷ÒªµÄÄ¿µÄ¾ÍÊÇΪÁ˹¹½¨Ò»¸ö¿Éά»¤µÄ£¬¾ßÓй淶ÐÔµÄWebÓ¦Óá£ÒòΪ±¾ÉíJavascriptÕâÃÅÓïÑԷdz£Áé»î£¬100¸öÈË¿ÉÒÔ¾ßÓÐ100ÖÖ·ç¸ñ£¬¼ÓÉÏûÓÐרÃŶÔÓÚJavascript¿ªÉèµÄ¿Î³Ì£¬ÔÚ¹ýÍù¶¼ÈÝÒ×´æÔÚ¶ÔÕâÃÅÓïÑÔµÄÎó½â¡£»ùÓÚÖÖÖÖµÄÔÒò£¬¾ÍÒªÔ¼ÊøºÃÒ»¸öÓ¦ÓõĴúÂë·ç¸ñ£¬¼Ü¹¹¡£´ËÍ⣬Javascript±¾ÉíûÓÐÀàµÄ¸ÅÄËùÒÔÔÚJavascriptµÄÃæÏò¶ÔÏó±à³ÌÖУºJavascriptµÄÊý¾ÝºÍ³ÉÔ±·â×°ºÜ¼òµ¥¡£Ã»ÓÐÀ࣬ÍêÈ«ÊǶÔÏó²Ù×÷¡£ÕâºÍObjective-CÓкܴó²»Í¬¡£Õâ¸öʱºò±ØÐëÒªÓÐÒ»ÖÖÐÄ̬´¦ÀíºÃÕû¸öWebÓ¦Ó㺾ÍÊǾ¡¿ÉÄܵسéÏó³É¶ÔÏó£¬ÄãµÄ¹¤×÷¾ÍÊǶÔÏóÓë¶ÔÏóÖ®¼ä´æÔÚ½»Á÷¡£
ÁíÍâÓÐһЩµãÊÇÖµµÃ¿ª·¢Õß×¢ÒâµÄ¡£¶ÔÓÚÔÉúÓ¦ÓÃÀ´Ëµ£¬²»¹ÜÊÇiOSµÄ£¬»¹ÊÇAndroidµÄ£¬¶¼»áÌṩһÌ×ÔÉú½çÃæµÄ¿â¡£ÒÔObjective-CΪÀý×Ó¡£Èç¹û±ÊÕßÐèÒªµ÷ÓÃAlert£¬±ÊÕßÖ»ÐèÒª±àд£ºUIAlertView
* alertView = [[UIAlertViewalloc]init];£¬¾Í°ÑÕâ¸öviewÉùÃ÷ºÃÁË¡£ÔÙÈ¥Ö´ÐÐÏàÓ¦µÄ·½·¨£¬¾Í¿ÉÒÔÁË¡£µ«ÊǶÔÓÚWebÓ¦ÓÃÀ´Ëµ£¬¾ÍÐèÒª±àд<div
id='alertView'><button>È·¶¨</button></div><script>$('#alertView').show();</script>
£¬Ò»¶ÑµÄcss´úÂëºÍhtml´úÂëȥʵÏÖ¡£µ±È»Äã»áѯÎʱÊÕߣ¬Ö±½Óд alert()
²»¾Í¿ÉÒÔÁËÂð£¿ÒªÊÇÕæÕâô¼òµ¥µÄ»°£¬½¨ÒéÄãÔÚiOSµÄWebViewÖбàдһÏÂalert£¬ÊµÏÖ£ºtitle
ÊÇÌáʾ£¬ÄÚÈÝÊÇ£ºalert view£¬È·¶¨°´Å¥µÄÎÄ×ÖÊÇ£ººÃµÄ¡£Äã¾ÍÖªµÀWebViewµÄÏÞÖÆÔÚÄÄÀïÁË¡£
Òò´ËÒªÍê³ÉJSÔÚWeb App¿ª·¢µ±ÖеÄ×î¼Ñʵ¼ù£¬¿Ï¶¨ÒªÑ§Ï°ÓÅÐãµÄ˼ÏëºÍʵÏÖ·½·¨ÁË¡£ÔÚÕâÆªÎÄÕÂÀïÃæ£¬±ÊÕßÃÇÔÝʱÏȲ»È¥×öÕâÖÖÉîÈëµÄÌÖÂÛ¡£¶øÊÇÏȰÑÀý×ÓÅ׸ø´ó¼Ò£¬Ò²Ðí»áÔÚÏÂÒ»´ÎÌÖÂÛµÄʱºò£¬ÔÙÏêϸÉîÈëÒÔÏÂÕâÁ½¸öÏîÄ¿¡£
µÚÒ»¸öÊÇ˹̹¸£µÄiOS¿ª·¢¹«¿ª¿ÎÖеÄÀý×Ó£¬Ê¹ÓÃobjective-cʵÏÖ£¬Ò»¸ö¼òµ¥µÄ¿¨ÅÆÓÎÏ·¡£ÕâÊǾµäµÄmvc¿ª·¢ÁË¡£ÏîÄ¿µØÖ·ÈçÏ£ºhttps://github.com/lbj96347/Stanford-W2013-CardGame£¬Èç¹ûÄúÕýÔÚʹÓÃMac£¬Äǹ§Ï²Ä㣬¿ÉÒÔÂíÉϱàÒëÕâ¸öÓÎÏ·½øÐвâÊÔÒÔ¼°´úÂëä¯ÀÀ¡£
µÚ¶þ¸öÊÇʹÓÃJavaScript±àдµÄÀý×Ó£¬ÊµÏÖͬÑùµÄÐèÇó£¬×öÒ»¸ö¼òµ¥µÄ¿¨ÅÆÓÎÏ·¡£µ«ÊÇʹÓõÄÊÇHTML+CSS+JS¿ª·¢¡£Í¬ÑùѧϰÁ˼̳ÐÒÔ¼°mvcµÄ˼Ïë¡£ÏîÄ¿µØÖ·ÊÇ£ºhttps://github.com/lbj96347/JSMatchismo
£¬Ôٴι§Ï²Ä㣬²»¹ÜʹÓÃʲôµçÄÔ£¬¶¼¿ÉÒÔËæÊ±ä¯ÀÀ´úÂëÒÔ¼°ÔËÐиÃÓÎÏ·¡£
Hybrid AppµÄÐÂ˼Ïë
ÕâÁ½Äê¶àÒÔÀ´£¬ÒòΪÊг¡µÄ²»Í¬£¬Ò²³öÏÖÁ˲»Ò»ÑùµÄÐèÇ󣬸÷¸ö¼¼Êõ¶¼ÓÐÁËеķ¢Õ¹¡£¶ÔÓÚHybrid
AppÀ´Ëµ£¬Æäʵ¶¼ÓÐÁËһЩеĽâ¾ö·½°¸¡£ÎªÁ˽â¾öÎÊÌâÆäʵ×îÖÕ˼Ïë¶¼»á±»»¹Ô³ÉÒÔϼ¸¸öµãÉÏ£º
1.¸ù¾ÝÐèÇó£¬Ñ¡Ôñ¹¤¾ß£»
2.ÓÃÊʵ±µÄ¹¤¾ß×öÊʵ±µÄÊÂÇ飬ÓÐÕë¶ÔÐԵؽâ¾öÎÊÌ⣻
3.ÊÀ½çÊÇÆ½ºâµÄ£¬¶ÔÓÚ¿ª·¢ÕßÀ´Ëµ£¬×öµÄÓÐÓù¦Ô½¶à£¬Óû§ÌåÑé¾ÍÔ½ºÃ£¬·´Ö®Ô½²î£»
4.¿çƽ̨ÊÇÒ»¸ö"»Ï×Ó"£¬Ê²Ã´¶¼×öµÃµ½²»´ú±íʲô¶¼×öµÃºÃ
ÕâÒ²ÊDZÊÕßÌåÑé×îÉîµÄ¼¸¸öµã¡£¶øÇÒÄã»á·¢ÏÖHybrid¼¼ÊõÒ²»ù±¾ÔÚ¸úËæÕ⼸¸öµãÀ´×ß¡£
¸ù¾ÝÐèÇó£¬Ñ¡Ôñ¹¤¾ß
Èç¹ûÄãʹÓùýJquery Mobile£¬Äã×ö¹ý¹ý³¡¶¯»£¨¾ÍÊÇ´ÓÒ»¸öviewÈ¥µ½ÁíÒ»¸öview£©£¬¹ý³¡¶¯»ÔÚiOSµÄnavigationControllerÖкܳ£¼û£¬¶øÇҺܼòµ¥£¬Ð§¹ûºÜºÃºÜÁ÷³©¡£ÔÚJquery
MobileÖÐʹÓÃajax£¬cssȥʵÏÖÁË£¬ºËÐÄ´úÂë¿ÉÄܾͼ¸Ê®ÐС£¿ÉÄܸúiOSÀïÃæµÄ²î²»¶à£¨Èç¹û°üº¬¶¯»£©£¬µ«ÊÇʵ¼Ê³öÀ´µÄЧ¹ûÈ´²îÇ¿ÈËÒâ¡£»á³öÏÖÀàËÆµÄÎÊÌâ£ºÒ³Ãæ¶¶¶¯£¬¸Ð¾õ²»Á¬¹á£¬ÔÚ²¿·ÖµÄÉ豸ÏÂÔËÐлºÂý¡£Èç¹ûÄãµÄÓ¦ÓÃÒªÇóµÄÌåÑé²¢²»ÊǺܸߣ¬ÀýÈçһЩÐÂÎÅչʾÀàÓ¦Ó㬸üÇ¿µ÷ÅŰ档ÕâÀïССµÄÌåÑé²î¾à£¬¾Í¿ÉÒÔºöÂÔÁË¡££¨ÒòΪӢ¹úBBC¾ÍÊÇÕâô¸ÉµÄ£©£¬µ«ÊÇÈç¹ûÄãµÄÓ¦Ó÷dz£Ç¿µ÷ÌåÑéϸ½Ú£¬ÕâÀïµÄ½â¾ö·½°¸¿ÉÄܾͲ»ÊʺÏÁË¡£»òÐíÄãÒª×öÓÅ»¯£¬µ«ÊÇÓÅ»¯µÄʱ¼ä¿ÉÄÜ×ãÒÔ¹»Äãȥѧϰ¸ü¶àµÄ¶«Î÷ÁË¡£ÕâÑùµÄ»°£¬ÄãÊǼÌÐøÑ¡ÔñÓÃÒ»¸ö²»³ÉÊìµÄ¹¤¾ß£¬»¹ÊÇÑ¡ÔñȥѧϰһÖÖеÄÓïÑÔÄØ£¿ËùÒÔ»¹ÊǸù¾ÝÐèÇó¶ø¶¨°É¡£
ÁíÍâÒ»¸öÀý×Ó¡£Ôø¾ÓÐÈ˸ú±ÊÕßÌá¼°µ½£¬ÔÚʹÓÃHTMLºÍCSS±àдӦÓýçÃæÊ±È·ÊµºÜˬ£¬µ«ÊÇЧÂʲ»Õ¦µÄ¡£ÄÇΪʲô²»³¢ÊÔ°ÑÓ¦ÓÃÄÚÈÝÖ±½Ó°áµ½CanvasÀïÃæÄØ£¿¹¹ÔìÒ»Ì××㹻ǿ´óµÄ¹¤¾ß£¬Ò»Ì××ã¹»±ëº·µÄUI×é¼þ£¬°ÑÕû¸öÓ¦ÓÃÔËÐÐÓÚCanvasÖС£ÕâÖÖÏë·¨ÊǺܺõ쬵«ÊÇÆäʵÀïÃæµÄ¶Ì°åÒ³¾Í³öÏÖÁË£¬CanvasµÄÐÔÄÜËä¸ß£¬µ«ÊÇÀïÃæµÄÔªËØ×é¼þ¶àÁËÄã¿ÉÒÔ±£Ö¤Ð§¹û¸ß£¿ËùÓеĶ«Î÷¶¼»áÒÀÀµÓÚJavaScript£¬Õâ¶ÔÓÚJavascriptÀ´ËµÒª¹¹Ôì×㹻ǿº·µÄÃæÏò¶ÔÏóµÄ×é¼þ£¬Ò²·Ç¼òµ¥Ö®Ê£¬ÅׯúÁËCSSºÍHTML£¬Òâζ×ÅÄÚ²¿µÄÉè¼Æ×é¼þÄܹ»¸ß¶È¶¨ÖÆ£¬ËÉñîºÏ×öµÃ·Ç³£ºÃ¡£ÍêÈ«ÊÇʵÏÖÁËÒ»Ì×еÄxcodeºÍui¿â°¡¡£Õâ¾Í²»ÊÇÔÚ½â¾öÒ»Á½¸öÎÊÌâÁË¡£¼ÈÈ»ÓÐÕâôһ¸ö¹¤¾ß£¬±ÊÕßΪʲô²»Ñ¡Ôñ¸üºÃµÄ£¬ÀýÈçXamarin¡£
ÓÃÊʵ±µÄ¹¤¾ß×öÊʵ±µÄÊÂÇé
×öÓÎÏ·µÄÅóÓѹÀ¼Æ¾ÍÉîÓÐÌå»áÁË¡£ÎªÁ˽â¾öCanvasÐÔÄܵÄÎÊÌ⣬ԽÀ´Ô½¶àµÄÈ˺ÍÓ¦Óó§ÉÌ£¨ÓÈÆäÊÇä¯ÀÀÆ÷³§ÉÌ£©£¬ÌṩһÖÖ½â¾ö·½°¸¾ÍÊÇÏ£Íû½«Canvas
APIºÍϵͳµ×²ãµÄAPI´òͨ¡£Òâζ×ÅÄãÖ»ÐèÒª±àдCanvas´úÂ룬ʵ¼Ê×öäÖȾµÄʱºòʹÓõÄÊÇϵͳµ×²ãµÄ¶«Î÷£¬ÕûÌåÉÏÌá¸ßÁËÐÔÄÜ¡£ÀýÈçEjecta
http://impactjs.com/ejecta Õâ¸ö¶«Î÷¡£
¶ÔÓÚ¿ª·¢ÈËÔ±À´ËµÓÃJavascript±àдÓÎÏ·Âß¼ÒÔ¼°×ö¸÷ÖÖ¿ØÖƶ¼·Ç³£Êæ·þ£¬¶øÇÒÒòΪÓõÄAPIÏàͬ£¬·Åµ½PCÉÏ£¨·Å¿ªÐÔÄÜÎÊÌ⣩£¬Í¬Ñù¿ÉÒÔÔËÐС£Õâ¾ÍÕæµÄ×öµ½ÁË¿çÆ½Ì¨£¬µ«ÊÇÓÖ²»È±·¦Ð§ÂÊ¡£ÈñÊÕ߸д¥×îÉîµÄ¾ÍÊÇ@´ó³ÇСÅÖÔÚ×ö»ìºÏÓ¦Óã¨×öÓÎÏ·£©Ê±µÄ×ö·¨£¬Ð¡ÅÖµÄÓÎÏ·¼Ü¹¹¡£JS¸ºÔðÂß¼£¬ÒýÇæ¡£JS
Binding°ó¶¨ÔÉúOpenGL£¬ÈÃÔÉúµÄÀ´×ö¸´ÔÓµÄäÖȾ´¦Àí¡£HTML CSS¿ÉÒÔ´¦ÀíUI£¨±ÈÈçһЩButton£©¡£Õâ¾ÍÊǵäÐ͵ģºÈù¤¾ßÈ¥×öÆäÉó¤µÄÊÂÇé¡£
¿çƽ̨ÊÇÒ»¸ö"»Ï×Ó"
ΪʲôÕâô˵£¿±ÊÕß²»ÊÇһֱϣÍû´ó¼ÒÄܹ»¿çƽ̨ô£¿Êǵġ£µ«ÊÇÒªÕæµÄÈÏÇåÕâ¸ö¿²¡£´ÓIE¼æÈÝ£¬µ½Ä¿Ç°¶à¸öä¯ÀÀÆ÷µÄÂÒÕ½£¬µ½iOSÒÔ¼°AndroidÉ豸WebÉϵļæÈÝ£¬Õâ²»¾ÍÊÇÒ»¸öÀúÊ·µÄÀý×ÓÂï¡£¿çƽ̨²»ÊDz»ºÃ£¬Ö»ÊÇÔÚÒ»¸öʱ´úÀÄãÄܹ»´ïµ½ÔõÑùµÄЧ¹û£¬ÕæµÄÊǺÜÄѹÀÁ¿µÄ¡£¾ÍºÃ±ÈÄã³ö¹úÂÃÓΣ¬Èç¹ûÁ½¹ú¹ØÏµ·Ç³£ºÃ£¬¶øÇҺܶà¹ßÀý·¨ÂÉÒ»Ö£¬¶ÔÄãÀ´Ëµ²»»áÔì³ÉÌ«¶à¸ºµ£¡£µ«ÊÇÈç¹ûÓïÑÔ²»Ò»Ñù£¬Éú»îϰ¹ßʲôµÄ¶¼²»Í¬£¬Äã¾ÍºÜÄÑÊÊÓ¦¡£Í¬ÑùÊÇÈË£¬ÄãºÜÄÑÔÚ²»Í¬µÄ»·¾³ÏÂÉú´æ¡£ÕæÕýµÄ¿çƽ̨£¬¾ÍÒâζ×Å´ó¼ÒÇóͬ¡£Õâ¾ø¶Ô²»ÊÇÒ»Á½ÌìµÄÊÂÇ飬Ҳ·Ç¼òµ¥µÄÊÂÇé¡£
ÄÇΪʲô»¹Òª¿çƽ̨¡£ÒµÎñÐèÇóÂï¡£ÔÚÕâÀï±ØÐë¾ÍÒª×ñÊØ¸ù¾ÝÐèÇóÑ¡Ôñ¹¤¾ß£¬ÓÃÊʵ±µÄ¹¤¾ß×öÊʵ±µÄÊÂÇ飬¸ù¾Ýʵ¼ÊÇé¿öÀ´×÷¿ª·¢¡£Èç¹û¿ÉÒÔ£¬±ÊÕß¾õµÃºÜÓбØÒª¶¼Á˽âÒ»±é£¬ÕâÑùµÄ»°¸÷ÖÖ¿ª·¢µÄ˼Ïë¾Í»áÓ°Ïìµ½Ä㣬Äã¾ÍÄܹ»·Ö±æµ½Ê²Ã´ÊǺÃʲôÊÇ»µ£¬×ö¸üºÃµÄÑ¡Ôñ¡£ÀýÈç±ÊÕ߸ոÕ˵µ½µÄ¹ý³¡¶¯»µÄÀý×Ó¡£ÆäʵÍêÈ«¿ÉÒÔʹÓñÊÕß˵µÄ»ìºÏÓ¦ÓÃÖУ¬·½°¸Èý£¬È¥½â¾öÕâ¸öÎÊÌâ¡£ÄãÎ޷ǾÍÊÇÏ£ÍûÓÃnavigationController×öÒ»¸öƯÁÁµÄ¹ý³¡¶¯»ÂÔÚiOSÖм¸¾ä´úÂë¾ÍʵÏÖÁË¡£
ÔÙ˵һ¸öÀý×Ó°É£¬Èç¹ûÄãÕýÔÚ×öÒ»¸ötodo-listµÄÓ¦Óã¬ÆäʵÎ޷ǾÍÊǼòµ¥´æ´¢Êý¾ÝÒÔ¼°×öһЩÏà¹Ø½çÃæäÖȾ¡£ÔÚʹÓÃÔÉúµÄ¿Ø¼þµÄ»°£¬Óдó¶ÑµÄ´úÂëҪд£¬¶øÇÒ»¹Òª´¦ÀíºÃÄÚ´æÎÊÌâ¡£µ«ÊÇÆäʵÈç¹ûʹÓÃWebµÄ·½Ê½ÊµÏÖ£¬±ÈÈçbackbone.js¡£×ÜÌå´úÂë¿ÉÄÜ100ÐÐ×óÓÒ¡£¾Í°ÑÕû¸öÓ¦ÓÃʵÏÖÁË£¬°üÀ¨±¾µØ´æ´¢¡£ÄãÒª×öµÄÊÂÇé¾ÍÊǰÑÕû¸ö½çÃæ´î½¨µÃƯÁÁЩ¡£¿ÉÄܾÍ1¸öСʱµÄ¹¤×÷¡£µ«ÊÇÈç¹ûÓÃÔÉú¿ª·¢£¬ºÜÄѱ£Ö¤µ½Ò»¸öСʱÄÚÍê³É£¬ÒòΪµ÷ÊÔ±àÒë¶¼ÐèҪʱ¼ä°É£¿¿öÇÒ»¹ÓнçÃæÄØ¡£
ËùÒÔÒªÈÏÇå¿çƽ̨Õâ¸ö"»Ï×Ó"£¬²¢·ÇËùÓеÄÎÊÌâ¶¼ÓÃͬһ¸ö·½·¨´¦Àí¡£±ÊÕßÃÇÒªÈÚ»ã¹áͨÂ
×ܽáºÍ±ÊÕߵĸÐÊÜ
¶ÔÓÚ×öWeb AppµÄ¿Ó£¬Æäʵͦ¶àµÄ¡£ÕâÀïÎÞ·¨Ò»Ò»±í´ï¡£µ«ÊÇÏàÐÅʵ¼ù¹ý¾Í»áÖªµÀÈçºÎ¸üºÃµØÈƹýÕâЩ¿Ó£¨ÀýÈç±ÊÕß˵µÄ¹ý³¡¶¯»µÄÀý×Ó£©¡£ÄÇô¶ÔÓÚ¿ª·¢ÕßÀ´ËµÒªÓмáÇ¿µÄÒãÁ¦£¬Å¬Á¦È¥Êµ¼ù£¬Âú×ã×Ô¼ºÓÀÔ¶²»ÄÜÂú×ãµÄºÃÆæÐÄ£¬ÒòΪ×îÖյľÑé»á¸øÄã´øÀ´²»Ò»ÑùµÄ¸ÐÊÜ£¬stay
hungry¡£Í¬Ê±±ÊÕßÃDZØÐë±£³ÖÒ»¿ÅѧϰµÄÐÄ£¬²»¶ÏµØÎüÊÕÓÐÓªÑøµÄ˼Ï룬ѧϰеÄ֪ʶ£¬²»ÒªÌ«ÈÝÒ×Âú×㣬stay
foolish¡£Ã¿Ò»ÖÖÓïÑÔ¶¼»áÓÐÆäÖеÄ˼Ï룬ÿһÖÖ¹¤¾ß¶¼ÓÐ×Ô¼º½â¾öÎÊÌâµÄ·½·¨ÂÛ¡£¶à³¢ÊÔ¾ÍÄܹ»¸ø×Ô¼º´øÀ´¸üÓÅÐãµÄ¼Ü¹¹£¬¸üÓÅÐãµÄÓ¦Óã¬Ìṩ¸øÓû§¸üºÃµÄÌåÑé¡£µ±È»£¬Ò²»áÓиüºÃµÄ»Ø±¨¡£
|