VueSwift 轻量框架

VueSwift 简单,高效,迅速。借鉴前端框架Vue API,面向协议编程,MVVM模式,对VC和View达到完全的复用和解耦。

项目地址:https://github.com/wangyongyue/VueKotlin.git
demo地址:https://github.com/wangyongyue/VueSwiftDemo.git

cocoapods使用:pod 'VueSwift'

面向协议编程,MVVM模式有许多优秀的博文,大家可以去看看。

先说一下VueSwift 核心机制,就是view的代理人(Vue),view绑定代理人告诉代理人只做一件事情。

比如UILabel指定Vue加载text

let label = UILabel()

let textVue = Vue()

label.v_text(vue: textVue)

textVue.v_text { () -> String? in

return ”wyy“

}

我们还是从这两个方面入手了解一下VueSwift

1.VueSwift是什么?

2.VueSwift有什么厉害的地方?

说明第一个问题:VueSwift是什么?

简单说一下概念:完全以数据为主导,以数据流的方式完成Controller的调用和View的加载渲染。面向接口编程,指定代理对象,完成解耦和复用。

如何做呢?举个例子

先指定几个角色

战地(Controller)

班(view/text...)

团 (Cell)

军 (Model)

司令(http)

司令员下达作战指令和作战计划,规定作战意图和区域(战地)。

军长接受理解作战计划并把作战细分为团级别作战方案,指定某团完成该方案。

团长接受理解作战计划并把作战细分为班级别作战方案,指定某班完成该方案。

作战方案完成部署,下发作战协议(protocol),军,团,班,必须遵守该协议完成作战内容,并及时报告战况。

说明第二个问题:VueSwift有什么厉害的地方?

还是通过上个例子继续说明

作战指令细分为作战计划,保证整改作战意图不被拦截和泄露。

作战计划有单个作战单位执行操作,复杂度低,作战单位依据计划调整,保证执行效率和目标完成度高。

作战指挥通过作战单位反馈实时战况,及时调整计划和更换作战单位,及时应变。

这些说完可能有点迷糊,和编程有关系吗?

在这里举例只是想说明一个概念,改变以往只是强调页面(view)的逻辑思想,搞清楚编程需要做的是什么?

开发一个项目开始我们总是先看有多少页面,需要什么样的功能,然后分类view和VC。然后想要对view的复用,复用的view通常太多的if...else...,之后越写越多,越来越闹心。

一年了老板看腻了,喊UI来换套页面吧,

UI说好嘞。

我擦,程序呀996呀,那么多个页面啊,大手术啊,还不如从头写一套UI来的快啊。

大佬来了一句重构吧。我的天啊

怎么办?想辞职?那个公司不苦逼?

项目中如果VC和View,占据代码总量的大多数,这时要好好想想了,到底为什么?

VC里面就一个table的,写了多少个?

label写那么多不觉得烦吗?

为什么?没用复用,复用了没办法解耦。

如果你有样的烦恼,那VueSwift是一副良药,效果超级好。

你可能感兴趣的:(VueSwift 轻量框架)