一直对node.js开发非常感兴趣,所以买了相关书籍准备自学,也准备借此搭建我的个人网站,并用博客记录我的学习过程,以待以后回顾所用。
以下是对语言及框架的介绍。
1、Node.js
Node.js是一个基于谷歌V8 JavaScript引擎,并执行该引擎的开发框架。node.js吸引我的地方主要有几点:
(1)javascript端到端:node.js可以让你用JavaScript同时写服务器端和客户端脚本,这样的话前端开发者和服务器开发者可以使用同一种语言。
(2)事件驱动的可扩展性:使用node.js处理web请求,它们都采用一种基本的事件模型在同一个线程上处理,而不是让多个线程等待处理。这使得node.js服务器可以用传 统的web服务器不能的方式扩展。
(3)可扩展性:node.js的开发者及社区非常的活跃,有源源不断的新的模块来扩展node.js的功能。此外,在Node.js中安装及包含新的模块是简单的。
(4)快速执行:node.js的安装和开发都是容易的。
2、MongoDB
MongoDB基于NoSQL文档存储模型,这意味着数据在数据库中作为基本的JSON对象被存储。MongoDB为需要存储,如用户评论、博客或其他项目数据的高流量的网站提供 出色的网站后端存储,因为它是可快速扩展和易于实现的。node.js支持多种数据库访问驱动程序,MongoDB与其搭配有以下几点好处:
(1)针对文档:因为MongoDB是针对文档的,数据在数据库中存储的格式,非常接近你在服务器端和客户端脚本中处理它们的格式。
(2)高性能:MongoDB是目前性能最高的数据库之一。
(3)高可用性:MongoDB的复制模型使得它易于维护可扩展,同时保持高性能。
(4)高可扩展性:MongoDB的结构使得它可以很容易的通过在多个服务器上对数据分片实现横向扩展。
3、Express
Express模块在node.js-to-AngularJS套件中充当Web服务器。以下是Express有价值的功能的部分列表
(1)路由管理:Express可以很容易地定义直接绑在服务器上的node.js脚本功能的路由
(2)错误集成:Express为“未找到文件”等错误提供了内置的错误处理。
(3)易于集成:一个Express服务器可以很容易地在现有的反向代理系统,如Nginx或Varnish之后实现。可以很轻松地将它集成到现有的安全系统
(4)cookie:Express提供了简单的cookie管理。
(5)会话和缓存管理:Express也能够进行会话管理和缓存管理。
4、AngularJS
AngularJS是由谷歌开发的客户端框架。它提供处理用户在浏览器中的输入,操纵客户端上的数据,并控制如何在浏览器视图上显示元素所需要的所有功能。
(1)数据绑定:AngularJS利用其强大的范围机制,有一个将数据绑定到html元素的非常干净的方法。可扩展性:AngularJS架构允许你轻松地扩展语言的各个方面,以 提供你自己的自定义实现。
(2)整洁:AngularJS迫使你编写干净的,合乎逻辑的代码。
(3)可扩展性:AngularJS架构允许你轻松地扩展语言的各个方面,以提供你自己的自定义实现。
(4)可重用代码:可扩展性和简洁代码的结合,使得很容易用AngularJS编写可重用的代码。事实上,在创建自定义的服务的时候,语言往往迫使你这样做。
(5)支持:谷歌正投入大量资金到这个项目
(6)兼容性:AngularJS基于JavaScript并与jQuery有着密切的关系。这使得更容易开始整合AngularJS到你的环境和重用在AngularJS框架结构内的现有代码片段。