- 业务逻辑和HTML生成全部交给了前台。服务器和数据库更专注了他们应该做的事情。
- 如果业务逻辑和HTML生成全部交给了前台,那我们编写JS的规模会异常的庞大。
- 早起历史
- Java的applet
- flash插件
- js的按揭计算器
- 优势
- 不需要插件(不用短信插件的安装和维护以及操作系统的兼容性)
- 不臃肿(比插件需要的额外资源少的多)
- 一种客户端语言(使用一种语言降低复杂性)
- 更流畅和更具交互性
- node.js web服务器,json是一种数据格式
- 生成式的JS和原生的js
- 生成式的js,开发人员用另一种语言来编写JS然后转换成js(转化发生在运行时,要么发生在单独的生成阶段)
- google web toolkit
*
- cappuccino
*
- coffeeScript(语法糖)
*
- 分析一下原生和生成式,推崇原生JS
方面 | 解释 |
---|---|
熟悉度 | 用抽象层级的语言,还不如直接用js |
框架 | 在服务和客户端一致的构建库GWT,使得整个体系结构紧密的结合在一起 |
多目标 | 为不同的目标生成代码,比如有的文件给IE,有的文件给别的浏览器 |
成熟度 | js没有什么结构化可言,Java类型安全的缺失,ror结构化明显的缺失。可以结合代码验证工具,代码标准缓解问题 |
- 页面布局
- 模块滑动
- 服务器:node.js
- 为什么选择node.js
- 服务器就是应用,无须在单独搭建单独的应用服务器与之交互。
- 服务器语言也是JS,可以消除一种语言编写服务器应用,另一种语言编写单页面应用的认知负荷。比如:单页面应用和服务端使用相同的数据验证。
- node.js是非阻塞和时间驱动的。就是说硬件上的单个node.js实例,可以开启数万或者数十万的并发链接。可以用于实时消息传输的链接。
- node.js社区比较完善
- node.js处理网络请求的方式不同于其他大多数服务器平台
- 大多数HTTP服务器需要维护进程池或者线程池,准备为到达的请求提供服务。
- node.js只有一个时间队列,会处理每个到达的请求,甚至在主时间队列上,会把请求的部分处理切分成单独的队列。
- web框架:express
- 轻量级框架,是在Sinatra之后设计出来的
- express提供了Connect的所有中间件方法(基本认证,会话管理,静态文件服务,表单处理)
- express 支持根据环境设置来切换配置的概念