It's the first time I've written this technical blog on Dev.to.
This tip will list all useful libraries and tools, which my team and I use every day.
Hopefully, this tip can increase your productivity during iOS development 😍
Moya
Moya is a convenient library to help me to categorize the networking route easily. Rather than introducing big Networking class, I define the AppEndpoint
enum and introduce all route here.
public enum AppEndpoint {
case login(LoginParam)
case signup(SignupParam)
case fetchUserInfo(UserParam)
}
provider = MoyaProvider<AppEndpoint>()
provider.request(.login(param)) { result in
switch result {
case let .success(moyaResponse):
// Handle data
case let .failure(error):
// Error
}
Pros
- Abstract the Networking Layer
- Hide the Business logic
- Easily categorize the API route
- Beautiful Result.
TinyConstraints
One of the lightweight class to help me overcome the pain in my ass when working with NSConstraintLayout.
It's just a one-line code to attach the subview to fill out the parent ;D
view.edgesToSuperView()
Reveal
Reveal is one of the important apps for me to implement pixel perfect. Most of the time I inspect the view layers, the Xcode tool isn't sufficient for me since I have to calculate the off pixel. Reveal is my rescuer.
Pros
- Easily inspect the complex view hierarchy
- Don't need to debug directly from Xcode
- Native app
Proxyman
Proxyman is one of must-use tool for the QA and iOS team in my company.
It helps me to see the HTTPS response and easier to catch the bug. In the past, we used to use Charles, but my team prefers Proxyman since the UI is nicer
Pros
- Modern and native app
- Easily reproduce the bug from QA team
- Work with iOS simulator and iPhone too, which is awesome 😮
Other
- SwiftLint for enforcing the Syntax
- Danger: It's accompanied with SwiftLint to inform my teammate automatically in Github.
- Fastlane and Bitrise for CI/CD
- Realm is the best candidate for Database storage and lightweight MMKV Key-Value storage
- IGListKit for high-performance listing.
- Diff Algorithm for reloading huge UITableView efficiently.
If you know any useful iOS libraries or tools, please share with me 👏
Top comments (1)
I used Reveal in the past, really great companion for dealing with the UI!
Proxyman looks really promising, I didn't know about it so thanks for sharing :)