2016幎ã§ããããã©ã³ãã¯ãŸã 倧統é ã«éžåºãããŠããªããããïŒDeleteUberéå ã¯ãŸã å§ãŸã£ãŠããŸããããã©ãã¹ã»ã«ã©ããã¯ã¯ãžã§ã³ããŒã®ãŸãŸã§ãããç§ãã¡ã¯ä»ã®åœã«æ¯åºãéèšããããšã§éæ¿ãªæé·ã®æ®µéãçµéšããŠããŸãããäžè«ã¯æŠããŠååãã§ã誰ãã幞ãã§ããŠãŒããŒã¯æé«ã§ãã
ããããéæé·ã«ã¯åé¡ããªãããã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³èªäœã誀åäœãå§ããŸããããã以åã¯ãéçºè ã®æ°ã¯ã»ãŒæ¯å¹Ž2åã«ãªãããã®éãã§æé·ãããšãä¿¡ããããªãã»ã©å¹ åºãã¹ãã«ã身ã«ä»ããããšãã§ããŸãã ããã«ããŒãºãã«ãããšåŒã°ããããã«ãŒã®èãæ¹ãšçžãŸã£ãŠãããã¯è€éã§å£ããããã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ãæå³ããŸãããåœæãUberã¢ããªã®ããžãã¯ã¯éåžžã«éããããã¯ã©ãã·ã¥ããããšããããããŸãããç§ãã¡ã¯åžžã«ããããã£ãã¯ã¹ãããããèšç»å€ã®ãªãªãŒã¹ãªã©ããªãªãŒã¹ããŠããŸããããŸããã¢ãŒããã¯ãã£ã¯ããŸãæ¡åŒµã§ããŸããã§ããã
ããããã¹ãŠã®åé¡ã®çµæãšããŠããã¢ããªã±ãŒã·ã§ã³ãæåããæžãçŽãããšããèããäžå¿ã«çµéããçµç¹ã®ãã¹ãŠã®ã¬ãã«ã§æé·ããåããå§ãŸããŸãããæ°ããã¢ããªã±ãŒã·ã§ã³çšã®æ°ããã¢ãã€ã«ã¢ãŒããã¯ãã£ãäœæããããã«ããŒã ãçµæãããŸãããã¢ã€ãã¢ã¯ããä»åŸ5幎éã§Uberã®ã¢ãã€ã«éçºããµããŒããããã¢ãŒããã¯ãã£ãäœæããããšã§ãããäž¡æ¹ã®ãã©ãããã©ãŒã çšã«åæã«éçºããŸãããéçºãµã€ã¯ã«å šäœãæåããããçŽããŸããã
iOSéšéã¯ããã®æ©äŒãå©çšããŠSwiftïŒåœæã¯ããŒãžã§ã³2.xïŒãå®è£ ããŸããã Uberã¯éå»ã«Swiftã詊ããããšããããŸããããã¯ãããžãŒéçºã®åææ®µéã§ä»ã®å€ãã®äººãšåæ§ã«ãå€ãã®åé¡ãçºçããå®è£ ãé ããŸããã
ãã ããåœæã®Swiftã®åé¡ã®ã»ãšãã©ã¯ãObjective-Cãšã®çžäºéçšæ§ãäœãããšãåå ã§ãããšäžè¬çã«æããããŠããŸããããããŠãçŽç²ãªSwiftã¢ããªã±ãŒã·ã§ã³ãäœæããã°ãäž»ãªåé¡ãåé¿ã§ããŸãã
AndroidãšiOSã®äž¡æ¹ã§åãåºæ¬çãªã¢ãŒããã¯ãã£ãã¿ãŒã³ã䜿çšãããšããã¢ã€ãã¢ããããŸãããåœæãAndroidéçºè ã¯RxJavaã®å€§ãã¡ã³ã§ããã察å¿ããRxSwiftã©ã€ãã©ãªã¯ãSwiftã®æ©èœããã°ã©ãã³ã°ãã©ãã€ã ãå©çšããŸããããã¹ãŠãåçŽã«èŠããã
ãã®ãããå°èŠæš¡ãªéçºããŒã ïŒèšèšã補åãããã³ã¢ãŒããã¯ãã£ïŒã¯ãæ°ãæéãæ°ããæ©èœ/ãªã¢ã¯ãã£ããã¿ãŒã³ãæ°ããèšèªãããã³æ°ããã¢ããªã±ãŒã·ã§ã³ã«çã£åããåãçµã¿ãŸããããã¹ãŠãé 調ã§ããããã®ã¢ãŒããã¯ãã£ã¯ãSwiftã®é«åºŠãªèšèªæ©èœã«å€§ããäŸåããŠããŸããã
UIã¯å€æ°ã®Uberã¢ããªã«æ¡åŒµã§ããæ©èœããã°ã©ãã³ã°ãã©ãã€ã ã¯åŒ·åã«èŠãïŒç¿åŸã¯å°ãé£ããã§ããïŒãã¢ãŒããã¯ãã£ã¯æ°ãããªã¢ã«ã¿ã€ã ã¹ããªãŒãã³ã°ãããã¯ãŒã¯ãããã³ã«ã«åºã¥ããŠããŸããïŒãã®éšåãäœæããŸããïŒã
æ°ã¶æãšããã€ãã®å°è±¡çãªãã¢ã®åŸãéåã¯å¢ããå¢ããŸããããããžã§ã¯ãã¯æåããããã«èŠããŸãããå°æ°ã®ãšã³ãžãã¢ã§ãçæéã§åªããæ©èœãéçºããããšãã§ããŸããã補åã®ã»ãšãã©ã¯æºåãã§ããŠããŸããããã¥ã¢ã«ã¯ãããã§ãã
ãã®åŸãå šç€Ÿãžã®å±éãå§ãŸããŸãããããŸããŸãªããŒã ããæ°ããã¢ããªã±ãŒã·ã§ã³ã«ç¬èªã®æ©èœã远å ãå§ããŠããŸããæåã¯ãæ°ãããã®ã®è奮ãã¢ãããŒã·ã§ã³ãšçç£æ§ã®æ¥å¢ãçã¿åºããŸãããæ©èœã®åé¢ãæäŸããã¢ãŒããã¯ãã£ã«ãããè¿ éãªé²æ©ãå¯èœã«ãªããŸããã
ãããã10人以äžã®ãšã³ãžãã¢ãSwiftãç¿åŸãããšããã«ãé©åã«èª¿æŽãããã¡ã«ããºã ã厩å£ãå§ããŸããã Swiftã³ã³ãã€ã©ã¯ãçŸåšã§ãObjective-Cãããå€§å¹ ã«äœéã§ãããå®éã«ã¯äœ¿çšã§ããŸããã§ãããçµã¿ç«ãŠæéã¯ã¹ã±ãŒã«ããå€ããŸããããããã°ãå®å šã«åæ¢ããŸããã
ãã¢ã®1ã€ããã®ãããªããããUberãšã³ãžãã¢ãXcodeã§1è¡ã®æŒç®åãå ¥åãã45ç§åŸ ã£ãŠããæåã1ã€ãã€ãã£ãããšãšãã£ã¿ãŒã«è¡šç€ºãããŸãã
次ã«ãåçãªã³ã«ãŒã§å£ã«ã¶ã€ãããŸããåœæãSwiftã©ã€ãã©ãªã¯åçã«ãããªã³ã¯ã§ããŸããã§ãããæ®å¿µãªããããªã³ã«ãŒã¯å€é åŒæéã§å®è¡ãããããã1ã€ã®ãã€ããªã§Appleãæšå¥šããã©ã€ãã©ãªã®æå€§æ°ã¯6ã§ããã92ãããããã®æ°ã¯å¢ãç¶ããŸãã...
ãã®çµæãã¢ããªã±ãŒã·ã§ã³ã¢ã€ã³ã³ãã¯ãªãã¯ããŠãããmainãåŒã³åºããŸã§ã«8ã12ç§ããããŸãããç§ãã¡ã®å æ²¢ã®ããæ°ããã¢ããªã¯ãå€ãåä»ãªã¢ããªãããé ãããšã倿ããŸãããæ¬¡ã«ããã€ããªã®ãµã€ãºã®åé¡ããããŸããã
æ®å¿µãªãããåé¡ãæ·±å»ã«çŸãå§ãããšããç§ãã¡ã¯ãã§ã«æ»ã£ãŠããªãç¹ãéããŠããŸãããããã¯ãæ²æ²¡ããã³ã¹ãã®èª€ãã®è«ççãªèª€ãã§ãããã®æç¹ã§ãäŒç€Ÿå šäœããã¹ãŠã®ãšãã«ã®ãŒãæ°ããã¢ããªã±ãŒã·ã§ã³ã«æå ¥ããŠããŸããã
ããŸããŸãªæ¹åããã®äœå人ãã®äººã ãæ°çŸäžãã«ãæ°çŸäžãã«ïŒå®éã®æ°ã¯ããããŸãããã1ã€ä»¥äžã§ãïŒããã¹ãŠã®çµå¶é£ã¯ããããžã§ã¯ããæ¯æŽããäžã§å šäŒäžèŽã§ããç§ã¯äžåžãšç«ã¡æ¢ãŸãå¿ èŠæ§ã«ã€ããŠå人çãªäŒè©±ãããŸããã
圌ã¯ããã®ãããžã§ã¯ãã倱æããå Žåã圌ã¯è·é ãããªããã°ãªããªããšèšã£ããäžåžããå¯ç€Ÿé·ãŸã§åãããšãèšããŸãããåºå£ã¯ãããŸããã§ããã
ããã§ãç§ãã¡ã¯è¢ããŸããäžããŠãããããã®åé¡ã«åãçµãããã®æé«ã®éçºè ãç²åŸããéèŠãªåé¡ïŒåçãªã³ã¯ããã€ããªãµã€ãºïŒã«åªå é äœãä»ããŸãããåçãªã³ã¯ãšãã€ããªã®ãµã€ãºã®äž¡æ¹ããã®é åºã§å²ãåœãŠãããŸããã
ã¢ããªã±ãŒã·ã§ã³ã®èµ·åæã®ãªã³ã¯ã®åé¡ã¯ããã¹ãŠã®ã³ãŒããã¡ã€ã³ã®å®è¡å¯èœãã¡ã€ã«ã«é 眮ããããšã§è§£æ±ºã§ããããšãããã«ããããŸããããããããåç¥ã®ãšãããSwiftã¯åå空éãšãã¬ãŒã ã¯ãŒã¯ãçµã¿åãããŠããŸãããããã£ãŠãç¡æ°ã®åååãã§ãã¯ãå«ããå€§å¹ ãªã³ãŒã倿Žãå¿ èŠã«ãªããŸãã
ãã®åŸãåªç§ãªãªãã£ãŒãã»ããŠãšã«ãXcodeã®ãã«ãåºåã調ã¹ããã«ããå®äºããåŸãã«ã¹ã¿ã ã¹ã¯ãªããã䜿çšããŠããã¹ãŠã®äžéãªããžã§ã¯ããã¡ã€ã«ãååŸããããããã¡ã€ã³ãã€ããªã«åãªã³ã¯ã§ããããšãçºèŠããŸããã
Swiftã¯ã³ã³ãã€ã«äžã«ãªããžã§ã¯ãã®ååãæªãããããSwiftãæäœã§ããããšãæå³ããŸããããã«ãããã©ã€ãã©ãªãå¹ççã«éçã«ãªã³ã¯ããmainã®èµ·åæéã10ç§ããã»ãŒãŒãã«ççž®ããããšãã§ããŸããã
次ã®åé¡ã¯ãµã€ãºã§ããåœæãã»ãŒããã£ããããšããŠãæ°ããã¢ããªã±ãŒã·ã§ã³ãå€ãã¢ããªã±ãŒã·ã§ã³ãšäžç·ã«ããã±ãŒãžåããå®è¡æã«æ éã«å±éããããšãèšç»ããŠããŸããããµã€ãºãå°ããããããã«ãæåã«è¡ã£ãã®ã¯å€ãã¢ããªãã¢ã³ã€ã³ã¹ããŒã«ããããšã§ããããã®æŠç¥ããYoloããšåŒã³ãŸããããã©ãã¹ã¯å人çã«ãŽãŒãµã€ã³ãåºããŸããã
ãŸãããã¹ãŠã®Swiftæ§é ãã¯ã©ã¹ã«çœ®ãæããŸãã ãå€ã¿ã€ãã¯éåžžããªããžã§ã¯ãã®é 眮ãšãã³ããŒåäœãèªååæåãªã©ã«å¿ èŠãªè¿œå ã®ãã·ã³ã³ãŒãã®ããã«ãå€ãã®ãªãŒããŒãããããããããŸããããã«ãããã¹ããŒã¹ãç¯çŽãããŸããã
ããããã¢ããªã¯æé·ãç¶ããŸãããéããªããiOS 8以åã®ãã€ããªã®ããŠã³ããŒãå¶éïŒ100 MBïŒã«éããŸãããããã¯ãããªãã®æ°ã®ã€ã³ã¹ããŒã«ã®æå€±ã«çžåœããŸãïŒå€ãã®iOSãŠãŒã¶ãŒããŸã æŽæ°ãããŠããªãããã1,000äžãã«ä»¥äžã®åçã倱ãããŠããŸãïŒã
ãã®æç¹ã§ãäžè¬å ¬éãŸã§ã«æ°é±éããããŸããã Objective-Cã«æ»ãããiOS 8ã®ãµããŒããçµäºããå¿ èŠããããŸãããiOS9ã§ã¯ã¢ãŒããã¯ãã£ãåå²ããæ©èœãå°å ¥ãããããããã®ããŒãžã§ã³ã¯å®éã«ã¯ååã®ãµã€ãºïŒã®ããŸãã¯ãã€ã¯ïŒã§ãããæ®ã1é±éã§ãæ°åäžãã«ãæšãŠãiOS 8
ã®ãµããŒããããã ããšã«ããŸããããµã€ãºãååã«ãªããšãæäœã®äœå°ã倧ãããªãããµã€ãºã®åé¡ã¯å°æ¥è§£æ±ºã§ãããšäžè¬çã«èããããŠããŸãããæ®ããããéãããšããæ®å¿µãªãããç§ãã¡ã¯éåžžã«ééã£ãŠããŸããã
ã¢ããªã®ãªãªãŒã¹åŸãç§ãã¡ã¯å€§èŠæš¡ãªããŒãã£ãŒãéããŸããããã®ã¢ããªã¯ããŠãŒã¶ãŒããã¹ã³ããã奜è©ãåããŸãããæããæ°ãããã¶ã€ã³ã§ãé«éã§ããã
å€ãã®äººãæé²ããŸãããç§ãã¡ã¯çãå®å µã®ããæ¯ãã€ããã 90é±éã®é£ç¶äœæ¥ã®åŸã圌ãã¯ã€ãã«äŒæ©ãåããŸããã
ãããããã®åŸãäžè«ã¯å€åãå§ããŸãããæ°ããã¢ããªã¯ãç¹å®ã®ã«ãŒãã®æ è¡ã®æ£ç¢ºãªäŸ¡æ Œãèšç®ããããšã«çŠç¹ãåœãŠãŠããŸããïŒæã¯ãéè³ãšçŸåšã®ä¹æ°ãèŠãã ãã§ããïŒãäŸ¡æ Œãèšç®ããã«ã¯ãçŸåšå°ãå ¥åããå¿ èŠããããŸããã
ãŠãŒã¶ãŒã®äŸ¿å®ã®ããã«ãèªåäœçœ®æ±ºå®ãã€ã³ã¹ããŒã«ãããŠãããããã¯ã°ã©ãŠã³ãã§äœçœ®ããŒã¿ãåéã§ããããããã©ã€ããŒã¯çŸæç¹ã§ä¹å®¢ãè¿ãã«è¡ãå Žæãæ£ç¢ºã«ç¢ºèªã§ããŸãã人ã ã¯å€¢äžã«ãªãå§ããŸããã Twitterã®ä»¥åã®ååã®äœäººãã¯ããã®ãããªäººã ã远跡ããŠããéªæªãªäŒç€ŸãèŸããããã«ç§ã«ä¿ããŸããã
ãã®äžå®ã®çµæãšããŠã人ã ã¯iOSã§äœçœ®æ å ±ã®èš±å¯ãç¡å¹ã«ãå§ããŸãããããããæ°ããã¢ããªã±ãŒã·ã§ã³ã¯ãã®ãŠãŒã¹ã±ãŒã¹ãæäŸããŸããã§ããã
ããã§ãæšæºããŒãžã§ã³ãè¿ãããã«æåãå°œãããŸãããããã¯ã°ã©ãŠã³ãã®äœçœ®è¿œè·¡ããªãã«ããããšã¯å¯èœã§ãããã¿ã¯ã·ãŒã«ä¹ãåã«åã³äœ¿ãããããæãªãããããšã説æããŸããã
ãã®åŸããã©ã³ããæš©åãæ¡ãïŒããã¯æ°ããã¢ããªã®ãªãªãŒã¹ããçŽ3ãæåŸã«çºçããŸããïŒããããé£éåå¿ãåŒãèµ·ãããïŒDeleteUberã®åãã«ã€ãªãããŸãã ã
ãã®éãã£ãšãSwiftã³ãŒãããŒã¹ã¯æ¥éã«æé·ããŸãããé²è¡äžã®åé¡ãšé ãIDEã«ãããiOSéçºè ã®éã§2ã€ã®å¯Ÿç«ããæŽŸé¥ãçãŸããŸãããç§ã¯ããããSwiftçä¿¡è ãšObjective-Cãªã¿ã¯ãšåŒã³ãŸãã
å€å§ãšå å§ã®åèšã匵åãæå€§ã«ããŸãããçä¿¡è ã¯ã¹ãŠã£ããã®åé¡ãåŠå®ãããéå±ãªäººãã¡ã¯ãç¹å¥ãªè§£æ±ºçãæäŸããããšãªããèãããããã¹ãŠã®ããšã«ã€ããŠäžå¹³ãèšã£ãŠããŸãã
ãã®é ããã€ããªã®ãµã€ãºã«åé¡ãçºçããŸãããããŒã ããªãªãŒã¹ã§åé¡ãæ±ããŠãããšããç§ã¯é»è©±ã«åºãŠããŸãããåçãªã³ã¯ã®åé¡ã«å¯Ÿããåªãããœãªã¥ãŒã·ã§ã³ã«ãããäžéšã®ã¢ãŒããã¯ãã£ã«ã¯å€§ããããå®è¡å¯èœãã¡ã€ã«ãäœæãããããšã倿ããŸããã
ãããã®ã¢ãŒããã¯ãã£ã®åé¡ã解決ããã®ã§ãååã® @aqua_geekãšç§ã¯å°ãæãäžããŠã¿ããšãã³ã³ãã€ã«ãããã³ãŒãã®ãµã€ãºã1é±éããã1.3MBã®å²åã§å¢å ããŠããããšãããããŸãããç§ã¯èŠå ±ãçºãããäœãããªããã°ããã®ãããªé床ã§ã3é±é以å ã«ã»ã«ã©ãŒãããã¯ãŒã¯ãä»ããããŠã³ããŒãå¶éã«ééããŸãã
ããããå éšã®ç·åŒµã¯çä¿¡è ããã¹ãŠãåŠå®ãããããªæ®µéã«éããŸããã Swiftãã£ã³ãã®æè¡ãªãŒããŒã®1人ããæºåž¯é»è©±ã®ããŠã³ããŒãå¶éãã©ã®ããã«åé¡ã«ãªããªããã«ã€ããŠ2ããŒãžã®èšäºãæžããŸããïŒçµå±ã®ãšãããFacebookã¯ãã£ãšåã«ãããè¶ ããŠããŸããïŒãç§ãã¡èªèº«ã¯ç«ãæ¶ãã®ã«ããããããŠããŸãã
ããã§ãããŒã¿ãµã€ãšã³ãã£ã¹ãã®1人ãã建ç¯ã¬ã€ã€ãŒã®1ã€ã人çºçã«å¶éå€ã«ç§»åãããã¹ããéçºããããžãã¹ããã©ãŒãã³ã¹ãžã®åœ±é¿ã枬å®ããŸãããç¿é±ããã®ã¬ã€ã€ãŒãå ã«æ»ããå¥ã®ã¬ã€ã€ãŒãå¶éããå€ããŸããïŒã¢ãŒããã¯ãã£ãå¶åŸ¡ããããïŒã
ãã®åœ±é¿ã¯æ²æšã ã£ããããžãã¹ãžã®æªåœ±é¿ã¯ãæ¯å¹Žã®Swiftå®è£ ã®ãã¹ãŠã®ã³ã¹ããããæ°æ¡å€§ããããšã倿ããŸããã Uberã¢ããªãåããŠããŠã³ããŒããããšããå€ãã®äººãWiFiã®ç¯å²å€ã«ããããšãããããŸããïŒèª°ãèããã§ããããïŒïŒ
ããã§ãå¥ã®ã¹ãã©ã€ãã°ã«ãŒããçµæããŸããããªããžã§ã¯ããã¡ã€ã«ã®éã³ã³ãã€ã«ãéå§ãã1è¡ãã€èª¿ã¹ãŠãSwiftã³ãŒããéåžžã«å€§ãããªã£ãçç±ãç¹å®ããŸãããæªäœ¿çšã®æ©èœãåé€ããŸãããã¿ã€ã©ãŒã¯watchOSã¢ããªãobjcã«æžãçŽãå¿ èŠããããŸããã
ïŒãŠã©ããã¢ããªã®é·ãã¯ããã4400è¡ã§ããããããã»ããµã¢ãŒããã¯ãã£ãç°ãªããABIãšã®äºææ§ããªããããSwiftã©ã³ã¿ã€ã å šäœãã¢ããªã«å«ããå¿ èŠããããŸãããïŒ
ç§ãã¡ã¯éçã«éããããããç²ããããããã圌ãã¯éãŸã£ãããã®æãæ¬åœã«åªç§ãªãšã³ãžãã¢ãçŸããŸãããã¢ã ã¹ãã«ãã ã®éçºè ã®1人ã¯ãã³ã³ãã€ã©æé©åãã¹ãåé 眮ããæ¹æ³ãèãåºããŸãããã³ã³ãã€ã©ã®å°éå®¶ã§ãªãæ¹ã®ããã«èª¬æããŸãã
ææ°ã®ã³ã³ãã€ã©ã¯å€§éã®ãã¹ãäœæããŸããããšãã°ã颿°ãã€ã³ã©ã€ã³åã§ããŸãããã1ã€ã¯ã宿°åŒããããã®å€ã«çœ®ãæããããšã§ããå®è¡ã®é åºã«å¿ããŠããã·ã³ã³ãŒãã¯å°ãããªã£ãã倧ãããªã£ããããå ŽåããããŸãã
ã€ã³ã©ã€ã³é¢æ°ãå€ãæž¡ããšãã³ã³ãã€ã©ã¯ãããèªèããŠãããã¯å šäœã眮ãæããããšãã§ããŸããäŸãã°ïŒ
int x = 3 func(x) { X + 4 }
ã³ã³ãã€ã©ãæåã«ã€ã³ã©ã€ã³é¢æ°ãééããå Žåã¯ã宿°7ã«ãªããŸãïŒã€ãŸããã³ãŒããå€§å¹ ã«å°ãªããªããŸãïŒã
ãã®ã³ã³ãã€ã©ãã¹ã2çªç®ã®å Žåããã®ãããªé¢æ°ãèªèããªãå¯èœæ§ããããããå€ãã®ã³ãŒããååŸã§ããŸãããã¡ãããããã¯ãã¹ãŠç¹å®ã®ã³ãŒãã®å€èгã«å®å šã«äŸåãããããäžè¬ã«ãã¹ã®é åºãæé©åããããšã¯å°é£ã§ãã
ãã®ããããªãªãŒã¹ãã«ãã«ã¢ã«ãŽãªãºã ãçµã¿èŸŒãã§æé©åãã¹ãäžŠã¹æ¿ãããµã€ãºãæå°åããã¢ã ã¹ãã«ãã ã®åªç§ãªãšã³ãžãã¢ã¯èšããŸãããããã«ããããã·ã³ã³ãŒãã®åèšãµã€ãºããªããš11MBåæžãããéçºãç¶ããããã®æéãå°ãäžããããŸããã
ãããããã®ã¢ãããŒãã¯Swiftã³ã³ãã€ã©ã®å°éå®¶ãæããããæ€èšŒãããŠããªãã³ã³ãã€ã©ãã¹ããã¹ããããŠããªããã°ãæããã«ããããšãæããŠããŸããïŒåãã¹ã¯æ¬è³ªçã«å®å šã§ããã¯ãã§ããããã¹ã®å¯èœãªçµã¿åããã«ã€ããŠæšè«ããããšã¯å°é£ã§ãïŒããããã倧ããªåé¡ã¯çºçããŠããŸããã
ãŸããä»ã®å€ãã®ãœãªã¥ãŒã·ã§ã³ãé©çšããŸããïŒç¹ã«é«äŸ¡ãªã³ãŒããã³ãã¬ãŒãã«å¯Ÿå¿ããŠããŸãïŒãããããã®éçºé±æ°ã枬å®ããŸãããããããæ¬åœã®åé¡ã¯æé·æ²ç·ã§ãããçµå±ããã¹ãŠã®è³éã¯åžžã«é£ã¹å°œããããŸããã
çµå±ãAppleã®åããåŸ ã€ã®ã«ååãªæéããããã»ã«ã©ãŒéä¿¡ã®ããŠã³ããŒãå¶éã150MBã«åŒãäžããããŸããããŸãããµã€ãºã®æé©åïŒ-OsizeïŒã«åœ¹ç«ã€å€æ°ã®ã³ã³ãã€ã©é¢æ°ã远å ããŸããã圌ãèªèº«ã®æ¿èªã«ãããSwiftã¯ã³ã³ãã€ã«åŸã«Objective-Cã»ã©å°ãããªãããšã¯ãããŸããã
ããããä»å¹Žã®æç¹ã§ãSwiftãObjective-Cãã·ã³ã³ãŒãã®1.5åã®ãµã€ãºã«æé©åããæçµçã«Appleã¯ãªãã·ã§ã³ã®å¶éãåã³200MBã«åŒãäžããŸãããããã¯ç§ãã¡ãããã«æ°å¹Žéç¶ããã®ã«ååã§ãã
ããããç§ãã¡ã¯ã»ãšãã©å€±æããŸããã Appleãå¶éãåŒãäžããŠããªãã£ããšããããUberã¢ããªãObjCã«æžãçŽãå¿ èŠããããŸãããçµå±ãä»ã®åé¡ã解決ããããšãã§ããŸãããã·ã£ã€ã㌠@alanzeino圌ã®ããŒã ã¯ãSwiftãµããŒããBuckãã«ãããŒã«ã«å«ããããšãå¯èœã«ããŸãããããã«ããããã«ãæéãå€§å¹ ã«ççž®ãããŸããã
éäžã§çãå°œãã人ããããã倱ããŸãããããããã®ãéã䜿ããé£ããæèšãåŠã³ãŸãããé©ããããšã«ã仿¥ãŸã§ãã»ãšãã©ã®äººã¯æžãçŽãã¯ããã ãã®äŸ¡å€ããããšäž»åŒµããŠããŸããã¢ãŒããã¯ãã£ã®äžè²«æ§ã¯ãäŒç€Ÿã«æ¥ãæ°ãããšã³ãžãã¢ã«äººæ°ããããŸãã圌ãã¯ãããéæããã®ã«ã©ãã ãã®èŠçãããã£ããããç¥ããŸããã
ã³ãã¥ããã£ã¯ç§ãã¡ã®ç¥èããæ©æµãåããŠããŸãã @ ellsk1ã¯çŽ æŽããããã¬ãŒã³ããŒã·ã§ã³ããŸãšãã圌ã®ç¥èãå ±æããããã«ã¬ã¯ãã£ãŒãã¢ãŒã«åå ããŸãããç§ããã®çµéšã掻çšããŠãæ°ããäŒæ¥ãéçºããŒã ãããè¯ã決å®ãäžããããã«æ¯æŽããããšãã§ããŸããã
ã ããããã«ãã³ãããããŸããããã°ã©ãã³ã°ã®ãã¹ãŠã¯åŠ¥åã«ã€ããŠã§ããæ®éçã«åªããèšèªã¯ãããŸãããäœãããã«ããŠãã劥åç¹ãšã¯äœãããªããããäœã£ãŠããã®ããçè§£ããŠãã ããã瀟å ã®é åºãªæŽŸé¥éã®æ¿æ²»çæŠäºãé¿ããŠãã ããã
倱æã®ãã€ã³ãã§åªåããŠãã ããããã¬ãŒããªããç¹å®ãããã€ã³ãã«å°éããŠééãã«æ°ä»ããå Žåã«æ€éãæ®ãæ¹æ³ãçè§£ããŸããå€ãã®åªåã«ã¯ã³ã¹ããããããŸãããåŸã§ééã£ã劥åã«æ°ä»ãã»ã©ãã³ã¹ãã¯é«ããªããŸãã
äžå¹³ãèšãã ãã§è²¢ç®ããªãéå±ã«ãªããªãã§ãã ããã誰ã«ãšã£ãŠã倧ããªåé¡ãåŒãèµ·ããçä¿¡è ã«ãªããªãã§ãã ãããæé«ã®ãšã³ãžãã¢ã¯ããããã®çœ ã«ã¯ãŸããŸããã