2020/3/17にリリースされたGitHubモバイルアプリ
GitHubが3/17にAndroidとiOS向けの公式モバイルアプリをリリース
最近までテスト配信され、ようやくリリースされました。
このアプリはコードの編集はできませんが、Issueの管理やプルリクエストのマージなどができるアプリです。
エンジニアのほとんどがお世話になっているGitHub
が一体どんなライブラリを使用して開発したのか気になりました。
iOSの設定アプリにOSSのライセンスが表記されていたので調査してみました。
- 初期画面
- ログイン後
- 謝辞: Acknowledgements
一覧
- Alamofire
- AlamofireNetworkActivityIndicator
- Apollo
- CocoaLumberjack
- ContextMenu
- DropdownTitleView
- Firebase
- Crashlytics
- Fabric
- FirebaseAnalyticsInterop
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseCoreDiagnosticsInterop
- FirebaseInstanceID
- FirebaseMessaging
- GoogleDataTransport
- GoogleDataTransportCCTSupport
- GoogleUtilites
- nanopb
- FLEX
- Fuzi
- Protobuf
- R.swift
- R.swift.Library
- SDWebImage
- SDWebImageSVGCoder
- SnapKit
- SnapshotTesting
- SQLite.swift
- SVGKit
- TUSafariActivity
- Valet
ライブラリについて
Alamofire
ど定番のHTTP通信ライブラリ
AlamofireNetworkActivityIndicator
Alamofireが提供しているインジケータライブラリ
NetworkActivityIndicatorManager.shared.isEnabled = true
Apollo
GraphQL APIと通信できるライブラリ
CocoaLumberjack
ログフレームワーク
NSLog
よりも高速らしい...
ContextMenu
ポップアップのようなコンテキストメニューの表示できるライブラリ
Starはちょっと少なめ
DropdownTitleView
UINavigationItemを加工できるライブラリ
Starはちょっと少なめ
Firebase
Googleのなんでも提供してくれる優秀ツール
FLEX
iOS開発用のアプリ内デバッグツール
Fuzi
XML/HTMLのパーサライブラリ
Webページからの情報を取得、分析するために使っているのでしょう
Protobuf
GoogleのProtocol Buffer( "protobuf")オブジェクトシリアライズツールをappleが提供
R.swift
コード補完でリソースファイルにアクセスすることができる超便利ライブラリ
let icon = UIImage(named: "settings-icon")
let font = UIFont(name: "San Francisco", size: 42)
let color = UIColor(named: "indicator highlight")
let viewController = CustomViewController(nibName: "CustomView", bundle: nil)
let string = String(format: NSLocalizedString("welcome.withName", comment: ""), locale: NSLocale.current, "Arthur Dent")
let icon = R.image.settingsIcon()
let font = R.font.sanFrancisco(size: 42)
let color = R.color.indicatorHighlight()
let viewController = CustomViewController(nib: R.nib.customView)
let string = R.string.localizable.welcomeWithName("Arthur Dent")
SDWebImage
かなり昔から使われている定番画像キャッシュライブラリ
SDWebImageSVGCoder
SDWebImageのSVGファイル対応プラグイン
SnapKit
AutoLayoutをソースコードで記述できる一番人気のライブラリ
SnapshotTesting
スナップショットテストライブラリ
View以外もテストできるみたい
これをつかってデグレを検知をしているのでしょう
SVGKit
SVGファイルを使えるようにするライブラリ
iOS13からガッツリSVG対応されるようになったので今後は使用することないかも...
SQLite.swift
データベースSQLiteのライブラリ
TUSafariActivity
「Safariで開く」を簡単に実行できるライブラリ
let URL = NSURL(string:" http://google.com ")!
let activity = TUSafariActivity()
let activityViewController = UIActivityViewController(activityItems:[URL]、applicationActivities:[activity])
Valet
キーチェーンを簡単に操作できるライブラリ
感想
アプリを使用してみて、かなりシンプルでappleが提供しているようなアプリデザインと思った。
UIがシンプルということでUI関係のライブラリが多くない。
しかし、もともとのサービスがWebサービスということからネットワーク関連のライブラリが7割ほどでした。
意外だったのが、かなりマイナーなライブラリを使っているところですね。正直、TUSafariActivity
は普通に実装できる軽量ライブラリですし、Starもかなり少ない。それをあえて導入していたのが驚きでした。
対象OSが12.2~ということでUIKitで開発されたのは間違い無いだろう。
でもUIをみるとデフォルトで提供されているUIパーツだらけなので、今後SwiftUIに移行するを検討しているのでは無いかと予想する。
とにかくライブラリをよくみる私にとっては最高のモバイルアプリである。
今後の予定
ライブラリ説明の充実
Author And Source
この問題について(2020/3/17にリリースされたGitHubモバイルアプリ), 我々は、より多くの情報をここで見つけました https://qiita.com/shira-shun/items/8bdf60f44bc672c91e75著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .