Amaziaを支える技術 2024年版(iOS編)
こんにちは。Amazia開発運用部エンジニアの井門です。
弊社では、国内最大級のマンガアプリ「マンガBANG!」、そして大人女子が楽しむ漫画アプリ「マンガトート」をiOSアプリとして展開しています。
これらのiOSアプリがどのような技術要素で構成されているのか、簡単に紹介していきます。
環境
対応プラットフォーム / iPhone,iPad
対応OSバージョン / 13.0
開発言語 / Swift
アーキテクチャ / MVVM + Clean Architectureベース
パッケージ管理 / CocoaPods
CI Service / Bitrise
DB / Realm
レイアウト / UIKit、基本コードベースで、SnapKitを利用
利用している主なライブラリ
RxSwift/RxCocoa
Firebase
Analytics
RemoteConfig
ABTest
InAppMessaging
Crashlytics
Realm
テスト
Quick
Nimble
Cuckoo
スタイル
SwiftLint
SwiftFormat
Snapkit
SwaggerClient (Open API Generator)
弊社でのiOS開発は完全にSwift100%で、Objctive-Cを使うことは有りません。
非同期処理や状態の監視の記述をわかりやすくするため、RxSwiftを使っています。
UIの構築はUIKitを使っており、SnapKitによるコードベース実装が中心でStoryBoardは少なめです。(プルリクエストによるコードレビューを円滑にするため)
現在iOSエンジニアチームでSwift UI移行を検討しており、アプリにも順次導入していく計画を立てています。
社内での勉強会を適宜開催しており、新しい技術をより良い形でプロダクトに取り入れられるよう努めています。
また、ここで挙げた技術に限らず「もっとこうした方がいい」「これを使った方がいい」などサービスをより良いものにするための提案も弊社では歓迎しています。
このような技術・環境で開発しておりますので、興味のある方は是非ご応募ください。