说实话,自己对于web前段的认识并不是太深入,但是因为项目的需要,所以有的时候肯定会需要接触到web前段的知识点。说到web前端想必大家肯定会想到css+js+html,的确web前端的工作,从某总角度来说就是给页面添加必要的一些页面样式来达到美化的效果。我们先来说一说css吧,一种样式语言,它允许我们通过给页面html标签添加一定的属性功能,从而达到美化的目的。在css样式书写的时候,允许我们定义三种类型的css样式:1.class样式;2.属性样式;3.id样式;其实这三种样式的作用是一样的,但是使用范围的便捷性方面就会差很多。当我们觉得一个html页面里面冗余的样式太多的时候,我们可以将相同的css单独抽离出来,这个时候将会一种外联样式的情况。我们可以在html的header标签里面通过link属性进行css的外联。你可以会觉得这还真有点面向对象编程的属性一样,可以很方便的实现抽象封装。但是这种情况下,极有可能会发生页面渲染太慢的问题。因为浏览器的渲染引擎的机制就是这样的,当它从上至下开始渲染的时候,遇到link属性的时候,浏览器就要阻塞当前页面渲染的动作,开始外部样式表的加载。当外联的css加载完成之后,浏览器才会开始后面的html页面渲染的动作。那么js呢?在整个web前端启动一个怎样的目的呢?很显然js是出于一种最核心的位置。假如将css比作绘制html页面的画笔的话,那么我们就可以将js比作以为美术指导老师,css绘制的过程中,js可以动态的指挥它应该怎样做?不仅如此,js还可以启动前端页面的数据请求作用,将请求回来的数据无刷新的展示会html页面。所以有的时候,如果我们想要很好地html页面效果,只要你具有很好地css+js运用技术,那么你就能做出非常cool的html页面。

有的时候,我自己认为css+js学起来应该是非常简单地一门技能。因为它就是那种即学即可用的东西,可是它确实非常的麻烦。但不是说它里面会有多么高深的算法问题,而是因为东西烦复,还有各种浏览器的兼容问题。那么有没有一种很好地框架能够帮我们很好地完成:页面数据无刷新展示、请求发送、css样式的动态更改呢?我想angularjs就能够很好地满足你的要求。angularjs最大的特点是什么呢?基于单页面无刷新的app/controller两套js的模块化前端编程。运用angularjs,我们可以很好地组织自己的js脚本,同时后台的基于$scope作用域的js变量可以很好地更新到、关联到前端页面。好了,angularjs已经很好地解决了我们html到js的问题,然后呢?我们是不是就应该考虑js到后端代码的处理逻辑了。你想如果后端语言是java的话,那么我们就需要通过js将html页面里面展示的数据发送到后台java代码里面,同时呢?我们还需要将后台java代码响应的数据放回到html页面。中间从js到java语言的一种跨度,那么有没有一种很好地方法,同时保证前端和后端都是同一种语言呢?答案就是nodejs,通过nodejs我们可以很好地将前端和后端统一成js语言。这将是一种很好愿景了,这么一来只要我熟悉js,是不是意味着我前后端都可以同时进行开发了?是不是项目的开发成本就可以降到很低了。原来至少需要两个人才能够做的事情,现在我找一个懂设计的web前端,理论上来说都可以干了。通过nodejs,大型的商用项目我没有测试过,但是中小型的项目肯定是没有问题的。而且开发效率是非常高的,我曾经就通过nodejs用了一周的实现就实现了类似于豆瓣读书模块的二手书平台,虽然功能、设计各方面还不太完整,但是胜任高强度的开发需求是绝对没有问题的。说道这里,你也许会觉得奇怪了,通过js我能够连上数据库吗?我能实现数据的持久化保存吗?答案是肯定,因为数据库连接主要依靠的就是数据库驱动了,接入我数据库驱动就支持js语言连接,那么不会可以了吗?

现在针对大数据平台,出现了一种nosql的概念,我想后端开发的同志肯定是不陌生的。问什么会提出这么一种概念呢?主要是现在这个时代背景下,数据信息量实在是太大了,如果我们还是运用传统意义上的关系型数据库保存数据的话,一个是现实世界里面的数据信息不一定都是那么的具有规则性、关联性。另一种通过关系型数据库进行数据读取操作的时候特别的费劲,而且读出来的数据格式我们还需要进行另一层面的处理才能够满足我们的项目使用需要。所以面对这样一种场景需求,就出现了nosql的意思:not only sql。我们可以直接将数据按照更加接近现实世界的场景习惯去保存数据,比如现实世界里面的一个人,我们会说这个人叫什么、多大了、男的女的、住哪、帅帅、漂不漂亮等。如果这种情况下,我们按照关系型去保存的话,就可能将上面的信息拆解成一个一个的字段。可是呢?运用nosql,我们就可以直接一个json格式的数据保存进去,这条json格式的数据,就包括了你这个人。读取的话,我直接找到这条数据即可,不需要这个表连查一下,那个表连查一下。

在nosql的众多数据库产品里面,我想mongodb应该是运营最多、比较成熟稳定了吧。

现在我们可以再试想一下,如果有一款基于h5或者微信或者中小型web网站的项目,我们运用这三剑客去开发,该是一种怎样的享受体验呢?有的时候不到一周时间,可能项目就成型了。成本之下,可想而知!

angularjs+nodejs+mongodb三件套的更多相关文章

  1. 使用 AngularJS & NodeJS 实现基于token 的认证应用(转)

    认证是任何 web 应用中不可或缺的一部分.在这个教程中,我们会讨论基于 token 的认证系统以及它和传统的登录系统的不同.这篇教程的末尾,你会看到一个使用 AngularJS 和 NodeJS 构 ...

  2. 使用 AngularJS & NodeJS 实现基于 token 的认证应用

      认证是任何Web应用中不可或缺的一部分.在这个教程中,我们会讨论基于token的认证系统以及它和传统的登录系统的不同.这篇教程的末尾,你会看到一个使用 AngularJS 和 NodeJS 构建的 ...

  3. react+react-router+react-redux+nodejs+mongodb项目

    一个实际项目(OA系统)中的部分功能.这个demo中引入了数据库,数据库使用了mongodb.安装mongodb才能运行完整的功能.要看完整的项目可以移步我的github 技术栈 React v15. ...

  4. NodeJS,MongoDB,Vue,VSCode 集成学习

    NodeJS,MongoDB,Vue,VSCode 集成学习 开源项目地址:http://www.mangdot.com

  5. Nodejs+MongoDB+Bootstrap+esj搭建的个人简易博客

    github:https://github.com/yehuimmd/myNodeBloy Nodejs+MongoDB+jQuery+Bootstrap-esj搭建的个人简易博客 主要功能 前台 : ...

  6. 前端MVC学习总结(四)——NodeJS+MongoDB+AngularJS+Bootstrap书店示例

    这章的目的是为了把前面所学习的内容整合一下,这个示例完成一个简单图书管理模块,因为中间需要使用到Bootstrap这里先介绍Bootstrap. 示例名称:天狗书店 功能:完成前后端分离的图书管理功能 ...

  7. 前端MVC学习笔记(四)——NodeJS+MongoDB+AngularJS+Bootstrap书店示例

    这章的目的是为了把前面所学习的内容整合一下,这个示例完成一个简单图书管理模块,因为中间需要使用到Bootstrap这里先介绍Bootstrap. 示例名称:天狗书店 功能:完成前后端分离的图书管理功能 ...

  8. NodeJS+MongoDB+AngularJS+Bootstrap书店示例

    目录 一.Bootstrap 1.1.添加引用 1.2.在页面中使用BootStrap 1.3.可视化布局 二.使用MongoDB创建数据库 2.1.启动MongoDB数据库 2.2.启动数据库GUI ...

  9. ivqBlog 开源博客 (angularjs + express + mongodb)

    转向做全职前端差不多一年的时间了,其中学习了构建工具grunt,gulp,angularjs,coffeescript,less,sass,自己想要做全栈开发,所以自学了mongodb,nodejs, ...

随机推荐

  1. ASP.NET MVC4 学习系统一(项目模板)

    项目模板 1.空模板      空模板用于创建ASP.NETMVC 4网站的架构,包含基本的文件夹结构,以及需要引用的asp.netmvc程序集,也包含可能要使用的javaScript 库.模板同样包 ...

  2. div模仿select效果二:带搜索框

    项目需要,要做一个首字母快速定位的select,代码如下: HTML <div class="select_country" unselectable="on&qu ...

  3. 实现MySQL的Replication

    实现MySQL的Replication     实现MySQL的Replication在MySQL 3.23.15版本之后,MySQL提供了数据库复制的功能,可以实现两个数据库实时同步,增强了MySQ ...

  4. 纯servlet返回xml数据

    ... void doget..... response.setContentType("application/xml");//设置格式  PrintWriter out = r ...

  5. solr5.5教程-tomcat布署(2)

    tomcat 布署成功后,接下来就是使用了. 首先要创建一个core. 1.选择右侧菜单, Core Admin -> Add Core. 注意:name自己定义,instanceDir要填写上 ...

  6. repeater标签双重循环的使用

    在网站开发中,.NET中的repeater标签几乎是笔者首选,也是唯一一个不会生成多余元素的标签,所有样式都是自定义的,这点类似 struts中的<s:iterator/>标签. 在日常编 ...

  7. 单例模式(Winform窗体的实现)

    在我的设计模式分类当中,我选择单例模式作为我第一个要写的设计模式,其一,单例模式简单.容易理解让人接受,其二,单例模式很常用,在实际的Winform窗体应用开发中能够带来更好的客户体验. 单例模式的核 ...

  8. iOS 开发经验谈,点击没响应事件

  9. CentOS-6.4无线上网命令行配置

      参考:http://www.vfeelit.com/504.html 待连接的WIFI的ssid为“thm”,密码为12345678,认证方式为WPA2-PSK   1. 检查无线网卡驱动是否安装 ...

  10. MariaDB的双主

     MariaDB(mysql)之主主复制   一.主主复制说明    MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上, ...