27
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

主力フリマアプリ iOSオープンソースライブラリ調査

Last updated at Posted at 2017-09-08

メルカリの成功を筆頭に、フリマアプリが各社頑張っている印象があるので、アプリの著作権情報から各アプリでつかわれているオープンソースライブラリを調べてみた。
ついでにメルカリも手を広げている、クラシファイドアプリ(ジモティーとアッテ)も調べた。
iOSの場合は使っているライブラリによって、ObjCかSwiftのどちらが使われているか推測できるので、面白いと思う。

対象のiOSアプリは以下。

  • オールジャンル
    • ヤフオク(※1) / メルカリ / ラクマ
  • ファッション
    • フリル / SHOPLIST USED
  • 本/CD/DVDなど
    • カウル / ブクマ
  • クラシファイド
    • ジモティー / アッテ

※1 ... オークションだけどフリマモードあるので入れました。

サマリーと所感

以下、気になったところだけ各アプリ別に書きます。
どのアプリにも必須なネットワーク系やRxなどのアプリ全体で使われるライブラリは、特徴が出そうなので「ネットワーク/制御系」として抜き出しています。

ヤフオク

RxSwiftを使いつつも、ObjCのライブラリが残っている印象。
早い段階でSwiftに乗り換えを進めてきたのか、今はメジャーではないSwiftのライブラリが含まれている気がする。

  • ネットワーク/制御系: RxSwiftRxDataSources
  • 定番UI系: JSQMessageViewController, MJPopupViewController (めっちゃ古くからあるスゴイ)
  • Rxに加えて、非同期処理ライブラリ BrightFutures
  • DB系は、RealmFMDB が両方入っている。
  • AutoLayout関連ライブラリにSnapKitではなくPureLayout
  • ネットワーク系のライブラリは含まれていない。自社製ライブラリ使っているのかな。

メルカリ

※ 著作権表記は探したが見つからなかった。どこにあるのだろうか。教えて欲しい。

ラクマ

PureSwiftのライブラリは一切含まれておらず、ObjC感が強い。
定番のUIライブラリの採用が多し。

  • ネットワーク/制御系: AFNetworking

フリル

さすがフリマアプリの老舗と言った感じで、ライブラリ数がダントツ。
MasonryとSnapKitなど、見るからに Swift、ObjCが混在といった感じ。
Rxではなく、ReactiveCocoa、ReactiveObjC、ReactiveSwift が採用されている。

  • ネットワーク/制御系: BoltsAFNetworkingReactiveCocoa
  • AdobeCreativeSDK、写真加工につかっている?
  • 広告/計測系: AdjustFirebaseAnalyticsGoogleAnalytics
  • 有名エンジニアの足跡、NJKScrolFullScreenNJKWebViewProgress
  • QBImagePickerControllerMWPhotoBrowserなど古いUIライブラリあり

SHOPLIST USED

画面遷移や項目変更時のアニメーションを頑張っていて操作して気持ちがいい。カスタムビュー多そう。
PureSwiftのライブラリはない。通信系ライブラリもない。

  • ネットワーク/制御系: BoltsRealm
  • XMLDictionaryはあるけど、JsonParserがない。APIはXML?
  • 広告/計測系多い、 ReproSmartBeatADJustFirebaseAnalyticsAwsMobileAnalytics
  • 開発テスト系で OCHamcrestOCMock

カウル

メルカリのブランドだけど、開発は子会社のソウゾウ。
2017年5月リリースなのでとても新しく、今時のRxSwift採用で、PureSwiftライブラリを必要最低限に使っているという感じ。

  • ネットワーク/制御系: RxSwiftAction(Rx関連)APIKit+Himotokiの組み合わせ
  • mixi子会社のノハナの NohanaImagePicker

ブクマ

SDWebImageとKingfisherなどObjc混在感あり。
なぜかアラート関係の便利ライブラリが多い。
測定系がいっぱい。

  • ネットワーク/制御系: AlamofireBolts
  • 広告/計測系: AppsFlyerFrameworkFirebaseAnalyticsCrashlyticsReproFBAudienceNetworkGoogleAnalyticsGoogleConversionTracking

ジモティー

ライブラリ数が圧倒的に少ないしマイナーなものが多い。
ちなみに画面がまだ拡大互換モードだったりする。

  • ネットワーク/制御系: R9HTTPRequest

アッテ

カウルと同じソウゾウなので、同じ傾向かと思いきやそうでもないように見える。
PureSwiftかと思いきや、古いライブラリもあり。

  • ネットワーク/制御系: RxSwiftAlamofirRealm
  • MHCustomtabBarControllerStaticDataTableViewControllerという古いライブラリもあり。

全ライブラリ列挙

ヤフオク!

  • three20
  • ZXing
  • FMDB
  • JSQMessageViewController
  • base64Transcoder
  • CocoaLumberjack
  • LumberjackConsole
  • DCScrollView
  • Realm
  • RealmComponents
  • ExportCompliance
  • card.io
  • RxSwift
  • SWXMLHash
  • SwiftyJSON
  • RxDataSources
  • PureLayout
  • BrightFutures
  • Result
  • MJPopupViewController

※ 表示場所: アプリ内設定画面、v1.7.6

メルカリ

※ 記載見つけられず

ラクマ

  • Acknoledgements
  • AFNetworking
  • HMSegmentedControl
  • JASidePanels
  • ODRefreshControl
  • SDWebImage
  • SVProgressHUD
  • SVPullToRefresh
  • TTTAttributedLabel
  • UICKeyChainStore
  • WEPopover

※ 表示場所: ご利用ガイド > ラクマについて(WebView)、v1.7.6

フリル

  • Acknoledgements
  • AFNetworkActivityLogger
  • AFNetworking
  • Adjust
  • AdobeCreativeSDK
  • Bolts
  • Clashytics
  • DACircularProgress
  • DateTools
  • DateToolsSwift
  • FBSDK CoreKit
  • FBSDK LoginLit
  • FABRIC
  • Firebase
  • FirebaseCore
  • FirebaseAnalytics
  • FirebaseInstaceId
  • FontAwsomeKit
  • GTMOAuth2
  • GTMSESessionFetcher
  • Google Analytics
  • GoogleAppleUtilities
  • GoogleConversionTracking
  • GoogleInterChangeUtilities
  • GoogleSignIn
  • GoogleSymbolUtilities
  • GoogleToolBoxForMac
  • GoogleUtilities
  • HMSegmentedControl
  • HPGrowingTextView
  • Himotoki
  • JLRoutes
  • LXReorderableCollectionViewFlowLayout
  • MBProgressHud
  • MWPhotoBrowser
  • Masonry
  • NJKScrolFullScreen
  • NJKWebViewProgress
  • QBImagePickerController
  • ReactiveCocoa
  • ReactiveObjC
  • ReactiveSwift
  • Result
  • SDWebImage
  • SSPullToRefresh
  • SnapKit
  • TMCache
  • TTTAttributedLabel
  • TwitterCore
  • TwitterKit
  • UICKeychainStore
  • WebviewJavaScriptBridge

※ 表示場所: iOS設定画面、Version: v6.8.3

SHOPLIST USED

  • Acknaledgement
  • AwsCore
  • Bolts
  • OCHamcrest
  • XMLWriter
  • Mantle
  • XMLDictionary
  • UICKeychainStore
  • GZip
  • Reachability
  • OCMock
  • AwsMobileAnalytics
  • AmazonCognitoSync
  • ADJust
  • FBSDKCoreKit
  • FBSDKLoginKit
  • Fabric
  • Firebase
  • FirebaseAnalytics
  • FirebaseInstabseID
  • Google
  • GoogleAnalytics
  • GoogleInterchangeUtilities
  • GoogleSymbolUtilities
  • GoogleUtilities
  • Realm
  • RealmComponents
  • ExportCompliance
  • Repro
  • TwitterCore
  • TwitterKit
  • SmartbeatSDK
  • PLCrashReporter

※ 表示場所: iOS設定画面、v1.4.0

ブクマ

  • Acknolegements
  • Alamofire
  • AppsFlyerFramework
  • Bolts
  • CollectionViewWaterFallLayout
  • Crashlytics
  • FBAudienceneNetwork
  • FBSDKCoreKit
  • FBSDKLoginKit
  • FBMessengerShareKit
  • FBSDKShareKit
  • FMDB
  • Fabric
  • Firebase
  • FirebaseAnalytics
  • FirebaseCore
  • FirebaseInstanceID
  • FirebaseMessaging
  • FrameAccessor
  • GLDTween
  • Google
  • GoogleAnalytics
  • GoogleConversionTracking
  • GoogleToolBoxForMac
  • JDStatusBarNotification
  • Kingfisher
  • LINEActivity
  • LukeyChainAccess
  • MTBBarcodeScanner
  • PhotoSlider
  • Protobuf
  • RDVTabBarController
  • RMUniversalAlert
  • Repro
  • SDWebImage
  • SVProgressHUD
  • Siren
  • SwiftyBeaver
  • SwiftyJson
  • SwiftyTimer
  • SwiftyUserDefaults
  • TimePiece
  • UIActionSheet+Blocks
  • UIAlerController+Blocks
  • UIAlertViewBlocks

※ 表示場所: iOS設定画面、v1.6.2

メルカリカウル

  • APIKit
  • Action
  • Himotoki
  • JsonRPCKit
  • KeychainAccess
  • Kingfisher
  • material-design-icons
  • NohanaImagePicker
  • Result
  • RxSwift
  • SVProgressHUD

※ 表示場所: アプリ内設定画面、v1.7.1

ジモティー

  • R9HTTPRequest
  • JSONKit
  • ImageStore
  • ELCImagePickerController
  • Si-Calendar
  • CMPopTipView

※ 表示場所: マイページ、v3.0.6

アッテ

  • MHCustomtabBarController
  • KeychainAccess
  • SVProgressHUD
  • DKImagePickerController
  • StaticDataTableViewController
  • JSONRPCKit
  • RealmCocoa
  • ObjectMapper
  • Alamofire
  • AlamofireImage
  • RxSwift
  • RAReorderableLayout
  • Repro

※ 表示場所: アプリ内設定画面 -> 使い方ガイド (WebView)、v2.8.4

27
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?