2015-04-13
1.说在前面
开始接触前端还是老师给的一个只有表格样式的框架,到现在乐于在网络上搜寻自己感兴趣的信息,每看到一个自己之前不知道的就会随手给自己科普一下,然后一段时间过后就会忘记,为了让自己能够有自己的知识体系,形成自己的知识树,so,最终决定还是写下自己的成长历程,说不定什么时候就成了一个系列
2.MEANJS是什么?
MEAN是端到端地开发现代的、全栈web项目的javascript解决方案,也是目前在web社区中赢得大量关注和令人兴奋的一种新兴堆栈:M-MongoDB、E-Express、A-AngularJS、N-NodeJS。
说到堆栈就不得不说LAMP堆栈:它是早期吧表现突出的开源web技术集合之一,使用Linux作为操作系统,使用Apache作为web服务器,使用MySQL作为数据库,并使用Python(或PHP,Perl)作为生成HTMLweb页面的编程语言,这些技术并非为了一起联合工作。它们是独立的项目,由多位雄心勃勃的软件工程师前赴后继的整合在一起。自那以后,我们就见证了web堆栈的大爆发。
MEAN堆栈代表一种完全现代的web开发方法:一种语言运行在应用程序所有层次上:从客户端到服务器端,再到持久层。NodeJS将基础平台转换为javascript,让操作系统变得独立,而且它取代了LAMP中的Apache,但NodeJS远远不止是一种简单的web服务器,web服务器已镜包含在应用程序中,并已在MEAN堆栈中自动安装,部署得到了极大的简化。而使用MongoDB(以文档为导向的持久存储)使得用户花费在SQL上的时间减少,有更多的时间编写javascript中的映射简化功能。用户还能省掉大量的转化逻辑,因为MongoDB可以再本地运行JSON,编写RESTful web服务也变得前所未有的容易。
但从 LAMP 到 MEAN 的最大转变在于从传统的服务器端页面生成变为客户端 单页面应用程序 (SPA)。借助 Express 仍然可以处理服务器端的路由与页面生成,但目前的重点在客户端视图上,而 AngularJS 可以实现这一点。这种变化并不仅仅是将 模型-视图-控制器 (MVC) 工件从服务器转移到客户端。用户还要尝试从习惯的同步方式转而使用基本由事件驱动的、实质上为异步的方式。或许最重要的一点是,您将从以页面为中心的应用程序视图转到面向组件的视图。
3.准备好了吗?
看到这里,你是否已经跃跃欲试了呢?还等什么,快到MEANJS官方文档碗里来!