游戏前端UI的开发和Web前端开发比较类似
Web中主要是矢量图的使用,而游戏中图素基本靠图片来提供
react设计基本思路,将UI的 状态和 View层分离开,操作只能修改state状态,通过immutable这个库,将状态做成 不可变的,这样就能简单的获得两个状态之间的差异,而通过状态的差异来具体影响UI的变化
这样的分离的好处,提高了代码的可读性,提高了代码的可维护性
早期的web前端UI,主要通过随意的动态操作dom来实现ui功能,代表人物就是jquery,而ui的状态和view则是用户自己控制。web ui本身也缺乏组件化的概念。
在react中每个ui组件,有自己的state,以及render函数,根据state的变化,render不同的内容,而代码只能去setState改变状态
https://www.ibm.com/developerworks/library/wa-react-intro/
在Unity的UI脚本中,也将state 和 render分离开,可以提高ui逻辑的可读性,提高可维护,可复用的能力。 uiGameObject--》ui脚本 GetInitialState Render 渲染内容 ButtonClicked SetState
mixins 组合UI 组件,以及持有状态,将状态在多个UI组件之间进行转移