扔给我了一个 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有没有好的办法实现这样大量的表单的?还请指教
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/121449
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.