Native
ããã«ã¡ã¯ããã¹ã¿ãã£ãµããªã iOS éçºãã¼ã ã® @manicmaniac ã§ãã ä»åã¯ãXcode ã®ãã«ããã§ã¼ãºã§ nohup ã使ã£ã¦ SwiftLint ã LicensePlist ãªã©ã®ãã¼ã«ãéåæå®è¡ãããã¨ã§ãéçºä¸ã®ã¤ã³ã¯ãªã¡ã³ã¿ã«ãã«ãã®ä½ææéãå¤§å¹ ã«ç縮ãã工夫â¦
ããã«ã¡ã¯ãAndroidã¨ã³ã¸ãã¢ã®@morux2ã§ããã¹ã¿ãã£ãµããªå°å¦ã»ä¸å¦è¬åº§ã¢ããªã§ã¯ããã®åå¹´é EFO (Entry Form Optimization) ã«æ³¨åãã¦ãã¾ãããä»åã¯ãã®ä¸ã§ãã¡ã¼ã«ã¢ãã¬ã¹ã®èªè¨¼ã³ã¼ãå ¥åç»é¢ã®å®è£ ã«ã¤ãã¦ãç´¹ä»ãã¾ãã å®è£ ããã¡ã¼ã«â¦
ããã«ã¡ã¯ãAndroidã¨ã³ã¸ãã¢ã®@morux2ã§ããã¹ã¿ãã£ãµããªå°å¦è¬åº§ã«ã¯ãåã©ãããçµµæããã¼ã«ã§ä¿è·è ã¨ã³ãã¥ãã±ã¼ã·ã§ã³ãåãããããããã§ããï¼ãæ©è½ãããã¾ããæ¬è¨äºã§ã¯ããã®æ©è½ã®å®è£ 詳細ããç´¹ä»ã§ããã°ã¨æãã¾ãã ãããããã§ãâ¦
ããã«ã¡ã¯ãAndroidã¨ã³ã¸ãã¢ã®@morux2ã§ããå æ¥ DroidKaigi2024 ã«ã¦ããGraphQLã®é åãå¼ãåºãAndroidã¯ã©ã¤ã¢ã³ãå®è£ ãã¨ããçºè¡¨ãè¡ãã¾ããã®ã§ããã®å ±åãããã¦ããã ãã¾ãã 2024.droidkaigi.jp çºè¡¨è³æã¯ãã¡ãã«ãªãã¾ãã speakerdeck.â¦
ããã«ã¡ã¯ãAndroidã¨ã³ã¸ãã¢ã®@morux2ã§ããã¹ã¿ãã£ãµããªå°å¦ã»ä¸å¦è¬åº§ã§ã¯ãã¼ã¿éä¿¡ã«GraphQLãæ¡ç¨ãã¦ãããéçºè ãä¿¡é ¼ããã¯ã¨ãªã®ã¿ãå¦çããä»çµã¿ã¨ãã¦Trusted Documentsãå®è£ ãã¦ãã¾ãããã®åº¦ã徿¥ã®Persisted QueryããSigned Queryâ¦
ããã«ã¡ã¯ãAndroidã¨ã³ã¸ãã¢ã®@morux2ã§ãã ã¹ã¿ãã£ãµããªå°å¦ã»ä¸å¦è¬åº§ã§ã¯ãVisual Regression Test (ä»¥ä¸ VRT)ã宿½ãã¦ãã¾ããVRTã¯ç»åæ¯è¼ã«ããUIã®å帰ãã¹ãã§ãã夿´åå¾ã®ã³ã¼ãããããã«å¯¾ããç»é¢ã®ã¹ã¯ãªã¼ã³ã·ã§ãããæ¯è¼ããæå³â¦
ããã«ã¡ã¯ãã¹ã¿ãã£ãµã㪠Androidã¨ã³ã¸ãã¢ã®@morayl ã§ãã æ¬è¨äºã§ã¯ãKotlinã®éçè§£æãã¼ã«ã§ããdetektã®è§£æçµæãDangerã§ãã«ãªã¯ã«ã³ã¡ã³ãããéã«ãã«ã¼ã«åãä¸ç·ã«ã³ã¡ã³ãããããã«ãããã¨ãç´¹ä»ãã¾ãã Dangerã®åºç¤è¨èªã§ããRubyâ¦
ã¯ããã« iOSã¨ã³ã¸ãã¢ã®komajiã§ãã2023å¹´9æã«ãã¹ã¿ãã£ãµã㪠å°å¦è¬åº§ãããªãã¥ã¼ã¢ã«ããæ¢åã®ãã¹ã¿ãã£ãµã㪠ä¸å¦è¬åº§ãã¢ããªã«çµã¿è¾¼ãå½¢ã§ãªãªã¼ã¹ãã¾ããã ãã®å°å¦è¬åº§ã¯æ¢åã®ä¸å¦è¬åº§ã¨ã¯æ©è½ãå ¨ãç°ãªã£ã¦ãã¾ãããåä¸ã¢ããªã§ä¸¡â¦
ããã«ã¡ã¯ãiOS ã¨ã³ã¸ãã¢ã® @_nkmrh ã§ãã SwiftUI ãçºè¡¨ããã¦ããã¯ã4å¹´ãçµã¡ãæ¨ä»ã®ãããã¯ã·ã§ã³ã³ã¼ãã§ãå¤ãæ´»ç¨ããã¦ããã®ã§ã¯ãªãã§ããããã ããã§æ¬ç¨¿ã§ã¯ SwiftUI ãæ´»ç¨ããä¸ã§æ¬ ãããã¨ã®ã§ããªã SwiftUI.View ã® Explicit Idâ¦
ããã«ã¡ã¯ã@manicmaniac ã§ããã¹ã¿ãã£ãµã㪠iOS ã¢ããªéçºãã¼ã ã®ã¨ã³ã¸ãã¢ãªã³ã°ããã¼ã¸ã£ã¼ããã¦ãã¾ãã å°ãã¿ã¿ãããªè©±ã§ã¯ããã¾ãããFirebase Remote Config ã®å¤æ´ã Slack ã«éç¥ããããã«ãããã¡ãã£ã¨ä¾¿å©ã ã£ãã®ã§è¨äºã«ãããã¨â¦
ããã«ã¡ã¯ãAndroidã¨ã³ã¸ãã¢ã®@morux2ã§ããæ¬è¨äºã§ã¯ã¹ã¯ãªã¼ã³ã·ã§ããã®æ®å½±ã«Roborazziãå°å ¥ããçµç·¯ããç´¹ä»ã§ããã°ã¨æãã¾ãã ã¯ããã« ãã£ãã Roborazziã¨Paparazziã®æ¯è¼ æ¸ãããã è¤æ°ç«¯æ«ã§ã®æ®å½± ã¹ã¯ãã¼ã«ããç»é¢ã®æ®å½± Showkaseâ¦
ããã«ã¡ã¯ãAndroidã¨ã³ã¸ãã¢ã®@morux2ã§ããæ¬è¨äºã§ã¯Jetpack Composeã§ã¹ãããã©ã¤ãæ©è½ãå®è£ ããæ¹æ³ãç´¹ä»ãã¾ãã ã¯ããã« ã¹ãããã©ã¤ãã¯ãç¹å®ã®è¦ç´ ãç®ç«ããããã¨ã§ã¦ã¼ã¶ã¼ã®è¡åãä¿ãæ©è½ã§ããã¹ã¿ãã£ãµããªä¸å¦è¬åº§ã®ãªã³ãã¼ãã£â¦
ã¯ããã« ããã«ã¡ã¯ããã¹ã¿ãã£ãµããªä¸å¦è¬åº§ã ã§ Android ã¨ã³ã¸ãã¢ããã¦ãã @maxfie1d ã§ãããã¹ã¿ãã£ãµããªä¸å¦è¬åº§ã ã§ã¯ Jetpack Compose ãæå¤§éã«æ´»ç¨ãã¦ãã¾ããç¾å¨ã¢ããªå ¨ä½ã® 7 å²ç¨åº¦ã® UI 㯠Jetpack Compose ã§æ§ç¯ããã¦ãã¾ãâ¦
ããã«ã¡ã¯ãAndroidã¨ã³ã¸ãã¢ã®@morux2ã§ããå æ¥ã¹ã¿ãã£ãµããªä¸å¦è¬åº§ã«ã¾ãªã¬ãæ©è½ã追å ããã¾ãã ã¾ãªã¬ãã¯å¦ç¿ç¶æ³ã»å¦ç¿å±¥æ´ã確èªã§ããæ©è½ã§ãããªã¢ã«ã¿ã¤ã ã§å¦ç¿ç¶æ³ã表示ãããã®ã§ãå¦ç¿å¾ããã«ææã®æ¯ãè¿ãããã¦ããã ããã¨ãã§â¦
ããã«ã¡ã¯ãã¹ã¿ãã£ãµããªéçºãã¼ã iOS ã¨ã³ã¸ãã¢ã® @m-sugawara ã§ãã ã¹ã¿ãã£ãµããªã® iOS ã¢ããªã§ã¯2~3ã¶æåã« PencilKit ã使ã£ãã¡ã¢å¸³æ©è½ãå ¬éããã®ã§ãããä»åã¯ãã®æ©è½ã®éçºãå ¬éã¾ã§è³ã£ãæµãã«ã¤ãã¦ãç´¹ä»ãããã¨æãã¾ãã ï¼â¦
ã¯ããã¾ãã¦ï¼2022å¹´ã®9æã®ä¸é ã«ã¸ã§ã¤ã³ããiOSã¨ã³ã¸ãã¢ã®@komajiã§ããã¾ã æ´ãæµ ããã£ããã¢ãããã¦ããæä¸ã§ã¯ããã¾ãããç§ãæ å½ãã¦ããã¹ã¿ãã£ãµããªä¸å¦è¬åº§ã®iOSã¢ããªã2022å¹´12æç¾å¨ã©ã®ãããªç°å¢ã§éçºããã¦ããã®ããç´¹ä»ãã¦ãâ¦
ããã«ã¡ã¯ãiOS ã¨ã³ã¸ãã¢ã® @manicmaniac ã§ãã ç¾å¨ã¹ã¿ãã£ãµã㪠iOS ã¢ããªéçºãã¼ã ã®ã¨ã³ã¸ãã¢ãªã³ã°ããã¼ã¸ã£ããã¦ãã¾ãã ãã¹ã¿ãã£ãµããªããã©ã³ãã§åºã¦ããã¢ããªã¯æ°å¤ãããã®ã§ãããä»åã¯ä»å¹´ãªãªã¼ã¹ãããã°ããã®ãã¹ã¿ãã£ãµâ¦
ããã«ã¡ã¯ãAndroid ã¨ã³ã¸ãã¢ã® @omtians9425 ã§ããã¹ã¿ãã£ãµããªä¸å¦è¬åº§ã®éçºã«æºãã£ã¦ãã¾ãã ä»åã¯ã Google Play In-App Reviews API ã®å°å ¥ã«ãããã¹ã¿ãã£ãµããªä¸å¦è¬åº§ã® Google Play Store è©ä¾¡ã4.5ï¼2022å¹´10æ7æ¥æç¹ï¼ã«æ¹åãããâ¦
ããã«ã¡ã¯ãAndroid ã¢ããªéçºè ã® geckour ã§ãã ååã¯ãã¶ã¤ã³ã·ã¹ãã ã®å®è£ ã«ã¤ãã¦ã®è©±ããã¾ããããä»åã¯ãã¡ããå®éã«éç¨ãã¦ã¿ãä¸éå ±åããããã¨æãã¾ãã ã¯ããã« ååã¯ãJetpack Compose ã«ãã£ã¦ãã¶ã¤ã³ã·ã¹ãã ãæ§ç¯ããã¨ããâ¦
ããã«ã¡ã¯ï¼iOSã¨ã³ã¸ãã¢ã® @chuymaster ã§ããä»åã¯ç§ãã¡ã®ãã¼ã ã2æã«ãªãªã¼ã¹ãããã¹ã¿ãã£ãµã㪠ä¸å¦è¬åº§ãã®In-App Purchaseï¼IAPï¼ã®å®è£ ã«ã¤ãã¦æ¸ãããã¨æãã¾ããSwiftUI x IAPã®äºä¾ããæ¢ãã®æ¹å¿ è¦ã§ãï¼ èæ¯ ãã¹ã¿ãã£ãµã㪠ä¸å¦â¦
ããã«ã¡ã¯ãiOS ã¨ã³ã¸ãã¢ã® @_nkmrh ã§ãã æè¿ãFull SwiftUI ã§éçºããã¹ã¿ãã£ãµã㪠ä¸å¦è¬åº§ããªãªã¼ã¹ããã¢ããªéçºã®ééå³ãå³ãã£ã¦ãã¾ãã ã¯ããã« æ¬ç¨¿ã§ã¯ãã¹ã¿ãã£ãµããªä¸å¦è¬åº§ iOS ã¢ããªã§å®è£ ãã SwiftUI ã® NavigationView ã®â¦
ããã«ã¡ã¯ãiOSã¨ã³ã¸ãã¢ã® @elliekwon ã§ããå»å¹´ã®iOSDC Japan 2021ãã¹ã¿ãã£ãµããªããFull SwiftUIã鏿ããå ã«è¦ãã¦ãããã®ã®çºè¡¨ã§ç´¹ä»ããã¦é ããéããSwiftUIã§éçºãã¦ãããã¹ã¿ãã£ãµããªä¸å¦è¬åº§ãã§ãããSwiftUIã§ã¯å¯¾å¿ããããããâ¦
ããã«ã¡ã¯ãiOS ã¨ã³ã¸ãã¢ã® wadash ã§ããå æ2022å¹´2æã«ç¡äºãªãªã¼ã¹ãããã¹ã¿ãã£ãµã㪠ä¸å¦è¬åº§ãã®ãã¼ã ã§éçºã«æºãã£ã¦ãã¾ãã ä»å㯠iOS ãã¼ã¸ã§ã³ã«ãã SwiftUI ã®æåå·®ç°ã¨å¶éã®ã¾ã¨ãããç´¹ä»ãã¾ãã SwiftUI ã®æ¡ç¨ã¨ãµãã¼ããã¼â¦
ããã«ã¡ã¯ãAndroid ã¢ããªéçºè ã® geckour ã§ãã ä»åã¯ããã¶ã¤ã³ã·ã¹ãã ã®å®è£ ã«ã¤ãã¦ã®è©±ããããã¨æãã¾ãã
ããã«ã¡ã¯ãAndroid ã¨ã³ã¸ãã¢ã® @omtians9425 ã§ãã ä»åã¯ã Visual Regression Test (ä»¥ä¸ VRT) ã® tips éã®ç¶ç·¨ã«ã¤ãã¦ã話ããã¾ãã VRT ã®ç°¡åãªèª¬æã¨ååã® tips ï¼tips 1~4ï¼ ã«ã¤ãã¦ã¯ ãã¡ã ãã覧ãã ããã Tips é 5. ãã¹ã¯ã¤ãã ã§â¦
ããã«ã¡ã¯ï¼iOSã¨ã³ã¸ãã¢ã® @chuymaster ã§ãï¼ç§ãã¡ã®ãã¼ã ã2å¹´è¿ãããã¦éçºãã ãã¹ã¿ãã£ãµã㪠ä¸å¦è¬åº§ã ã®iOSã¢ããªããããããªãªã¼ã¹ããã¾ããï¼ ããããã¿ããªã§é å¼µãã¾ãããï¼ä¸å¦çã®ãåæ§ãããã£ãããæ¹ã¯ãã²ã試ããã ããï¼ â¦
ä¸è¦ãª Swift ã³ã¼ããéçè§£æã§å®å ¨ãã¤ç¶ç¶çã«æ¶ãã¦ãã ããã«ã¡ã¯ãiOS ã¨ã³ã¸ãã¢ã® @manicmaniac ã§ãã ç¾å¨ã¹ã¿ãã£ãµã㪠iOS ã¢ããªéçºãã¼ã ã®ã¨ã³ã¸ãã¢ãªã³ã°ããã¼ã¸ã£ããã¦ãã¾ãã ã¹ã¿ãã£ãµã㪠iOS ã¢ããªã¯éçºéå§ãã7年以ä¸ãçµâ¦
ããã«ã¡ã¯ãiOSã¨ã³ã¸ãã¢ã® @chuymaster ã§ãï¼iOSDC Japan 2021ã®ãã¹ã¿ãã£ãµããªããFull SwiftUIã鏿ããå ã«è¦ãã¦ãããã®ãã®ãã¼ã¯ã»ãã·ã§ã³ã§ç´¹ä»ããããããã°ã©ã ã§ç»é¢é·ç§»ãå¶å¾¡ããæ¹æ³ã«ã¤ãã¦è©³ãã解説ãã¾ãããã¼ã¯ã§è©±ããããªãâ¦
ããã«ã¡ã¯ãiOSã¨ã³ã¸ãã¢ã® @chuymaster ã§ãï¼iOSDC Japan 2021ã®ãã¹ã¿ãã£ãµããªããFull SwiftUIã鏿ããå ã«è¦ãã¦ãããã®ãã®ãã¼ã¯ã»ãã·ã§ã³ã®æéã®é½åä¸ããç´¹ä»ã§ããªãã£ããå ¨ç»é¢ã¢ã¼ãã«ãéãããå®è£ æ¹æ³ããç´¹ä»ãã¾ãã å ¨ç»é¢ã¢ã¼â¦
ããã«ã¡ã¯ãiOS ã¨ã³ã¸ãã¢ã® @wadash ã§ãã ä»å㯠iOSDC Japan 2021 ã®ã»ãã·ã§ã³ãã¹ã¿ãã£ãµããªããFull SwiftUIã鏿ããå ã«è¦ãã¦ãããã®ãã§ç´¹ä»ããã SwiftUI ã«ãããã¢ãã¡ã¼ã·ã§ã³ã®å®è£ æ¹æ³æ¹æ³ã«ã¤ãã¦è©³ãã解説ãã¾ãã SwiftUI ã®ã¢â¦