2019-03-01ãã1ã¶æéã®è¨äºä¸è¦§
ã³ã¼ãã£ã³ã°ãå¦ã¶ã«ã¯çµ¶å¥½ã®ã¿ã¤ãã³ã°ï¼æè¡ã¯æ¥é²ææ©ãé²åãéãã¦ãã¾ããApple Platformã§ã®éçºã¯SwiftãSwift playgroundã«ãããé²æ©ã«ãã£ã¦ãããç°¡åã«åãçµããããã«ãªãã¾ããããããããã®æ¥çã§ã¯ãã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã«ãªããã¨ãâ¦
ãã®æ°å¹´ãCore Dataã¯ãã¼ã«ã«ã§ã®æ°¸ç¶åã«ããã¦ãRealmã®ãããªä»ã®ãµã¼ãã¹ã好ãéçºè ã®éã§ã¯ããªãã²ã©ãè©å¤ã§ãããã®ãã¼ã¯ã§ã¯ãCore Dataã使ããã¨ã¯ãããªã«æªããã¨ã§ã¯ãªãã¨èããçç±ã説æãã¾ããCore Dataã§ãã¾ããããªãã¨ããããâ¦
Swiftã³ã³ãã¤ã©ã«ã³ã³ããªãã¥ã¼ããã¦ã¿ããã¨æã£ããã¨ã¯ããã¾ããï¼ããã¢ã¤ãã£ã¢ããããªããããã§åååæ©ã«ãªãã¾ããé£ããé¨åãããã¾ãããSwiftã³ãã¥ããã£ããæä¼ããã¾ãï¼ãã®ãã¼ã¯ã§ã¯ãSwiftã³ã³ãã¤ã©ã®æ¦è¦ã¨ãã³ã³ãã¤ã©ã®å§ãæ¹â¦
ã¿ãªããã«ã¯ã¢ããªã®ãããã°ã§ãçµå±ã¢ã»ã³ããªã¨ããèªåã«ã¯ç解ä¸è½ãªå£ãè¦ãã ãã«ãªã£ãçµé¨ããã£ãã§ãããããããã¯ããªãUIKitããã®ãããªæåã示ãã®ããç解ããããã«ãUIKitã®ã¡ã½ããã®ã½ã¼ãã³ã¼ããã¿ãããªã£ããã¨ãããããããã¾â¦
Swiftã®Stringåã¯ãæ£ç¢ºããããã©ã¼ãã³ã¹ãããã¦ä½¿ããããã®çµ¶å¦ãªãã©ã³ã¹ãç®æ¨ã«ãã¦ãã¾ãã ãã®ãã¼ã¯ã§ã¯Stringåã®èæ¯ã«ããå²å¦ããç§ãã¡ãã³ãã¥ããã£ã¨ãã¦ããã«Stringã使ã£ãããã°ã©ãã³ã°ã®æ¥½ããã¨æ軽ãã追æ±ã§ãããã«ã¤ãã¦ãâ¦
iOSã¢ããªãéçºããéãã©ã¤ãã©ãªããã¬ã¼ã ã¯ã¼ã¯ã使ããªãã¨ãããã¨ã¯ã»ã¨ãã©ããã¾ããã OSãæä¾ããUIKitãSwiftæ¨æºã©ã¤ãã©ãªã使ãã¾ããããµã¼ããã¼ãã£ã®ä¾¿å©ãªã©ã¤ãã©ãªã使ç¨ãããã¨ãããã¾ãã ããã¦ã誰ããï¼åº¦ã¯ãªã³ã¯ã¨ã©ã¼ãéâ¦
é¢æ°ãæºããã¹ãè«ççæ§è³ªãè¨è¿°ããã©ã³ãã ãªå ¥åå¤ãçæããã¦ãã¹ããè¡ãProperty-based Testingã¨ãããã¹ãææ³ãããã¾ããHaskellã®QuickCheckã大å ã¨ãªã£ã¦ãã¾ãããå¤æ°ã®è¨èªã«ç§»æ¤ããã¦ãããSwiftã§ãSwiftCheckã¨ããOSSãéçºããã¦ãâ¦
ããã¾ã§ã®å¿çå¦ç 究ã§ã¯ããã¼ã½ãã«ã³ã³ãã¥ã¼ã¿ãå©ç¨ãããã®ããç©ççãªã¬ãã¼ãç¨ããå®é¨ãè¡ãªããã¦ãã¾ããã ããããä»æ¥ã§ã¯ãã®ããæ¹ãå¤è²ãã¤ã¤ããã¾ãããã®å 容ã¯ãããããã以å¤ã®åç©ã«ããã¦ããã¿ããã¹ã¯ãªã¼ã³ãç¨ããå®é¨ãå¢â¦
ã·ã³ã»ãµã¤ã¶ã¼ã使ã£ããµã¦ã³ããã¶ã¤ã³ã¯ç®ãå½ã¦ãããªãã»ã©è¤éã¨ããã®ãä¸è¬çã§ãããSwiftã§ã¯ãããªãã¨ã«ã¯ãªãã¾ããããã®ãã¼ã¯ã§ã¯ãé³ã®åæããã¶ã¤ã³ã®åºæ¬ãããã¦åºæ¬çãªé³ããã©ããã£ã¦æé«ã®ãã®ã«å¤ãããã¨ãã§ãããã«ç¦ç¹ãå½ã¦â¦
ã¢ãã¤ã«ãã¶ã¤ã³ã·ã¹ãã ãã¼ãããæ§ç¯ããæ¹æ³ãå¦ã³ã¾ãããã¶ã¤ã³ã·ã¹ãã ã¨ã¯ä½ãããã¼ã ã«ã©ãå½¹ç«ã¤ã®ããéçºã®ã¹ãã¼ãã¢ããã«ã©ã®ããã«å½¹ç«ã¤ããããã¦æåããããã«ã¯ããã«ãã©ã¼ã«ã¹ãã¹ãï¼ãï¼ã¤ã®ãã¨ãå¦ã³ã¾ãã ã¡ãã£ã¨å£°ãããã¦â¦
Swiftã«ã¯å®è¡æã«åæ å ±ãä¿æããããã®Type metadataã¨ããä»çµã¿ãããã¾ãã æã ãé »ç¹ã«ç´æ¥ä½¿ããã¨ã¯ããã¾ããããSwiftã®ã©ã³ã¿ã¤ã ã®åä½ãç解ããããã®éè¦ãªè¦ç´ ã§ãã ãã®ãã¼ã¯ã§ã¯ Type metadata ããã®å®è£ ã«ã¤ãã¦ç´¹ä»ãã¾ãã ããã«â¦
SwiftSyntax ã使ãã¨ãSwift ã®ã³ã¼ãçæãæ¸ãæããéçæ¤æ»ãªã©ãå®ç¾ã§ãã¾ããããããSwiftSyntax ã®ä½¿ãæ¹ã¯ã»ã¨ãã©ç¥ããã¦ãã¾ããããã®æ¹æ³ããã¤ã¸ã§ã¹ãã§ç´¹ä»ãã¾ãã ï¼ã¤ã®æ©è½ ã¾ãèªã¿æ¸ããããããã¼ã¿ã«ããé¨å ããããifåãæ¡ä»¶â¦
ãã®ãã¼ã¯ã§ã¯ãSwiftã使ã£ããã¼ãã¦ã§ã¢ã®ããã¯ã®æ¹æ³ãã話ãã¾ããç«ã®è²¯éç®±(ä¸ã«ã³ã¤ã³ãç½®ãã¨ãç«ãããã貯éç®±ã®ä¸ã«å¼ãè¾¼ããã®)ã®æ©è½ãããã¤ã¯ãã³ã³ããã¼ã©ã¼ãæ§ã ãªã»ã³ãµã¼ãã¤ãã£ã¦æ¡å¼µããæ§åããè¦ããã¾ãã å 容㯠ã»ãéãé â¦
ãæ¬å½ã«ãããã¯ãã«ä½¿ç¨ã§ããç¶æ ãªã®ï¼ã ãµã¼ãã¼ãµã¤ãSwiftã¯ãããæ°å¹´ã§å¤§ããªçºå±ãéãã¾ãããIan Partridgeã¨David Okunãããã«ã¹ã¿ãã¯Swiftããããã«ããªãã®æ¬¡ã®ããã¸ã§ã¯ãã§å®ç¨çããè¦ããã¾ããåããã¦ãã¯ã©ã¦ãç°å¢ã§ç¨¼åãããâ¦
æè¿ã®iPhoneã¯ãã¥ã¢ã«ã«ã¡ã©ãTrueDepthã«ã¡ã©ã®æè¼ã«ããã深度æ å ±ãå©ç¨ãã¦èæ¯ãã¼ããã被åä½ãéç«ãããç¾ããåçãæ®å½±ãããã¨ãã§ãã¾ãã ãã®ãã¼ã¯ã§ã¯ãã深度æ å ±ãæããªããç»åããèæ¯ã¨è¢«åä½ãåé¢ãã¦ã¼ãããã¼ãã¬ã¼ãã¢ã¼ãâ¦
SFã¨ãã¡ã³ã¿ã¸ã¼å°èª¬ã«ã¤ã³ã¹ãã¤ã¢ãããã«ã¼ã«ã«å¾ã£ã¦ãç¥çã§æ²¡å ¥åã®ä½é¨ãéçºãããã¨ãå¦ã³ã¾ããã½ããã¦ã§ã¢ã¨åæ§ã«ãè¤éã§é åçãªéæ³ã®ã·ã¹ãã ãã¬ã¤ãã©ã¤ã³ã使ç¨ãã¦å ·ä½çãªã¦ã¼ã¶ã¼ä½é¨ãæ§ç¯ãã¾ãããã®è¬æ¼ã§ã¯ãæ¶ç©ºã®ä¸çæ§ç¯ãâ¦
ãªãç§ãã¡ã¯ã³ã¼ããæ¸ãã®ã§ãããï¼ç§ã¯çåã«æã£ã¦ãã¾ãããã³ã¼ãã¯ã©ããããã®æéåç¶ããã¨æ³å®ããã¦ãã¦ãã©ãã ã使ãæ¨ã¦ãããã®ã§ãããï¼æçµç®æ¨ãã¦ã¼ã¶ã¼ã«åªãã便å©ãªæ©è½ãæä¾ãããã¨ã§ããå ´åãå ç¢ãªã³ã¼ãã«å°éããããã«ä½¿â¦
NSUserActivityã¯ãéçºè ãããã¤ã¹ä¸ã§ã®ã¢ããªã®å¯è¦æ§ãé«ãããã¨ãã§ããã¨ã¦ãå¼·åãªãã¼ã«ã§ãã Siri Shortcutsã®å°å ¥ã«ãããã¢ããªã®æ©è½ã¨ã®ã¨ã³ã²ã¼ã¸ã¡ã³ããããã¾ã§ä»¥ä¸ã«ç°¡åã«ãªãã¾ããã SiriKitã®èªåé³å£°èµ·åæ©è½ã追å ãã¦ãã¦ã¼ã¶ã¼â¦
iOSã¢ããªã®é£èªåã«å¯¾ããã¾ã£ããæ°ããã¢ããã¼ããç´¹ä»ãã¾ãã MachObfuscatorã¯Swiftã§æ¸ããããªã¼ãã³ã½ã¼ã¹ã®ãã¤ããªé£èªåãã¼ã«ã§ãã iOSãããããã¼ çããã®ã¢ããªãããã«ãªãã¼ã¹ã¨ã³ã¸ãã¢ãªã³ã°ãããããããã¦ã©ãããã°ãã«ããã§ãâ¦
Swiftã¯å¼·åã§ãã¾ããæ¯è¼çæ°ããè¨èªã§ããä¸ã®ä¸ã«ã¯Cè¨èªããC++ãObjective-Cã§æ¸ããããªã¼ãã³ã½ã¼ã¹ã©ã¤ãã©ãªãå¤ãããã¾ããã¦ãã¼ã¯ãªã¢ããªãä½ããã£ã³ã¹ã3åã«ããããã«ããããå©ç¨ããæã¯ãªãã®ã§ããããï¼ ããã¾ãï¼ ãã®ãã¼ã¯ã§ã¯â¦
The Swift Server Work Group (SSWG) ã®ç®çã¯ãSwiftã§ã®ãµã¼ãã¼ã¢ããªã±ã¼ã·ã§ã³éçºã®å®å®ããå¥å ¨ãªã¨ã³ã·ã¹ãã ãä½ããã¨ã§ãã ç¾å¨ãã©ã¼ã«ã¹ãã¦ããã®ã¯ãã³ãã¥ããã£ãä¿¡é ¼ã§ããé«å質ã§ååã«ã¡ã³ããã³ã¹ãããã©ã¤ãã©ãªããã¼ã«ã®éçºãä¿â¦
Launguage Server Protocol(LSP)ã¯è¿é 注ç®ãéãã¦ãããæ§ã ãªããã°ã©ãã³ã°è¨èªã®Language Serverãéçºããã¦ãã¾ãã Swiftãä¾å¤ã§ã¯ãªãã2018å¹´ã«ã¯SourceKit-LSPãçºè¡¨ãããç¾å¨ãéçºãç¶ãã¦ãã¾ãã ãã®ãã¼ã¯ã§ã¯LSPã«ã¤ãã¦ã®æ¦è¦ã¨ãSourcâ¦
ARKitã¯ARãã¢ããªã«çµã¿è¾¼ãã§ããé åçã§æ¥½ãããã®ã«ããæ¹æ³ã示ãã¾ãããããããªãã®ã¢ããªã«ARKitã使ããã¨ãèãã¦ãããªããã®è©±ã¯ããªãã®ããã®ãã®ã§ãããã®ãã¼ã¯ã§ã¯ã¢ããªã®ããã©ã¼ãã³ã¹ç¢ºä¿ãä»®æ³ãªãã¸ã§ã¯ãã®é ç½®ãå¹³é¢ã®æä½ãªã©â¦
ãã®ãã¼ã¯ã§ã¯ãç°¡åãªå ç·è¿½è·¡ãSwiftã使ã£ã¦ã¼ãããä½ãéã«ç´é¢ããé害ã«ã¤ãã¦ã話ãã¾ããå ç·è¿½è·¡æ³ã¯ãã¢ãã¡ã¼ã·ã§ã³ãã£ã«ã ç£æ¥ãå¸å·»ãããPixarã®ãã®æªåé«ãRendermanã®3Dã¬ã³ããªã³ã°æè¡ã®åºç¤ã¨ãªã£ã¦ãã¾ããããã¯ãå ç·ã®ç©çã¢ãã«â¦
Swiftã¯ARCã§ã¡ã¢ãªã管çãã¦ãã¾ããå¾ã£ã¦ä¸æãªæ¸ãæ¹ãããã°ã¡ã¢ãªãªã¼ã¯ããã¨ãç°¡åã«çºçãã¾ãã ã©ã®ããã«ã¡ã¢ãªãªã¼ã¯ãé²ãã¾ããï¼ã³ã¼ãã£ã³ã°è¦ç´ãã³ã¼ãã¬ãã¥ã¼ãæå¾ã®ç ¦ã®QA⦠å¿è«ãæã ã¯æ æ°ãªã®ã§ãåªåãæ ¹æ§ããããèªåçã«åä½â¦
Keypathã¯Swift 4ã§è¿½å ãããæ©è½ã§ããç´ æ´ãããæ©è½ãæã£ã¦ãã¾ãããææ使ãæãè¦ã¤ããã®ãé£ããæãã¾ããããããKeypathãç解ãã¦æ£ãã使ããæãã¸ã§ããªã¯ã¹ããããã³ã«ã«ãããããªãæ½è±¡åãå®è£ ã§ãã¾ãããã ãããããè¡ããããã«ãâ¦
[https://twitter.com/yyu:embed] protocolã¯associatedtypeã¨ãã£ããããããåå¨åããæ±ããã¨ãã§ããªããããprotocolã«å¯¾ãã¦extensionã§æ©è½ãä¸ããã¨ããassociatedtypeã«ã¯å¿ ããªãããã®å ·ä½çãªåãå ¥ãããã¨ãæ±ãããããprotocol/extensionâ¦
æ®æ®µãªãã¨ãªãæ¸ãã¦ããimportã§ãããµãã¢ã¸ã¥ã¼ã«ãç¹å®ã®è¦ç´ ãæ示çã«æå®ãããã¨ãã§ãã¾ãããã®ã»ãã·ã§ã³ã§ã¯ãããã®importã®ä»æ§ãæ¯ãè¿ããã¾ããã¤ããªãµã¤ãºãããã©ã¼ãã³ã¹ã«ä¸ããå½±é¿ãèãã¦ããã¾ãã ä»åã¯ã¯ããã¦ã®è±èªã§ã®ãã¬â¦
Glowforgeã®3Dã¬ã¼ã¶ã¼ããªã³ã¿ã¼ã¯æ¨ãé©ãã¢ã¯ãªã«ãªã©ããç¾ãã製åãä½ãåºãã¾ããCoregraphicsã¨ä»ã®iOS APIãå©ç¨ãããã¨ã§ãã¢ããªã®ã¦ã¼ã¶ã¼ã¯Glowforgeã«éããã¨ãã§ãããã¯ã¿ã¼ã°ã©ãã£ãã¯ãä½æããããæä½ããããããã¨ãã§ãã¾ãããã®â¦
ããã¹ãã®ã³ã³ãã©ã¹ãã¯ã©ãã ãããã°ååã§ããããï¼ã°ã¬ã¼ã¹ã±ã¼ã«ã®è²ããããåãã®ã§ã¯ãªããå¼ã使ç¨ãã¦ç¸å¯¾çãªæãããè©ä¾¡ããããå¤ãã®ã¦ã¼ã¶ã¼ãã³ã³ãã³ããä½é¨ã§ããããã«ãã¾ããæ¹ç¨å¼ã®èå¾ã«ããç§å¦ã®æ¦è¦ãããã³ããã¤ãã®ã¨ãâ¦