8 回复
最近瞅了几个,绝大多数js的移动框架被java程序员包揽。模型做的极尽抽象,层数被拉了一层又一层,一眼望去,你看不到数据结构是怎样表示的。
比如,[] 和 methods events被一起封装成观察者。(当然这个东西由来已久) 许多程序员只知道有观察者,却不知道观察者只是个数组或者列表队列,和一些压入弹出取值方法,跟一些事件的捆绑而已。
这是js 和 html目前最囧迫的,纯的html无法胜任移动端,只能听由一些其他领域的程序员,为你封装各种拟物化的脱离编程本质的Model。
但是你还不得不勉强使用,如果你想节省成本。☻ 最为不好的就是,许多js程序员也被这些框架的包装思想影响了。自己把自己的代码拉的一层又一层。⚉
很典型的,比如最近我接触到的Nativescript求两个城市的距离(使用经纬度):
var location = require("location");
var s = new location.Location();
var n = new location.Location();
var d;
s.longitude = 42.696552;
s.latitude = 23.32601;
n.longitude = 40.71448;
n.latitude = -74.00598;
d = location.LocationManager.distance(s, n);
⚉
这样才好: location.distance(42.696552, 23.32601, 40.71448, -74.00598);
☻
@chapgaga mvc模式最早是smalltalk里的,java里最初是swing里用得,不想没有成功,结果在web开发上火了。从ejb到servlet演进,2004年Martin Fowler总结了ioc相关经验,Rod Johnson(Spring框架的作者)写了《Expert One-on-One J2EE Development without EJB》。。。。。
所以你看ng得时候
- mvc
- ioc
- 指令(类似jsp里的taglib)
- 双向绑定(struts等框架里都有)
那么,熟悉java的亲们,看到ng会想到什么呢?