三大描述
看过winform,安卓,和网页前端的实现方式后;我觉得前端有3类经常需要描述的事情:
一是布局和定位。
二是图形和样式。
三是事件处理。
各自的实现方式
- 布局和定位
winform靠Anchor和Dock。绝对定位+填充式定位混合双打。
安卓靠各种Layout。外层容器决定了内部控件的布局方式。
html有静态定位,相对定位,绝对定位,float,弹性盒子等定位机制。
- 图形方面
图形最主要的两方面是Path和BackGround。
winform靠重绘机制。这个是比较原理性的。你可以指定控件是什么形状,绘制什么图案。
html和安卓都是声明式的定义各种样式。原理应该是一样的。
- 事件处理
都差不多。
winform的是面向对象式的,比较接近原理,但是各个控件封装的属性并不是特别通用。有时候用现成的控件往往会因为属性太多了而找不着。
js没有控件状态,事件模型比较小,但可以找现成的前端组件。
android里面必须先FindViewById,再设置事件,事件模型复杂程度介于两者之间。
最后
实际写代码的话,我感觉安卓的UI是最好的。
html那一套东西太细小,本身都是文档元素而不是控件,没有形成比较大的控件。当然有封装好的前端组件可以用。
winform那一套,有些控件属性和方法太多,有些属性弄的太死不好自定义。
而安卓的,本身就是控件,属性什么的也很有规律容易掌握,也够用。