Shiba的第1步——原型验证

在构想完成之后,首先要写一个简单的原型对构想进行验证。

首先选择在Windows上进行验证,过程很顺利,两步转换就转换到了原生控件。接下来就是到Android上进行验证,这里出现了几个问题。

其中最主要的是数据绑定。Android官方的的DataBinding是编译时的,在运行时能拿到的东西十分有限,比如,BaseObservable里面有个addOnPropertyChangedCallback的方法,提供了类似于.Net里的INotifyPropertyChanged的功能,关键是到这里只能拿到sender和property的id/name,property的值仍无法拿到。

最后虽然是自己编写了一个基于反射的数据绑定,但是中间有些滥用语言特性的东西还有反射本身的性能消耗,即使是最后测试长列表双向绑定没有性能问题,这一部分也还是仍然有优化的空间。

最后原型验证算是成功的,中间过程也算比较顺利。总结下来最需要值得注意的就是,首先不要照本宣科的做翻译,不同语言之间的差异还是有的,而不同平台上的UI框架也是完全不同的,Shiba只要整体架构上不出太大偏差,细节上的不同是完全可以接受的。其次,组件化真香!

最开始Android的原型版本可以说性能表现并不好,那时候,具体表现在长列表滑动表现不理想,开了渲染分析一看曲线非常靠近基准线,后来也找人一同做了一些分析,之后做了一次彻底的重构了之后才好,曲线也远远低于了基准线。

现在原型验证阶段完成了,下一步就是做功能上的扩展,这些就在下一篇文章再详细说说吧。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据