angularjs+nodejs+mongodb三件套
说实话,自己对于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三件套的更多相关文章
- 使用 AngularJS & NodeJS 实现基于token 的认证应用(转)
认证是任何 web 应用中不可或缺的一部分.在这个教程中,我们会讨论基于 token 的认证系统以及它和传统的登录系统的不同.这篇教程的末尾,你会看到一个使用 AngularJS 和 NodeJS 构 ...
- 使用 AngularJS & NodeJS 实现基于 token 的认证应用
认证是任何Web应用中不可或缺的一部分.在这个教程中,我们会讨论基于token的认证系统以及它和传统的登录系统的不同.这篇教程的末尾,你会看到一个使用 AngularJS 和 NodeJS 构建的 ...
- react+react-router+react-redux+nodejs+mongodb项目
一个实际项目(OA系统)中的部分功能.这个demo中引入了数据库,数据库使用了mongodb.安装mongodb才能运行完整的功能.要看完整的项目可以移步我的github 技术栈 React v15. ...
- NodeJS,MongoDB,Vue,VSCode 集成学习
NodeJS,MongoDB,Vue,VSCode 集成学习 开源项目地址:http://www.mangdot.com
- Nodejs+MongoDB+Bootstrap+esj搭建的个人简易博客
github:https://github.com/yehuimmd/myNodeBloy Nodejs+MongoDB+jQuery+Bootstrap-esj搭建的个人简易博客 主要功能 前台 : ...
- 前端MVC学习总结(四)——NodeJS+MongoDB+AngularJS+Bootstrap书店示例
这章的目的是为了把前面所学习的内容整合一下,这个示例完成一个简单图书管理模块,因为中间需要使用到Bootstrap这里先介绍Bootstrap. 示例名称:天狗书店 功能:完成前后端分离的图书管理功能 ...
- 前端MVC学习笔记(四)——NodeJS+MongoDB+AngularJS+Bootstrap书店示例
这章的目的是为了把前面所学习的内容整合一下,这个示例完成一个简单图书管理模块,因为中间需要使用到Bootstrap这里先介绍Bootstrap. 示例名称:天狗书店 功能:完成前后端分离的图书管理功能 ...
- NodeJS+MongoDB+AngularJS+Bootstrap书店示例
目录 一.Bootstrap 1.1.添加引用 1.2.在页面中使用BootStrap 1.3.可视化布局 二.使用MongoDB创建数据库 2.1.启动MongoDB数据库 2.2.启动数据库GUI ...
- ivqBlog 开源博客 (angularjs + express + mongodb)
转向做全职前端差不多一年的时间了,其中学习了构建工具grunt,gulp,angularjs,coffeescript,less,sass,自己想要做全栈开发,所以自学了mongodb,nodejs, ...
随机推荐
- onenote网页版如何打开链接弄到客户端
1.网页登录https://onedrive.live.com 2.登录MS帐号 3.输入复制的分享链接,回车 4.点击编辑,在客户端编辑,弹出是否启动应用,点启动,等一段时间完成.
- 洛谷P2734 游戏 A Game
P2734 游戏 A Game 27通过 60提交 题目提供者该用户不存在 标签USACO 难度普及+/提高 提交 讨论 题解 最新讨论 暂时没有讨论 题目背景 有如下一个双人游戏:N(2 < ...
- TCP/IP详解学习笔记(14)-- TCP可靠传输的实现
1.概述 为方便描述可靠传输原理,假定数据传输只在一个方向上进行,即A发送数据,B给出确认 2.以字节为单位的滑动窗口 TCP的滑动窗口是以字节为单位的.为了便于说明,字节编号取得 ...
- def
a = 97,A = 65,z = 122,Z = 90 小写字母比大写字母整形数值高,upper->lower相差32 把小写字母转化成大写字母,将小写字母 - 32 1. typedef 数 ...
- NTP服务搭建
1:实验环境 前提条件:虚拟机环境,windows 客户端,关闭防火墙:linux 服务器关闭防火墙,关闭selinux. Cent OS :NTP服务器 IP: 192.168.80.134 /2 ...
- 解决Android sdk更新不能下载或下载内容过慢
Android Android SDK 配置步骤 启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manag ...
- shell脚本中切换用户并执行命令
1.切换用户并执行命令 su 用户名 -c "命令" 2.切换用户并执行脚本 su 用户名 -s /bin/bash 脚本路径 3.切换用户并执行命令集su 用户名 << ...
- 第 2章 数组和 ArrayLists
数组是最通用的数据结构,它出现在几乎所有的编程语言里.在 C#语言中使用数组包括创建 System.Array 类型的数组对象,以及创建针对所有数组的抽象的基类型.Array 类提供了一套方法,这些方 ...
- 查看软、硬raid信息的方法
软件raid:只能通过Linux系统本身来查看cat /proc/mdstat可以看到raid级别,状态等信息. 硬件raid:最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdline, ...
- 记一次动态调用WebService
这次的使用参考博客园中的ID是 生命不息,折腾不止 http://www.cnblogs.com/leolion/p/4757320.html ,感谢分享 博客园让自己慢慢的成长,少不了这些无私奉献 ...