Experiences of building an iOS app using VIPER architecture

Disclaimer: I am a VIPER fanman/fanboy , so it's difficult for me to hear the negatives ;)

Some of the arguments against the usage of VIPER in a project which i heard and keep hearing every day, and my answer against it:

1) It slows down your compilation/building speed in iOS xCode

A. Blame xCode for that, not VIPER

2) VIPER creates too many files and classes

A. So?

3) VIPER creates duplicate code

A. Really? Prove it.

4) VIPER is complicated

A. Just say you are not yet comfortable with it. Get comfortable and then talk.

5) It's difficult to debug in VIPER

A. Maybe improve your debugging skills.

6) Why use VIPER when we have an easier MVC?

A. Easier MVC is not always maintainable and testable MVC. Come on, iOS ViewController is not your normal MVC.

7) And many more....

There's always this question in my mind while coding in VIPER architecture.

Is it over engineered?

Maybe

Is it time consuming building an app using VIPER?

Depends on how comfortable you become building VIPER modules

Is it worth building an app using VIPER?

That too depends on the scale of the project. It won't make sense for a HELLO WORLD app.

Is it better than MVC way of doing it?

Massive View Controller is shit, any day

Is it better than MVVM way of doing it?

I love MVVM. Combine it with VIPER and Reactive programming (RxSwift), you end up creating some awesome stuff. I am in love with that over engineered piece of art.

How easy is it to rework an existing feature?

Depends on how well you have modularised your code

How easy is it to extend a feature?

Again, Easy peasy

How easy is it to create a User interface?

Creating a module takes a while but maintaining it is easier.

That's it for now...will keep this post updated when i end up asking more questions to myself.

要查看或添加评论,请登录

Viswanathan (Vish) Venkitachalam的更多文章

社区洞察

其他会员也浏览了