扔给我了一个 Excel 表,包含已经实现好了的公式,基本上要做的就是把 Excel 表单公式移植到 iPad 上。
听起来似乎挺简单,所以很愉快的接了。开始做才发现遇到坑了。
1. 表单(计算器)太多了,那一个 Excel 里有 20 多个工作表(sheet)
2. 很多表单(计算器)的参数字段超过 30 个
3. 公式有些复杂,参数一层层依赖下去,而 Excel 里又不能递归的显示所有的依赖,只能一个个去找,头都晕了。
4. 专业名词好多,缩写好多。。。
上面说的这些只要花点时间搞懂公式,倒是都能克服的,问题是在 iOS 的实现
1. UI 倒是简单,storyboard + 系统控件就够了,但重复工作量太大,20 多个表,平均每个 20 个字段
2. 试过 FXForms https://github.com/nicklockwood/FXForms 这类表单生成工具,但局限性太多,比如一行只能显示一个可输入字段,比如不能动态的显示/隐藏某行
3. 计算公式里 1 个值变了可能会影响到 10 个值,CocoaTouch 没有数据绑定(data binding),KVO 写起来一大堆代码,最后还是得手动去更新 UI,还是个体力活
4. ReactiveCocoa 可以更方便的实现监听 UITextField 的 event 然后更新对应的数据,目前正在尝试
5. 回头想想问题还是在 UI 的工作量上,包括画表单,数据绑定 和 逻辑状态控制
既然 iOS 的 UI 不够灵活,是不是可以考虑用 HTML+javascript 做呢?套个 Native 的壳?
- UI 有 Framework 7 http://www.idangero.us/framework7/
- Javascript 不太熟,知道坑多,但只是数学计算应该无压力吧
- 另外还有 Javascript 版的 Reactive https://github.com/Reactive-Extensions/RxJS
- 数据交互有 WebViewJavascriptBridge https://github.com/marcuswestin/WebViewJavascriptBridge
有没有好的办法实现这样大量的表单的?还请指教
听起来似乎挺简单,所以很愉快的接了。开始做才发现遇到坑了。
1. 表单(计算器)太多了,那一个 Excel 里有 20 多个工作表(sheet)
2. 很多表单(计算器)的参数字段超过 30 个
3. 公式有些复杂,参数一层层依赖下去,而 Excel 里又不能递归的显示所有的依赖,只能一个个去找,头都晕了。
4. 专业名词好多,缩写好多。。。
上面说的这些只要花点时间搞懂公式,倒是都能克服的,问题是在 iOS 的实现
1. UI 倒是简单,storyboard + 系统控件就够了,但重复工作量太大,20 多个表,平均每个 20 个字段
2. 试过 FXForms https://github.com/nicklockwood/FXForms 这类表单生成工具,但局限性太多,比如一行只能显示一个可输入字段,比如不能动态的显示/隐藏某行
3. 计算公式里 1 个值变了可能会影响到 10 个值,CocoaTouch 没有数据绑定(data binding),KVO 写起来一大堆代码,最后还是得手动去更新 UI,还是个体力活
4. ReactiveCocoa 可以更方便的实现监听 UITextField 的 event 然后更新对应的数据,目前正在尝试
5. 回头想想问题还是在 UI 的工作量上,包括画表单,数据绑定 和 逻辑状态控制
既然 iOS 的 UI 不够灵活,是不是可以考虑用 HTML+javascript 做呢?套个 Native 的壳?
- UI 有 Framework 7 http://www.idangero.us/framework7/
- Javascript 不太熟,知道坑多,但只是数学计算应该无压力吧
- 另外还有 Javascript 版的 Reactive https://github.com/Reactive-Extensions/RxJS
- 数据交互有 WebViewJavascriptBridge https://github.com/marcuswestin/WebViewJavascriptBridge
有没有好的办法实现这样大量的表单的?还请指教