Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Hybrid App¿ª·¢ÊµÕ½
 
×÷ÕߣºÀî±ü¿¥ À´×ÔÓÚ£ºInfoQ ·¢²¼ÓÚ 2016-3-10
  3099  次浏览      27
 

¡¾ÒýÑÔ¡¿½üÄêÀ´Ëæ×ÅÒÆ¶¯É豸ÀàÐ͵ıä¶à£¬²Ù×÷ϵͳµÄ±ä¶à£¬Óû§ÐèÇóµÄÔö¼Ó£¬¶ÔÓÚÿ¸öÏîÄ¿Æô¶¯Ç°£¬´ó¼Ò¶¼»á¿¼Âǵ½µÄ³É±¾£¬ÍŶӳÉÔ±£¬¼¼Êõ³ÉÊì¶È£¬Ê±¼ä£¬ÏîÄ¿ÐèÇóµÈÒ»¶ÑµÄÒòËØ¡£Òò´Ë£¬¿ª·¢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¡£Ã¿Ò»ÖÖÓïÑÔ¶¼»áÓÐÆäÖеÄ˼Ï룬ÿһÖÖ¹¤¾ß¶¼ÓÐ×Ô¼º½â¾öÎÊÌâµÄ·½·¨ÂÛ¡£¶à³¢ÊÔ¾ÍÄܹ»¸ø×Ô¼º´øÀ´¸üÓÅÐãµÄ¼Ü¹¹£¬¸üÓÅÐãµÄÓ¦Óã¬Ìṩ¸øÓû§¸üºÃµÄÌåÑé¡£µ±È»£¬Ò²»áÓиüºÃµÄ»Ø±¨¡£

   
3099 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ

ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ