说实话,自己对于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. MySQL(二)

    一.外键 外键是设置当前表中的某一列与别一数据表中的主键列关联.主要目的是控制与外键表中的数据,保持数据一致性,完整性,也就是说:当前表中这一列的数据必须是关联外键列中的某一数据,而且相关联的两个数据 ...

  2. php 数组转json格式

    1.php若为关系数组:转化为由花括号包围的对象: 输入:$test = array("1"=>1,"2"=>2,"3"=> ...

  3. 智能指针(三):unique_ptr使用简介

    我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如 ...

  4. centos custom iso

    http://www.smorgasbork.com/2012/01/04/building-a-custom-centos-6-kickstart-disc-part-1/ Create a dir ...

  5. PayPal 开发详解(四):买家付款

    1.点击[立即付款] 2.使用[个人账户]登录paypal  Personal测试帐号 3.核对商品信息 4.确认信息无误,点击[立即付款],提示付款成功,跳转到商家设置的URL 5.URL中包含pa ...

  6. Install SQLite

    http://www.tutorialspoint.com/sqlite/sqlite_installation.htm The SQLite is famous for its great feat ...

  7. json传参应用

    json传参应用 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅 ...

  8. jQuery中$(function() {});问题详解

    $(function() {});是$(document).ready(function(){ })的简写,最早接触的时候也说$(document).ready(function(){ })这个函数是 ...

  9. 合并多个List<T>类型并通过LINQ按指定属性排序

    后台CS代码: namespace WebFormTest.TestCollect { public partial class ListTest : System.Web.UI.Page { pro ...

  10. winfrom 导入Excel表到access数据库(来自小抽奖系统)

    网上有很多这种方法,本人只是针对自己的系统来实现的 //导入excel表 private void ImportTSMenu_Click(object sender, EventArgs e) { O ...