接到个项目,房贷计算器,没想好怎么实现,各位来给点意见吧

2014-07-08 01:08:39 +08:00
 kukat
扔给我了一个 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


有没有好的办法实现这样大量的表单的?还请指教
3121 次点击
所在节点    iDev
3 条回复
myAngel
2014-07-08 02:03:10 +08:00
之前接触过保险类项目,也是大量的Excel表格。需要自己写一套解析引擎......
akfish
2014-07-08 02:52:30 +08:00
不用HTML+JS做:
1. 花点时间看下Excel的API,写个Addon自动读取公式,转换成你需要的格式,当然取决于公式量和你的学习速度,不一定会更加轻松,但肯定会减少human error
2. 找个脚本语言的interpreter来跑公式计算,js和python的都有,比写死成oc容易得多

用HTML+JS做
1. HTML做UI,灵活性不用说了,大量现成的库可用
2. JS跑公式,有现成的库直接能用,比如https://github.com/sutoiku/formula.js/
3. 有工具直接能把Excel表格转换成HTML,包括公式,比如http://www.luisllamas.es/excel2html-convert-excel-sheets-to-html-with-formulas/
kukat
2014-07-08 10:02:31 +08:00
@myAngel 这有点牛刀杀鸡了,我这只是个小项目

@akfish 这个 Excel 转 HTML 的工具靠谱吗?现在手边没有 windows 电脑,没办法试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/121449

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX