일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SWIFT
- 독후감
- Codegen
- Structures and Classes
- Navigation
- 스위프트
- SWIFTUI
- View Life Cycle
- human interface guidelines
- roundingMode
- 야곰아카데미
- 부트캠프
- mvvm
- Failed to register bundle identifier
- viewcontroller
- UIResponder
- 스타트업주니어로살아남기
- xcode
- @available
- NumberFormatter
- 책후기
- 독서후기
- NotificationCenter
- 아이폰
- Mock
- Modality
- Info.plist
- delegation
- IOS
- contentInset
- Today
- Total
호댕의 iOS 개발
[라이브러리] 라이브러리를 어떤 기준으로 선택하면 좋을까? 본문
물론 나도 다양한 라이브러리를 사용해보진 못했지만 이번에 야곰 아카데미에서 프로젝트를 진행하며 어떤 라이브러리를 선택할 지 고민할 수 있는 기회가 있었다.
써보지도 않은 라이브러리.. 어떻게 판단할 수 있을까? 자기가 좋은 라이브러리라고 딱 보이지도 않는데 말이다.
라이브러리를 한 번 쓰고 말 것이 아닌 만큼 해당 라이브러리가 안정적으로 운용이 될 것인지, 미래에도 지속적으로 사용될 것인지에 대해 판단해야 한다. (물론 자기 프로젝트에 적합한 라이브러리인지 파악하는 것이 가장 중요할 것이다)
특히 라이브러리에 맞춰 코드를 작성하다보면 이후 해당 라이브러리를 사용하지 않을 경우 리팩토링이 까다로울 수 있기 때문에 처음부터 신중히 고민을 하고 선택을 할 필요가 있다.
1️⃣ Github Star 확인하기
일단 가장 간단한 방법은 라이브러리의 Github로 가서 Star를 얼마나 받았는지 확인하는 것이다.
Github 우상단에 보면 위 그림처럼 몇 개의 Star를 받았는지 확인할 수 있다.
Star가 많다는 것은 많은 개발자들이 해당 라이브러리에 관심을 가지고 있다는 지표인 만큼 해당 라이브러리가 얼마나 대중적으로 많이 사용되는지 가장 간단하게 확인할 수 있다.
2️⃣ Github Contributors 확인하기
Star를 통해 많은 개발자들이 관심이 있는 라이브러리인지 찾을 순 있지만 해당 라이브러리가 옛날에는 많이 썼으나 이미 사장된 라이브러리일 수도 있다.
언제 Star를 받았는지는 알 수 없기 때문이다.
따라서 Contributors와 Contribution이 꾸준히 이뤄지고 있는지 확인하여 안정적으로 운용이 되고 있는지 확인할 수 있다.
이는 firebase의 ios-sdk Github Contributors인데 실제 꾸준하게 Contribution이 이뤄지고 있고 한 명만 개발을 하고 있는 것이 아니라 꽤 다양한 Contributor가 존재한다.
(만약 1명이 개발하고 있다면 그 사람이 더 이상 개발을 안 할 경우 업데이트가 이뤄지지 않고 버그들이 수정되지 못할 수 있다. 즉, 안정적인 운용이 안될 수 있다는 것이다)
3️⃣ Google Trends 확인하기
Google Trends의 경우 특정 검색 키워드가 어디서 많이 검색되고, 얼마나 검색이 되고 있는지를 수치화해서 확인할 수 있다.
즉 Star를 확인하는 것과 비슷하게, 특정 기술이 사람들에게 얼마나 많은 관심을 받고 있는지 확인할 수 있는 것이다.
이렇게 비슷한 기술을 비교하며 어떤 기술이 많이 검색되고 있는지도 확인할 수 있다.
이외에도 현재 프로젝트가 타겟으로 하고 있는 iOS 버전과의 호환성, 해당 라이브러리의 리스크, 의존성 관리도구의 지원 여부 등을 고려하여 라이브러리를 선택할 수 있다.
'Software Engineering > iOS' 카테고리의 다른 글
[iOS] TableView에서 Swipe를 통한 동작 구현하기 (0) | 2022.03.13 |
---|---|
[iOS] TextField, TextView에 그림자(shadow) 주기 + 동그란 label 만들기 (0) | 2022.03.11 |
[iOS] 터치와 제스쳐 둘다 받고 싶다면? cancelsTouchesInView (0) | 2022.03.01 |
[iOS] 사용자에게 알림을 띄우고 싶다면? User Notifications (+ APNs 파일 생성하기) (0) | 2022.02.28 |
[iOS] .autoupdatingCurrent VS current (0) | 2022.02.27 |