뱅크 샐러드는 어떤 라이브러리를 쓸까?(iOS 유용한 라이브러리)
많고 많은 라이브러리~
뱅크 샐러드를 쓰다가 재밌는 걸 발견했다ㅋㅋㅋ
개인설정 --> 오픈소스 라이센스 이용고지 --> 스크롤
하면
채용정보가 나타난다ㅋㅋㅋ
커여운 이모티콘과 함께 뱅크 샐러드의 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
몇몇 라이브러리는 뱅크샐러드의 어떤 부분을 담당하고 있는지 모르겠다.
그리고 유지 보수때문에 라이브러리 의존성을 낮춰야 된다고만 생각했는데
이러한 고품질의 라이브러리들을 보면 사용하지 않는게 좋은것 만은 아닌 것 같다