¸üÐÂʱ¼ä:2016Äê04ÔÂ22ÈÕ13ʱ32·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
¡¡Éî¶È½âÎöSwift for AndroidÉ˺¦?
¡¡¡¡¼øÓÚ×î½ü¸÷´óýÌå¶¼ÔÚ·è´«AndroidÇ×µùGoogleÔÍÄð½«swift×÷ΪδÀ´°²×¿¿ª·¢µÄµÚÒ»ÓïÑÔ!Android¿ª·¢ÃÇÕ¨Á˹ø?ÕâÊÇÓïÑÔÈëÇÖ!»îÉúÉúµÄSwift for AndroidÉ˺¦£¡
¡¡¡¡Ê×ÏÈÀ´Ë®Ò»Ë®¸÷×ÔÈëÇÖ?
¡¡¡¡C++Java C# ÕâÖÖ±¾À´¾Í½Ð general purpose language¡£ Òâ˼¾ÍÊÇʲô¶¼Äܸɣ¬Ê²Ã´¶¼ÄÜд¡£´Ó×ÀÃæ£¬µ½Òƶ¯£¬µ½server¡£
¡¡¡¡SwiftµÄ³õÖÔÒ²Ö»ÊÇÏë¼ÓÈëÕâ¸öÕóÓª¶øÒÑ£¬¶øÇÒ±¾ÉíËûÒ²ÓмÓÈëÕâ¸öÕóÓªµÄÌõ¼þ£¬ server²»Ëµ¡£Æ»¹û±¾Éí¾ÍÒѾÓÐÁË×ÀÃæºÍÒÆ¶¯×ÅÁ½´óƽ̨¡£
¡¡¡¡À´ËµËµAndroidÒÐÀµµÄJava£¬Java Éè¼Æ³öÀ´µÄÄ¿µÄÊÇΪÁ˸øµç±ùÏä·¢Óʼþ£¬È´ÈëÇÖÁ˵çÄÔ£¬ÈëÇÖÁË Web£¬ÏÖÔÚÓÖÈëÇÖÁË Android¡£Í¬Ñù£¬JavaScript Éè¼Æ³öÀ´ÊǸøÍøÒ³×ö¶¯Ì¬Ð§¹û£¬ÏÖÔÚÈëÇÖÁË·þÎñÆ÷¶Ë(¸ÃËÀµÄnodejs)£¬»¹ÈëÇÖÁËÊÖ»úApp(shit react!)¡£Java ¸Õ³ö¯µÄʱºòÓÐÈý¸ö°æ±¾£¬eeÖ÷Òª×öweb£¬se×ö×ÀÃæ£¬me×öǶÈëʽ¡£ÔÚJavaµÄ¸÷ÖÖÊé¼®Àï´óÖ¶¼ÓÐÌáµ½£¬Javaʲô¶¼ÄÜ×ö£¬ÄÇôJavaÓïÑԵķ¢Ã÷ÊÇ·ñÉ˺¦ÁËÆäËûµÄ±à³ÌÓïÑÔÄØ?»¹ÊÇ˵ΪÁ˲»É˺¦ÆäËû±à³ÌÓïÑÔ£¬ÄѵÀÕæµÄÊÇΪÁËÓïÑÔ±£»¤¶ø²»ÒªÔÙ·¢Ã÷еıà³ÌÓïÑÔÁËÂð?
¡¡¡¡ÊÀ½çÔÚ·¢Õ¹¼¼ÊõÔÚ¸üУ¬±§×ųõÖÔ²»·Å¡¢²»ÄÜ·Å¿ª·¢Õ¹¿ª·¢ÓïÑÔ£¬ÄÇҲ̫²»ìÅ¿áÁË¡£ÁíÍ⣬Æù½ñΪֹÕâô¶àµÄÓïÑÔ±»²»¶Ï·¢Ã÷ºÍÌæ´ú£¬Êг¡ºÍ³ÌÐòÔ±»á×ö³öÑ¡ÔñµÄ£¬so,²»ÒªÌæ±à³ÌÓïÑÔµÄÃüÔ˲ÙÐÄÁË£¬²»¹ÜÊÇAndroid¿ª·¢Õß»¹ÊÇIOS¿ª·¢Õß~
¡¡¡¡³ý·ÇרÓÃÓïÑÔ±ÈÈçFortran/luaÖ®ÀàµÄ£¬·ñÔòºÍÆäËûÓïÑÔÓÐÒ»¶¨µÄ½»¼¯ºÍ¾ºÕùºÜÕý³£¡£ÓоºÕù²»ºÃÂð?
¡¡¡¡Ëµµ½µ×£¬¼ÈȻijÖÖ¿ª·¢ÓïÑÔÏÖÔÚÓÃÆðÀ´Êæ·þÁË£¬¾ÍÏë·½Éè·¨ÏëÒªÀ©Õ¹ËüµÄ¾ÖÏÞÐÔ¡£
¡¡¡¡±ÈÈç˵ Go ÓïÑÔ×ö Android ³ÌÐò£¬ÊìϤ C/C++ ÓвÆÁ¦µÄ¹«Ë¾£¬»áÉáÆúÉú̬Á´Òì³£ÍêÕûµÄ Java £¬ÉáÆú C/C++ ¾ðȡӲ¼þÐÔÄܵÄÄÜÁ¦£¬Ñ¡Ôñ Go ÓïÑÔ?ΪÁËʲô?Go ÓïÑԵı༵ÄЧÂÊ?µÃÒæÓÚ¿ª·¢¹¤¾ß£¬JavaµÄ±àдЧÂÊÒ»µãÒ²²»Âý¡£¶øÓà Go ÓïÑÔÕÛÌÚÒ»¸ö¿ª·¢»·¾³£¬ÓÖÊÇÒ»¼þ·ÑÁ¦²»ÌֺõÄÊ¡£
¡¡¡¡ÔÙÕß˵£¬Swift£¬Ìý˵ËüµÄÖ÷Á¦¿ª·¢ÊÇLLVM µÄ×÷Õß¡£¶øÇÒÏà¶Ô·â±Õ£¬²»Ïñ Rust ¹ã·ºÌýÈ¡ÉçÇøµÄÒâ¼û¡£ËùÒÔÓÐÈË˵ËüµÄδÀ´¿ÉÄܸüºÃ£¬ÒòΪÏÖÔÚÊ¢ÐеÄÓïÑÔ£¬ËùÓж¼ÊÇ1,2¸öÈË×ö³öÀ´µÄ¡£Ò»¸öÉçÇøÔÒ½øÈ¥£¬²»¼ûµÄÊǼþºÃÊ¡£µ« Swift ÕæµÄÄÜ´ò°ÜǰÈΣ¬¼·½ø·þÎñÆ÷Êг¡Âð?
¡¡¡¡SwiftΪÁ˱ÜÃâÖØ¸´ÔìÂÖ×Ó£¬¶Ô C ºÍ Object-C µÄ¼æÈÝÐԺܺ㬻ù±¾¿ÉÒÔÖ±½Óµ÷ÓÃËüÃÇдµÄ¿â¡£²ÉÓÃÒýÓüÆÊýÀ¬»ø»ØÊÕ¡£µ«ÎÊÌâÊÇ£¬Ëü±¾ÉíµÄÄ¿µÄÊÇΪÁ˸üɵ¹Ï»¯ iOS Èí¼þµÄ¿ª·¢µÄ¡£ËüÎÞÂÛÏÖÔÚ»¹ÊÇδÀ´£¬¶¼»áÆ«ÏòÕâ¸öÄ¿µÄ¡£ÄÇΪʲôƫҪÓò»ÊÇרҵ¸ÉÕâ¼þÊµĹ¤¾ß£¬ÕÛÌÚÀ´ÕÛÌÚÈ¥£¬À´¸ÉÕâ¼þÊÂÄØ?
¡¡¡¡ÏÖÔÚ Swift À뿪ÁË iOS ƽ̨£¬»ù±¾Ê²Ã´Ê¶¼¸É²»ÁË¡£Èç¹û²»µ÷Óà C ¿âµÄ»°¡£µ«Äܵ÷Óà C ¿â¸ÉÕâÖÖʵÄÓïÑÔÌ«¶àÁË¡£ËüÃǵÄÉú̬Ҳ±È Swift ÍêÕû¶àÁË¡£
¡¡¡¡ÓïÑÔÖ»Êǹ¤¾ß£¬¶Ô¹«Ë¾¶øÑÔ£¬Ñ¡Ôñ³ÉÊìµÄÎȶ¨µÄ·½°¸Ô¶±ÈÂýÂýÈ¥²È¿Ó¸ü¼Ñ¿¿Æ×¡£±ÈÈç¶ÔGolang¶øÑÔ£¬¶¨Î»×î³õ»¹ÊDzÙ×÷ϵͳÓïÑÔÄØ£¬ÏÖÔÚ¿´ÆðÀ´Ö÷ÒªµÄ·½Ïò»¹ÊǸßЧ·Ö²¼Ê½Ó¦Ó÷½Ïò¡£SwiftÀ뿪iOS²»ÊDz»¿ÉÒÔ£¬¶ÔÍⲿÉçÇøµÄ̬¶ÈĿǰ»¹²»Çå³þ£¬²»¹ý»áµÄ»ù±¾ÊÇiOS³ÌÐòÔ±£¬ÄãÈÃËûÃÇȥд·þÎñ¶ËÁË£¬ËÀ´Ð´iOS³ÌÐòÄØ?
¡¡¡¡ÏÖÔÚÓïÑÔµÄ¿çÆ½Ì¨¿ç·½ÏòÓ¦ÓÃÖ÷Òª»¹ÊÇΪÁËÈÃÈËÔ±·¢»Ó¸ü´ó×÷Ó㬾¡¿ÉÄܵÄÕ¥¸ÉËüÃǵļÛÖµ£¬±ÈÈçǰºó¶Ë·ÖÀëÖ®ÀàµÄ¡£ÓïÑÔµÄÓ¦Óó¡¾°Ô½¶à£¬¶Ô³õ´´»òÕ߸öÈË×÷·»°ïÖú±È½Ï´ó£¬µ«ÊǰéËæ×ÅÌåÁ¿ºÍÐèÇóµÄÔö¼Ó£¬´ó²¿·Ö»¹Êǻص½ÀÏ·ÉÏÀ´(·Ö¹¤Ã÷È·ÓëÐ×÷)¡£
¡¡¡¡¹ØÓÚswift̸һÏ¿´·¨£¬Ö»ËµSwift±¾Éí¡£ËäÈ»×öAndroid²»×öiOSÏà¹ØµÄ¿ª·¢£¬µ«¿´ºÃswift¡£swiftÓï·¨Ïà¶ÔƽÒ×½üÈË£¬¿ªÔ´¼ÓÉÏÆ»¹ûµÄ³ÖÐøÍ¶È룬δÀ´Àà¿âºÍÐÔÄÜÒ²²»»á²î¡£ÕÆÎÕËüÒ»ÃÅÄÜiOSºÍºó¶Ë¶¼ÄÜÍæ£¬ÈºÖÚ»ù´¡»á·Ç³£ºÃ¡£Ö»ÒªÈºÖÚ»ù´¡ºÃ£¬ÓïÑÔ³ÖÐø·¢Õ¹¸ã³ö±ãÓÚǰºó¶Ë¿ª·¢µÄ¿âºÍÄÚÖò¢·¢Ö®ÀàµÄ¸ù±¾¾Í²»ÊÇÊ¡£
¡¡¡¡Ç°Õó×Ó¿´µ½Ò»¸öÆÀ²â£¬ÔÚһЩcaseÉϵÄÐÔÄÜswiftÉõÖÁ¶¼³¬¹ýrustÁË¡£iOSÁìÓò×Ô²»±ØËµ£¬ÏÖÔÚswift¿ªÔ´Ö§³Ö¶à¸öƽ̨¡£ÓÃswiftÔÚlinuxдд·þÎñÒ²ÊǺÜ×ÔÈ»µÄ¡£Î´À´swiftÔÚǰºó¶Ë¶¼ÓÃÌ«Õý³£²»¹ýÁË¡£
¡¡¡¡È»¶øswift×î´óµÄDZÔÚÎÊÌâ¾ÍÊÇChrisLattnerǧÍò²»Òª°ÑËüÓï·¨B¸ñÉýµÄÌ«¸ß£¬Ò»¶¨Òª³ÖÐø×ßÏÖÔÚÏà¶ÔÆÓËØµÄ·Ïߣ¬¹ýÓÚ¸ßÀä²»ÊʺϹã´óȺÖÚ¡£------------Ö®ËùÒÔÕâô˵£¬ÊÇÒòΪ·Å¼Ùǰ¿´µ½Chris LattnerÔÚ¿¼ÂÇswiftÊÇ·ñ¼ÓÉÏһЩÀàËÆÓÚrustÄÇÖÖ·ç¸ñµÄLifetimes £¬Ownership µÄ¶«¶«¡£ÕâЩ¶«Î÷Ò»µ©ÒýÈëÁË£¬ÈÝÒ×ÍÑÀë¹ã´óȺÖÚ¡£
¡¡¡¡ËµÍêÁËSwift±¾Éí£¬Ôٻص½Ö÷Ìâ£¬ÕæÄÜÔì³ÉÉ˺¦Âð???ÏÖÔÚAndroid¿ª·¢ÉçÇøÖгýÁËJavaÒÔÍ⣬×ʹÓõĿª·¢ÓïÑÔÊÇScala, Groovy ÒÔ¼°²Å³öÀ´µÄ Kotlin£¬ËûÃÇÖ®¼äÓÐʲôÏàͬµãÄØ?ËûÃǶ¼ÊÇJVMÓïÑÔ£¬Òò´ËËûÃÇ¿ÉÒÔ±»±àÒë³ÉclassÎļþ£¬´ò°ü³ÉΪdexÎļþ£¬½ø¶øÔËÐÐÔÚAndroid ÐéÄâ»úÉÏ¡£
¡¡¡¡¶øÏÖÔÚ£¬¼Ù¶¨ÎÒÃÇʹÓÃSwift×÷Ϊ¿ª·¢ÓïÑÔ£¬»áÓöµ½ÄÄЩÎÊÌâ:
¡¡¡¡µÚÒ»¸öÎÊÌâ¾ÍÊÇÒÑÓеÄAndroid°æ±¾ÊDz»Ö§³ÖSwift±àÒë³öµÄÓ¦Óõģ¬Swfit±¾Éí¾Í²»ÊÇ×÷ΪһÖÖJVMÓïÑÔ¿ª·¢µÄ£¬Òò´ËÈç¹ûÇ¿ÐаÑËû±àÒë³ÉclassÎļþ£¬¹¤×÷Á¿ºÜ´ó¡£ËùÒÔÈç¹ûÕæÓÐSwiftÓ¦Óã¬Ò²Ö»ÄÜÔÚа汾µÄAndroidϵͳÖÐÔËÐУ¬µ«ÊÇAndroid²»±ÈiOS£¬ÏµÍ³Éý¼¶ÂÊÄÇÊÇÏ൱µÄµÍ£¬ÎÒÏëûÓÐÈκÎÒ»¸ö¿ª·¢Õß»áÔ¸ÒâÅׯúÀϰ汾µÄAndroidÓû§¡£
¡¡¡¡µÚ¶þ¸öÎÊÌâ¾ÍÊÇAndroidµÄÉú̬»·¾³£¬Android´Ó09¿ªÊ¼·¢²¼£¬µ½ÏÖÔÚÒѾ7ÄêÁË£¬¸÷ÖÖ¿ªÔ´ÉçÇøºÍ¿ªÔ´ÏîÄ¿¶¼ÊÇÎ§ÈÆ×ÅJavaÓïÑÔ½øÐпª·¢£¬¾ÍËãÊÇScala£¬GroovyºÍKotlinÒ²ÊÇÄܹ»Ö±½Óµ÷ÓÃJava´úÂë¡£Èç¹ûÑ¡ÓÃÁËSwift£¬Èç¹ûÍêÈ«ÅׯúÏÖÓеĿªÔ´ÏîÄ¿¿ò¼Ü£¬³É±¾ºÜ¸ß£¬µ«Èç¹ûÐèÒªÖ±½Ó²Ù×÷Java´úÂë£¬ÊÆ±Ø¶àÒ»²ãÀàËÆjniµÄ¶«Î÷£¬Ò²»áÔÚÒ»¶¨³Ì¶ÈÉÏÓ°ÏìÔËÐÐЧÂÊ£¬µÃ²»³¥Ê§¡£
¡¡¡¡ÔÙÕߣ¬·Å×ÅKotlinÕâ¸öÔÚAndroid¿ª·¢·½Ãæ²î²»¶à³ÉÊìµÄÓïÑÔ(°üÀ¨IDEÖ§³Ö£¬ºÍJavaÎÞ·ì¶Ô½Ó)²»ÓÃÅܳö¸ãSwift£¬¿´²»³öÓÐÕâ¸ö±ØÒªÐÔÖØÐ´¿ò¼Ü²ã?¸É´àÖØÐ¿ª·¢Ò»¸öÊÖ»ú²Ù×÷ϵͳºÃÂ𣬻¹ÓÐAndroidN ¸Õ¸Õ¸ÄÈëopenJDKºÍJACK±àÒëÆ÷£¬»¹ÓиãÁ˰ëÌìµÄJavaÐéÄâ»ú£¬×îºóÈ«²¿ÈÓµôÔÙÁíÆð¯ÔîÊÇÂð£¬ÕæµÄ¸É´àÖØÐÂдһÌײÙ×÷ϵͳ¸ü·½±ã¡£ SwiftÓï·¨ÓжàÉÙÓÅÔ½ÐÔ(ºÍKotlin±È)¶øÖµµÃ×ö³öÕâô¶àµÄÎþÉüºÍ¸Ä±äÄØ?²¢Ã»ÓаÉ?µ±È»°¡£¬×îʡʵĿÉÒÔ³öÒ»¸öSwift on JVM°¡£¬ºÍ¾É´úÂ뻥ͨÁ½²»Î󣬯äËû¶«Î÷Ò²¶¼²»ÓÃÖØÐ´ÓÐľÓÐ!ÄÇôÎÊÌâÓÖ»ØÀ´ÁË£¬¼ÈÈ»ÄãÒªµÄÊÇÒ»¸ö»ùÓÚJVMµÄ½Å±¾ÓïÑÔ(»òÓï·¨ÀàËÆ½Å±¾ÓïÑÔµÄÓïÑÔ)£¬ÄÇôΪɶҪÉá½üÇóÔ¶?
¡¡¡¡Î¨Ò»µÄÀíÓÉ´ó¸Å¾ÍÊÇËùνµÄ¿çƽ̨¿ª·¢ÄÜÁ¦ÁË£¬µ«ÊÇʵ¼ÊÄܸ´ÓöàÉÙ´úÂëÕæµÄ´æÒɰɣ¬±Ï¾¹iOSºÍAndroidÊÇÁ½¸ö¼¸ºõÍêÈ«²»Ò»ÑùµÄƽ̨¡£²»¹ýGoogleÕæµÄ²»ÅÂÂé·³Ó²ÊÇÒª¸ã£¬ÄÇÒ²ËãÒ»¼þ²»´íµÄÊÂÇ飬±Ï¾¹ÓïÑÔÕâÖÖ¶«Î÷»¹ÊÇԽͳһԽºÃ¡£ÁíÍâ¹ØÓÚKotlinÏÖ´æµÄËÙ¶ÈÎÊÌ⣬JetbrainsÒѾÔڸĽø
¡¡¡¡¶øÇÒ£¬Swift ÎÞ·¨Ïñ Kotlin Ò»ÑùÓëÔÓÐµÄ Java Éú̬Ȧ½»ÈÚ£¬¶øµ¥´¿´ÓÓï·¨ÉÏÀ´½²(Kotlin ºÍ Swift µÄÓï·¨ÓкܶàÏàËÆµã)£¬Kotlin ÒѾ×ã¹»µØ½â·ÅÁË¿ª·¢ÕßµÄÉú²úÁ¦£¬Ã»±ØÒªÅׯú Java/JVM Éú̬Ȧ(¸÷ÖÖ Android Àà¿â)Ͷ±¼ Swift¡£
¡¡¡¡ÔÙ˵£¬½« Swift ×÷Ϊ Firstclass langue µÄ¹¤×÷Á¿Ó¦¸Ãͦ´óµÄ£¬´ó¸ÅÒ²Òª»¨ÉϺܳ¤Ò»¶Îʱ¼äÁË¡£ÖÁÓÚÆäËû´ðÖ÷˵µÄ Swift compile to Java Bytecode ÊDz»´ó¿ÉÄܵġ£Ò»·½ÃæÊÇ Swift Óï·¨Éϲ¢Ã»ÓÐÕë¶ÔJVM(/Dalvik/ART) ½øÐÐÊÊÅ䣬¿ÉÄÜ»á²úÉúһЩ¿Ó(ÀýÈç·ºÐÍ)£¬ÔÙÕß¾ÍÊÇÈç¹ûÕæ´òËãÕâÑù×öµÄ»°£¬Google Ó¦¸ÃÊÇder²Å²»Ö±½ÓÑ¡Ôñ Kotlin¡£
¡¡¡¡»ùÓÚÒÔÉÏ£¬ÓëÆä¾ª»Åswiftfor Android£¬»¹ÊǺúÃѧϰAndroid°É!¾ÍËãKotlin×î¿ÉÄÜ·¢Õ¹ÆðÀ´£¬µ«±ðÍüÁË£¬Kotlin°üÀ¨IDEÖ§³Ö£¬ºÍJavaÎÞ·ì¶Ô½Ó¡£
¡¡¡¡ÀÖÓãºÚÂíµÄ½²Ê¦ÃÇ£¬Éî²Ø²»Â¶£¬Ö»ÓÐÔÚËûÃǵĴ«ÊÚ֪ʶÆôµÏ˼ÏëµÄ¹ý³ÌÖвÅÄÜÉî¿ÌÁì»á~ ÔÒòÔÚºÎ?ÒòΪËûÃÇʵÔò¶¼ÊÇÐÐÒµµÄ¼¼Êõ¾«Ó¢¼¶±ðµÄ´æÔÚ£¬ËûÃÇÔøÊÇ¿ç¹ú¹«Ë¾ºÍ¹úÄÚ´óÖÐÐÍÆóÒµ¼Ü¹¹Ê¦¡¢ÏµÍ³·ÖÎöʦ¡¢ÆóÒµÅàѵʦ! Èç¹ûÄãÀ´ÀÖÓãºÚÂíѧϰÁË£¬ÓÐ×ÅÇ¿´óµÄʦ×ÊÍŶӵÄÖ§³Å£¬Äã²»ÐèÒª¿¼ÂÇÆäËûµÄ£¬Ö»ÐèÒªºÃºÃ°Ñ¼¼Êõѧµ½ÊÖ£¬Ñ§Ôúʵ, ÄÇô´ò°ÜÆäËû»ú¹¹µÄѧԱ£¬²»ÔÚ»°Ï¡£¶øÇÒÀÖÓãºÚÂíרעÅàÑøµÄÊÇ“¼È¶®µ×²ã£¬ÓֻῪ·¢”µÄAndroid¿ª·¢Õߣ¬×îÖÕ¿ÉÒÔÈÃѧÉúÃdzÉΪ“ѧÍê¼´¿É³å»÷20WÄêн”¡£
¡¡¡¡À´ËµËµÎÒÃÇÀÖÓãºÚÂíAndroid×îпγ̸İæµÄAndroidÌåϵ½Ì³Ì£¬´Ó»ù´¡µ½ÏîĿʵ¼ù£¬ÊµÓüÛÖµ¸ü¸ß£¬ÄÚÈݸü¹ã·º£¬¸²¸ÇAndroidÒÆ¶¯¶Ë¿ª·¢ÖÖÀ࣬Éî¶È½âÎöÔ´ÂëºÍAndroidÐÂÌØÐÔ£¬ÕæÕý³ÉΪAndroid¿ª·¢¸ßÊÖ!
¡¡¡¡ÆäËû¾«»ªÍƼö£º
¡¡¡¡1.2016ÄêÀÖÓã/ºÚÂí¿Î¸Äºó×îаæÕäÏ¡AndroidÊÓÆµ¾«»ª<´Ó»ù´¡µ½ÍêÕûÏîÄ¿Á÷³Ì¿ª·¢>
¡¡¡¡2.[³ÖÐø¸üÐÂ]2016×îÐÂAndroidÊÓÆµ½Ì³Ì+Ô´Âë+¼¼ÇÉ/¾Ñé+Èí¼þ+ÃæÊÔ
¡¡¡¡3.[Android] ¸ßÇåÊÓÆµ+Ïêϸ±Ê¼Ç+Ô´Âë+PPT
±±¾©Ð£Çø