Programming language: Swift
Tags: Xcode     Other Xcode    
Latest version: v1.2

Swift-VIPER-Module alternatives and similar libraries

Based on the "Other Xcode" category.
Alternatively, view Swift-VIPER-Module alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Swift-VIPER-Module or a related project?

Add another 'Other Xcode' Library


No Maintenance Intended

:warning: Deprecated :warning:

This library is deprecated.


When you decide to use VIPER architecture in your project, it is very tired create new modules, because you need create at least 5 files for each. Imagine that you need to create 6 modules...I was suffering this problem, and this is the raison why I've created this template. It's very useful for me and I hope that for you too.

How to install

Using script (easy)

Only need execute this command in terminal:

sudo swift install.swift

You should be this output message:


If all it's ok you now could find your template in Xcode.


Go to Application folder, browse to the Xcode application icon. Right-click it and choose 'Show Package Contents'. Then browse to: Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application and add "Module VIPER.xctemplate" file. Now you can find your template in Xcode.

Easy to use

Generated code

This template generates all files that you need to create a new VIPER module. All generated code is Swift 3.

This is an example, we're creating a Login module:

VIPER diagram overview



After using VIPER, I've found it to be very beneficial in many ways. Letโ€™s get back to the list of things we set out to accomplish when architecting our app to see if VIPER addresses them.

  • Easy to iterate on
  • Collaboration friendly
  • Separated out concerns
  • Spec-ability

Next steps

Would you like decide what will be the next feature? now, you can do it here

  • [x] Create bash script to install more easy
  • [x] Divide Interactor protocol (Input & Output) (NEW! Version 1.1)
  • [x] Swift 4 & XCode 9 (NEW! Version 1.2)
  • [ ] Add Dependency Injection Framework
  • [ ] Customize name of components
  • [ ] Create groups in template (Only available for Project templates)



This is an open source project, so feel free to contribute. How?

  • Open an issue.
  • Send feedback via [email](mailto://juanpecatalan.com).
  • Propose your own fixes, suggestions and open a pull request with the changes.