2023å¹´3æç¾å¨ã®ãããªã®iOSã¢ããªã¯éçºç°å¢ã«ã¤ãã¦ç´¹ä»ãã¾ãã
è¨èª
100% Swiftã§ã以åã¯Objective-Cã®ã³ã¼ããããã¾ããããå ¨ã¦Swiftã«æ¸ãæãã¾ããã
iOSã®ãµãã¼ãç¯å²
iOS14以ä¸ã¨ãã¦ãã¾ãã4/10以éã¯14.5以ä¸ã«å¤æ´äºå®ã§ããï¼iOS14.0~14.4ã§SwiftUIã®æåã®éãããããããµãã¼ãç¯å²å¤ã¨ãã¾ããï¼
使ã£ã¦ãã主ãªãã¬ã¼ã ã¯ã¼ã¯ãã©ã¤ãã©ãª
主ã«ä»¥ä¸ã®ãã¬ã¼ã ã¯ã¼ã¯ãã©ã¤ãã©ãªãå©ç¨ãã¦ãã¾ãã
- UIKit, SwiftUI
- RxSwift, Combine
- Realm
- Firebase
以åã¯UIKitã¨RxSwiftã使ã£ã¦ãã¾ããããæ°ããç»é¢ã«ã¤ãã¦ã¯SwiftUIã¨Combineã使ç¨ããæ¹éã§éçºãã¦ãã¾ãããã ããSwiftUIã§å®è£ ããéã«ç¹æ®ãªæ¹æ³ãå¿ è¦ã§ããã°ãæ°ããªè² åµãä½ããªãããã«UIKitã§å®è£ ããæ¹éã§ãã
ã¢ããªå ã§ãã¼ã¿æ°¸ç¶åã®ããã«Realmãå©ç¨ãã¦ãã¾ããããããªã¯åºæ¬çã«Web APIããæ å ±ãåå¾ãã¦è¡¨ç¤ºãããã¨ãã¡ã¤ã³ã§ãããRealmã¯è»½éãªå©ç¨ã«çãã¦ãã¾ãã
Firebaseã¯ãåæãABãã¹ããã¯ã©ãã·ã¥æ¤ç¥ãªã©å¤æ§ãªç¨éã§ä½¿ç¨ãã¦ãã¾ãã
ã¢ã¼ããã¯ãã£
RxSwiftã主ã¨ãªã£ã¦ãããããMVVMã«ãªã£ã¦ãã¾ãã SwiftUIå°å ¥æã«TCAãæ¤è¨ãã¾ããããç¹å®ã®Frameworkã«å¼·ãä¾åãããããªãã£ãã®ãããã䏿¦è¦éã£ã¦ãã¾ãããã ããä»å¾èª²é¡ãåºã¦ããå ´åã¯åèãã¦ããäºå®ã§ãã
Modelé¨åãå¥ã¢ã¸ã¥ã¼ã«ã¨ãã¦åãåãã¦ãã¾ããããã«ã¤ãã¦è©³ããã¯ãã¡ãã®ããã°ãã覧ãã ããã tech.connehito.com
ãã¼ã«
swift-formatãSwiftLintãéçºä¸ã«èªåã§å®è¡ãããããã«ãã¦ãã¾ãã
Renovateãã¤ãã£ã¦ã©ã¤ãã©ãªã宿çã«ã¢ãããã¼ãããä»çµã¿ãå°å ¥ãã¦ãã¾ãã
iOSã¨ã³ã¸ãã¢ã®æ°ã¯2åã§ãproject fileã§ã³ã³ããªã¯ããããã¨ã¯ãã¾ããªãããXcodeGenã¯å°å ¥ãã¦ãã¾ããã
ãã¶ã¤ãã¼ã¨ã®ãã¶ã¤ã³ã®ããã¨ãã¯Figmaãã¤ãã£ã¦ãã¾ãã
ãã¹ã
Quick/Nimbleã使ã£ã¦ã¦ããããã¹ããæ¸ãã¦ãã¾ãã
å ¨ã¦ã«ãã¹ããæ¸ãã¦ããããã§ã¯ãªããAPIã®éä¿¡å¨ãã¯å¿ é ãViewModelãModelã¯æ¨å¥¨ã¨ãã¦ãã¾ãã
ãã¹ãæã®ä¾åæ§æ³¨å ¥ã®ããã«DIã®ã©ã¤ãã©ãªã¯å°å ¥ãã¦ãã¾ããããå¿ è¦ãªç®æã§ã¯initializerã§æ³¨å ¥ãã¦ãã¾ãã
CI/CD
CI/CDã®å®è¡ç°å¢ã¨ãã¦ã¯Bitriseã¨GitHub Actionsã使ã£ã¦ãã¾ãã Macã§ã®å®è¡ãå¿ è¦ãªã±ã¼ã¹ã¯Bitriseã使ãããã以å¤ã¯GitHub Actionsã使ãã¨ãã£ã使ãåãããã¦ãã¾ãã
ãã¹ãã®å®è¡ãAppDistributionã§ã®ã¢ããªã®é å¸ããã¹ã端æ«ã®ç»é²ãApp Storeã¸ã®ã¢ããªã®ã¢ãããã¼ãããªãªã¼ã¹ãã¼ãã®çæã¨ãã£ããã¨ãèªååãã¦ãã¾ãã
ä»å¹´åº¦ãã£ãæè¡çæ¹å
ãããªã®éçºæ¥åãããã ãã§ãªããæè¡çãªæ¹åã«ãä¸å®ã®æéã使ãããã«ãã¦ãã¾ããä»å¹´åº¦ã¯ä¸»ã«ä»¥ä¸ã®ãããªãã¨ãããã¾ããã
- Objective-Cã®ã³ã¼ãã®æ²æ»
- Swift Concurrencyå°å ¥
- è±Rosetta2
- ã¢ã¸ã¥ã¼ã«åå²
æè¡çãªæ¹åã®ä»å¾
仿³¨åãã¦ããæè¡çãªæ¹åã¯APIKitã®ç½®ãæãã¨APIéä¿¡å¨ããRxSwift/CombineããSwift Concurrencyã¸ã®ç½®ãæãã§ãã
ãã®å¾ãããããã¨ã¨ãã¦ã¯ãSwift Package Managerã®å°å ¥ãç»é¢ã®ä¸é¨ãSwiftUIã¸ã®ãªãã¬ã¼ã¹ãèµ·åå¨ãã®ã³ã¼ãã®æ¹åãªã©ãããã¾ãã
æå¾ã«
ã³ãããã§ã¯ãããªã®æ©è½éçºãããªãããæè¡çãªæ¹åãé²ããæéãä¸å®ç¢ºä¿ããã®ãããªæ¹åãé²ãã¦ãã¾ãã
ã³ãããã§ã®éçºã«èå³ãæã£ã¦ããã ããæ¹ã¯ã«ã¸ã¥ã¢ã«ã«ã話ãã¾ãããã Twitterã®DMãªã©ã§ã大ä¸å¤«ã§ãã®ã§@yanamura_ã¾ã§ãæ°è»½ã«ã©ãã 日本中の家族をITの力で笑顔にしたい、iOSエンジニア募集! - コネヒト株式会社のモバイルエンジニアの採用 - Wantedly