본문 바로가기
iOS

뱅크 샐러드는 어떤 라이브러리를 쓸까?(iOS 유용한 라이브러리)

by HaningYa 2020. 4. 4.
728x90

많고 많은 라이브러리~

뱅크 샐러드를 쓰다가 재밌는 걸 발견했다ㅋㅋㅋ

 

개인설정 --> 오픈소스 라이센스 이용고지 --> 스크롤

하면 

채용정보가 나타난다ㅋㅋㅋ

 

 

커여운 이모티콘과 함께 뱅크 샐러드의 iOS팀이 반갑게 맞이해준다ㅋㅋㅋ

 

오픈 소스 라이센스를 궁금해서 볼 정도면 개발자라고 생각을 했던걸까

 

뱅크샐러드 서비스를 잘 사용하고 있었지만 채용에 관해 생각은 없었는데 재치있는 팝업 하나에 채용 안내를 보고있는 나였다.

 

아직 지원서를 내밀만한 깜냥이 나는 안된다.

그래서 어떤 오픈소스를 사용하고 있는지 찾아 보기라도 하자

 

 

오픈소스 리스트

총 65개의 오픈소스 라이브러리를 사용하고 있다.

  • Alamofire : 제일 유명한 iOS 통신 라이브러리이다.
 

Alamofire/Alamofire

Elegant HTTP Networking in Swift. Contribute to Alamofire/Alamofire development by creating an account on GitHub.

github.com

  • AlamofireNetworkActivityIndicator : Activity Indicator(로딩중 화면)을 표시하는 라이브러리이다.
 

Alamofire/AlamofireNetworkActivityIndicator

Controls the visibility of the network activity indicator on iOS using Alamofire. - Alamofire/AlamofireNetworkActivityIndicator

github.com

  • Amplitue-iOS : App Analytic 서비스인 Amplitude.com을 위한 라이브러리이다.
 

amplitude/Amplitude-iOS

Native iOS/tvOS/macOS SDK. Contribute to amplitude/Amplitude-iOS development by creating an account on GitHub.

github.com

  • Appboy-iOS-SDK : Braze라는 회사의 iOS SDK 같은데 Push Notifications 와 In-App Messages, Content Card, Email 과 같은 서비스를서포트 해주는 서비스인것 같다.
 

Appboy/appboy-ios-sdk

Public repo for the Braze iOS SDK. Contribute to Appboy/appboy-ios-sdk development by creating an account on GitHub.

github.com

  • AppsFlyerFramework : SaaS 기반 모바일 마케팅 분석 서비스의 SDK 이다.
 

AppsFlyerSDK/AppsFlyerFramework

AppsFlyer Apple SDK. Contribute to AppsFlyerSDK/AppsFlyerFramework development by creating an account on GitHub.

github.com

  • Atributika : HTML 과 같은 태그들을 통해 AttrubutedString을 쉽게 만들 수 있는 라이브러리이다. 꽤나 유용한 라이브러리를 찾은 것 같다. 득템
 

psharanda/Atributika

Convert text with HTML tags, links, hashtags, mentions into NSAttributedString. Make them clickable with UILabel drop-in replacement. - psharanda/Atributika

github.com

  • Carte : pod 파일을 참고해 어떤 사용한 오픈소스의 리스트와 copyright를 세부 뷰를 generate 해주는 라이브러리이다.
 

devxoul/Carte

🍴 Open source license notice view generator for Swift - devxoul/Carte

github.com

  • Charts : 커스텀의 폭이 넓은 차트 라이브러리이다. 나도 안드로이드와 동일한 디자인을 위해 이 차트를 MPAndroidChart 와 함께 사용했었다.
 

danielgindi/Charts

Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart. - danielgindi/Charts

github.com

  • CryptoSwift : Swfit 로 작성된 cryptographic algorithms들을 모아둔 라이브러리이다. 암호화 할 때 쓰는건가보다.
 

krzyzanowskim/CryptoSwift

CryptoSwift is a growing collection of standard and secure cryptographic algorithms implemented in Swift - krzyzanowskim/CryptoSwift

github.com

  • Differ : Collection instances 사이의 차이점을 빠르게 찾는 라이브러리이다.(Strings 도 포함!)
 

tonyarnold/Differ

Swift library to generate differences and patches between collections. - tonyarnold/Differ

github.com

  • Differentiator : Rx가 나오기 시작한다.. RxDataSource 에 관한 것같다.
 

RxSwiftCommunity/RxDataSources

UITableView and UICollectionView Data Sources for RxSwift (sections, animated updates, editing ...) - RxSwiftCommunity/RxDataSources

github.com

  • EFCountingLabel : 숫자에 애니메이션 효과를 주는 라이브러리이다. (예를들어 100이면 0에서부터 100까지 3초동안 증가)
 

EFPrefix/EFCountingLabel

Adds animated counting support to UILabel. Contribute to EFPrefix/EFCountingLabel development by creating an account on GitHub.

github.com

  • FBSDKCoreKit : Facebook SDK 이다.
 

facebook/facebook-ios-sdk

Used to integrate the Facebook Platform with your iOS & tvOS apps. - facebook/facebook-ios-sdk

github.com

  • FLEX : 신기한 인앱 디버깅 라이브러리이다. 앱 내의 툴바를 통해 동작하고 있는 어플리케이션의 state를 보거나 modify 할 수 있다!
 

Flipboard/FLEX

An in-app debugging and exploration tool for iOS. Contribute to Flipboard/FLEX development by creating an account on GitHub.

github.com

  • FacebookCore : Facebook sdk 이다
 

facebook/facebook-ios-sdk

Used to integrate the Facebook Platform with your iOS & tvOS apps. - facebook/facebook-ios-sdk

github.com

  • GoogleToolboxForMac : iOS 나 OS X 프로젝트를 작업하는 개발자들을 위한 Google projects의 소스들의 모음 라이브러리..
 

google/google-toolbox-for-mac

Google Toolbox for Mac. Contribute to google/google-toolbox-for-mac development by creating an account on GitHub.

github.com

  • GzipSwift : gzip파일을 압축/압축해제 할 수 있는 Swift 로 작성된 Data extention framework 이다.
 

1024jp/GzipSwift

Swift framework that enables gzip/gunzip Data using zlib - 1024jp/GzipSwift

github.com

  • KakaoOpenSDK : 카카오 SDK
 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

  • KeychainAccess : iOS와 OS X 에서의 Keychain Swift wrapper 라이브러리.
 

kishikawakatsumi/KeychainAccess

Simple Swift wrapper for Keychain that works on iOS, watchOS, tvOS and macOS. - kishikawakatsumi/KeychainAccess

github.com

  • Kingfisher : web의 이미지를 다운로드 하거나 caching 하는 라이브러리이다.
 

onevcat/Kingfisher

A lightweight, pure-Swift library for downloading and caching images from the web. - onevcat/Kingfisher

github.com

  • Moya : Ad hoc network 레이어를 위한 추상화? 라이브러리인것 같다. Alamofire과 함께 쓴다.
 

Moya/Moya

Network abstraction layer written in Swift. Contribute to Moya/Moya development by creating an account on GitHub.

github.com

  • Nimble : Swift나 Objective-C로 된 표현식의 결과값을 예측해주는 라이브러리이다.
 

Quick/Nimble

A Matcher Framework for Swift and Objective-C. Contribute to Quick/Nimble development by creating an account on GitHub.

github.com

  • ObjectMapper : model 객체나 class, structs를 JSON으로 변환하거나 반대로 변환할 수 있는 라이브러리이다.
 

tristanhimmelman/ObjectMapper

Simple JSON Object mapping written in Swift. Contribute to tristanhimmelman/ObjectMapper development by creating an account on GitHub.

github.com

  • PanModel : iOS 의 Bottom sheet Modal을 쉽게 쓰고 커스터마이즈 할 수 있는 라이브러리이다.(슬랙에서 만들었다 신기하다)
 

slackhq/PanModal

An elegant and highly customizable presentation API for constructing bottom sheet modals on iOS. - slackhq/PanModal

github.com

  • PieCharts : 파이 차트용 라이브러리이다. Charts 라이브러리에도 파이 차트를 지원하는데 디자인 때문에 다른걸 쓰신걸까?
 

i-schuetz/PieCharts

Easy to use and highly customizable pie charts library for iOS - i-schuetz/PieCharts

github.com

  • Protobuf : google의 데이터 interchange 포멧 라이브러리이다. 
 

protocolbuffers/protobuf

Protocol Buffers - Google's data interchange format - protocolbuffers/protobuf

github.com

  • PullToRefresher : 애니메이션도 커스텀 할 수 있는 당겨서 새로고침 라이브러리이다.
 

Yalantis/PullToRefresh

This component implements pure pull-to-refresh logic and you can use it for developing your own pull-to-refresh animations - Yalantis/PullToRefresh

github.com

  • Quick : Swift 와 Objective-C를 위한 행위 주도 개발 프레임워크이다.
 

Quick/Quick

The Swift (and Objective-C) testing framework. Contribute to Quick/Quick development by creating an account on GitHub.

github.com

  • RNCryptor : Cross-language AES Encrypor/Decryptor data format
 

RNCryptor/RNCryptor

CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc - RNCryptor/RNCryptor

github.com

  • Reachability Swift : 애플의 Reachability sample을 Swift로 작성한 대체 라이브러리이다.
 

ashleymills/Reachability.swift

Replacement for Apple's Reachability re-written in Swift with closures - ashleymills/Reachability.swift

github.com

  • Realm : 코어 데이터를 대신할 수 있는 모바일 디비 라이브러리이다.
 

realm/realm-cocoa

Realm is a mobile database: a replacement for Core Data & SQLite - realm/realm-cocoa

github.com

  • RealmSwift : 위와 동일하다.
 

realm/realm-cocoa

Realm is a mobile database: a replacement for Core Data & SQLite - realm/realm-cocoa

github.com

  • Result : Result<Value, Error>를 제공하여 다른 프레임워크들과 쉽게 interface 할 수 있게 해주는 라이브러리이다.
 

antitypical/Result

Swift type modelling the success/failure of arbitrary operations. - antitypical/Result

github.com

  • RxAppState : RxSwift Observavles 의 collection 라이브러리
 

pixeldock/RxAppState

RxSwift extensions for UIApplicationDelegate methods to observe changes in your app's state - pixeldock/RxAppState

github.com

  • RxAtomic
  • RxBlocking
  • RxCocooa
  • RxDataSources
  • RxKeyboard
  • RxOptional
  • RxSwift
  • RxTest
  • RxWebkit
 

ReactiveX/RxSwift

Reactive Programming in Swift. Contribute to ReactiveX/RxSwift development by creating an account on GitHub.

github.com

  • SDWebImage : Kingfisher랑 비슷한 라이브러리같다. 외부 이미지를 비동기로 처리해 준다.
 

SDWebImage/SDWebImage

Asynchronous image downloader with cache support as a UIImageView category - SDWebImage/SDWebImage

github.com

 

  • STRegex : 패턴 매칭? 에 쓰인다.
 

CocoaDocs.org - STRegex

Regex Pattern match like a boss. Usage Create: // Use `Regex.init(_:)` to build a regex from a static pattern let greeting = Regex("hello (world|universe)") // Use `Regex.init(string:)` to construct a regex from dynamic data, and // gracefully handle inval

cocoadocs.org

  • SnapKit : Auto-layout을 쓰기 쉽게 해준다.(코드로 제약을 주는것 같다. NSLayoutConstraint 대신 사용할 수 있을 것 같다.)
 

SnapKit/SnapKit

A Swift Autolayout DSL for iOS & OS X. Contribute to SnapKit/SnapKit development by creating an account on GitHub.

github.com

  • Socket.IO-Cllient-Swift : iOS 와 OS X 를 위한 Socket.IO 클라이언트 라이브러리이다.
 

socketio/socket.io-client-swift

Contribute to socketio/socket.io-client-swift development by creating an account on GitHub.

github.com

  • Starscream : WebSocket 라이브러리
 

daltoniam/Starscream

Websockets in swift for iOS and OSX. Contribute to daltoniam/Starscream development by creating an account on GitHub.

github.com

  • Stubber : 테스팅에 쓰이는 stub의 간략한 메소드? 를 제공한다.
 

devxoul/Stubber

A minimal method stub for Swift. Contribute to devxoul/Stubber development by creating an account on GitHub.

github.com

  • SwiftDate : 날짜와 시간의 형식 등을 다루기 쉽게 해주는 라이브러리
 

malcommac/SwiftDate

Parse, validate, manipulate, and display dates, time and timezones in Swift - malcommac/SwiftDate

github.com

  • SwiftFormat : 코드 라이브러리이고 스위프트 코드의 reformatting 을 해준다.
 

nicklockwood/SwiftFormat

A command-line tool and Xcode Extension for formatting Swift code - nicklockwood/SwiftFormat

github.com

  • SwiftLint : 스위프트 스타일과 컨벤션을 강제해주는 라이브러리이다.
 

realm/SwiftLint

A tool to enforce Swift style and conventions. Contribute to realm/SwiftLint development by creating an account on GitHub.

github.com

  • SwiftProtobuf
 

apple/swift-protobuf

Plugin and runtime library for using protobuf with Swift - apple/swift-protobuf

github.com

  • SwiftyJSON : JSON Data 를 쉽게 파싱할 수 있는 라이브러리
 

SwiftyJSON/SwiftyJSON

The better way to deal with JSON data in Swift. Contribute to SwiftyJSON/SwiftyJSON development by creating an account on GitHub.

github.com

  • SwiftyRSA : Public key RSA encryption 라이브러리
 

TakeScoop/SwiftyRSA

RSA public/private key encryption in Swift. Contribute to TakeScoop/SwiftyRSA development by creating an account on GitHub.

github.com

  • SwfityTimer : NSTimer의 업그레이드 버전 라이브러리
 

radex/SwiftyTimer

Swifty API for NSTimer. Contribute to radex/SwiftyTimer development by creating an account on GitHub.

github.com

  • SwiftyUserDefaults : NSUserDefaults의 업그레이드 버전 라이브러리
 

sunshinejr/SwiftyUserDefaults

Modern Swift API for NSUserDefaults. Contribute to sunshinejr/SwiftyUserDefaults development by creating an account on GitHub.

github.com

  • Then : then 키워드로 간단하게 initialize 할 수 있는 라이브러리
 

devxoul/Then

✨ Super sweet syntactic sugar for Swift initializers - devxoul/Then

github.com

  • Toast-Swift : iOS에는 Toast가 없어서 불편했는데 유용한 라이브러리를 찾은 것 같다.
 

scalessec/Toast-Swift

A Swift extension that adds toast notifications to the UIView object class. - scalessec/Toast-Swift

github.com

  • TouchVisualizer : 스크린에 어디가 터치되는지 보여주는 라이브러리
 

morizotter/TouchVisualizer

Lightweight touch visualization library in Swift. A single line of code and visualize your touches! - morizotter/TouchVisualizer

github.com

  • TrueTime : 정확한 시간을 제공해주는 라이브러리
 

instacart/TrueTime.swift

NTP library for Swift and Objective-C. Get the true time impervious to device clock changes. - instacart/TrueTime.swift

github.com

  • URLPatterens : 스위프트 관용적 URL 패턴을 사용할 수 있게 도와주는 라이브러리
 

johnpatrickmorgan/URLPatterns

A small library to enable more idiomatic Swift pattern matching of URL path elements. - johnpatrickmorgan/URLPatterns

github.com

  • ZemdeskSDK : customer support 를 위한 라이브러리
 

zendesk/support_sdk_ios

Zendesk Support SDK for iOS. Contribute to zendesk/support_sdk_ios development by creating an account on GitHub.

github.com

  • lottie-ios : JSON 파일 변환된 움짤 gif 를 쓸 수 있는 라이브러리
 

airbnb/lottie-ios

An iOS library to natively render After Effects vector animations - airbnb/lottie-ios

github.com

  • nanopb
 

nanopb/nanopb

Protocol Buffers with small code size. Contribute to nanopb/nanopb development by creating an account on GitHub.

github.com

 

몇몇 라이브러리는 뱅크샐러드의 어떤 부분을 담당하고 있는지 모르겠다.
그리고 유지 보수때문에 라이브러리 의존성을 낮춰야 된다고만 생각했는데
이러한 고품질의 라이브러리들을 보면 사용하지 않는게 좋은것 만은 아닌 것 같다

 

 

728x90

댓글