All Projects → abdullahselek → Viperc

abdullahselek / Viperc

Licence: mit
Xcode template for VIPER Architecture for both Objective-C and Swift.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Viperc

Swift Viper Module
Xcode template for VIPER Architecture written in Swift 4
Stars: ✭ 527 (+602.67%)
Mutual labels:  viper
Viper
[WIP] A Pythonesque language with a design that focuses on efficiency and expressiveness. Compiles to WebAssembly
Stars: ✭ 23 (-69.33%)
Mutual labels:  viper
Ocmockito
Mockito for Objective-C: creation, verification and stubbing of mock objects
Stars: ✭ 972 (+1196%)
Mutual labels:  xctest
Ochamcrest
Hamcrest for Objective-C: Powerful, combinable, extensible matchers for verification
Stars: ✭ 701 (+834.67%)
Mutual labels:  xctest
Ios Architecture
A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others
Stars: ✭ 901 (+1101.33%)
Mutual labels:  viper
The Book Of Viper
the one and the only
Stars: ✭ 851 (+1034.67%)
Mutual labels:  viper
Xctesthtmlreport
Xcode-like HTML report for Unit and UI Tests
Stars: ✭ 489 (+552%)
Mutual labels:  xctest
Go Todo
微信小程序 todo后端,采用GoFrame框架搭建,包含微信认证、token管理、发送微信模板消息等
Stars: ✭ 60 (-20%)
Mutual labels:  viper
Xctestextensions
XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test.
Stars: ✭ 19 (-74.67%)
Mutual labels:  xctest
Rx.observe
Transform any method to an Rx Observable ! (VIPER)
Stars: ✭ 34 (-54.67%)
Mutual labels:  viper
Go Gin Api
基于 Gin 进行模块化设计的 API 框架,封装了常用功能,使用简单,致力于进行快速的业务研发。比如,支持 cors 跨域、jwt 签名验证、zap 日志收集、panic 异常捕获、trace 链路追踪、prometheus 监控指标、swagger 文档生成、viper 配置文件解析、gorm 数据库组件、gormgen 代码生成工具、graphql 查询语言、errno 统一定义错误码、gRPC 的使用 等等。
Stars: ✭ 730 (+873.33%)
Mutual labels:  viper
Pxctest
Execute tests in parallel on multiple iOS Simulators
Stars: ✭ 800 (+966.67%)
Mutual labels:  xctest
Replacer
An easy-to-use library to stub HTTP requests using URLSession and to swizzle methods
Stars: ✭ 30 (-60%)
Mutual labels:  xctest
Ios Viper Architecture
This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc.
Stars: ✭ 578 (+670.67%)
Mutual labels:  viper
Vipera
Project is now called Swift template, check the link ➡️
Stars: ✭ 57 (-24%)
Mutual labels:  viper
Viper
metasploit-framework 图形界面 / 图形化内网渗透工具
Stars: ✭ 487 (+549.33%)
Mutual labels:  viper
Modelassistant
Elegant library to manage the interactions between view and model in Swift
Stars: ✭ 26 (-65.33%)
Mutual labels:  viper
Rgviperchat
An iOS chat app written following a VIPER architecture and BDD
Stars: ✭ 65 (-13.33%)
Mutual labels:  viper
Uitestingexample
Example code from my blog post about UI testing
Stars: ✭ 57 (-24%)
Mutual labels:  xctest
Viper Templates
Swift Xcode templates for creating VIPER architecture stacks
Stars: ✭ 33 (-56%)
Mutual labels:  viper

License

ViperC

ViperC

Xcode template for VIPER Architecture for both Objective-C and Swift.

  • ViperC creates modules for you when you want to use VIPER architecture in your projects. You can choose your language for the VIPER modules that will be created.

Installation

  • Clone this repository
  • Go to repository main folder
  • ./install.sh ViperC installs ViperC module for Objective-C or Swift.
  • ./install.sh ViperC-Quick installs ViperC unit tests module for Objective-C or Swift. It uses Quick and Expecta for Objective-C and Quick and Nimble for Swift.
  • ./install.sh ViperC-XCTest installs ViperC unit tests module for Objective-C or Swift. It uses default XCTest.

Template Path

You can find ViperC under /Users/USER_NAME/Library/Developer/Xcode/Templates/File Templates/ViperC/ViperC.xctemplate

Usage

ViperC Demo

VIPER Diagram

VIPER

Generated Source Code

Example for a ToDO module:

Protocols

#pragma mark - WireFrameProtocol

@protocol ToDoWireframeProtocol <NSObject>

@end

#pragma mark - PresenterProtocol

@protocol ToDoPresenterProtocol <NSObject>

@end

#pragma mark - InteractorProtocol

@protocol ToDoInteractorOutputProtocol <NSObject>

@end

@protocol ToDoInteractorInputProtocol <NSObject>

- (void)setOutput:(id<ToDoInteractorOutputProtocol>)output;
- (id<ToDoInteractorOutputProtocol>)getOutputProtocol;

@end

#pragma mark - ViewProtocol

@protocol ToDoViewProtocol <NSObject>

@end

Interactor

NS_ASSUME_NONNULL_BEGIN

@interface ToDoInteractor: NSObject<ToDoInteractorInputProtocol>

@property (nonatomic, weak, nullable) id<ToDoInteractorOutputProtocol> output;

@end

NS_ASSUME_NONNULL_END

Presenter

NS_ASSUME_NONNULL_BEGIN

@interface ToDoPresenter: NSObject<ToDoInteractorOutputProtocol>

@property (nonatomic, weak, nullable) id<ToDoViewProtocol> view;
@property (nonatomic) id<ToDoInteractorInputProtocol> interactor;
@property (nonatomic, weak) id<ToDoWireframeProtocol> router;

- (instancetype)initWithInterface:(id<ToDoViewProtocol>)interface
                       interactor:(id<ToDoInteractorInputProtocol>)interactor
                           router:(id<ToDoWireframeProtocol>)router;

@end

NS_ASSUME_NONNULL_END

WireFrame

@interface ToDoRouter: NSObject<ToDoWireframeProtocol>

@property (nonatomic, weak) ToDoViewController *viewController;

+ (UIViewController *)createModule;

@end

View

NS_ASSUME_NONNULL_BEGIN

@interface ToDoViewController: UIViewController<ToDoViewProtocol>

@property (nonatomic) ToDoPresenter *presenter;

@end

NS_ASSUME_NONNULL_END

License

ViperC is released under the MIT license. See LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].