DEV Community

Renée
Renée

Posted on

iOS tips to boost my productivity

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.

Reveal

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
Proxyman

  • The request and response content are so sweet
    Proxyman

  • Easy to edit the bug request and try again with new param
    Repeat

  • Able to export the session for QA team - it's great for reproducing the bug later
    Debug

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)

Collapse
 
gualtierofr profile image
Gualtiero Frigerio

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 :)