从大类看其实都是通的,无非是基础的框架、扩展的库或中间件、以及一些列的发布、监控等支撑平台,套路上无论做什么技术估计都是这样吧,但偏向性却有本质的区别。面向客户端的 Android Framework 核心解决的问题是事件交互、生命周期、视图绘制问题、处理人机交互的逻辑,而 Java 服务端常用的 Spring 框架核心更关心服务之间的耦合、依赖、面向大规模集群扩展的能力。
React 为了性能和跨浏览器的原因,实现了一个独立于浏览器的事件和 DOM 系统。利用此功能,可以屏蔽掉一些浏览器的 DOM 的粗糙实现。所有 DOM 的 properties 和 attributes (包括事件处理器)应该都是驼峰命名的,以便和标准的 JavaScript 风格保持一致。我们故意和规范不同,因为规范本身就不一致。然而,data-* 和 aria-* 属性符合规范,应该仅是小写的。
$@与 $* 差在哪?要说 $@与 $* 之前, 需得先从 shell script 的 positional parameter 谈起...我们都已经知道变量 (variable) 是如何定义和替换的, 这个不再多讲了。shell script 的 positional parameter但是,我们还需要知道有些变量是 shell 内定的, 且其名称是我们不能随意修改的。 其中,就有 positional parameter 在内。
除了前面提到的 class 要写成 className,比较典型的还有:style 属性接受由 CSS 属性构成的 JS 对象onChange 事件表现更接近我们的直觉(不需要 onBlur 去触发)表单的表现差异比较大,要单独再讲更多异同,可以参见 DOMDifferences
关注时代Java