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, ...
随机推荐
- 【LeetCode】8. String to Integer (atoi) 字符串转整数
题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ca ...
- 应用OpenCV进行OCR字符识别
opencv自带一个字符识别的例子,它的重点不是OCR字符识别,而主要是演示机器学习的应用.它应用的是UCI提供的字符数据(特征数据). DAMILES在网上发布了一个应用OpenCV进行OCR的例子 ...
- Sublime Text 2 配置及其使用
如果说Notepad++是一款不错Code神器,那么Sublime Text应当称得上是神器滴哥. Sublime Text最大的优点就是跨平台,Mac和Windows均可完美使用:其次是强大的插件支 ...
- TCP/IP详解学习笔记(8)-- UDP:用户数据报协议
1.UDP概述 UDP是一种无连接的, 即发送数据前不需要建立连接,因此减小的开销和发送数据的延迟. UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表. UDP是面向报文 ...
- procfs
https://www.kernel.org/doc/Documentation/filesystems/proc.txt /proc/stat cpu 493610 1050 955506 6140 ...
- ios NSString常见的字符串操作 分割 查找
1.NSString *str = [[NSString alloc]init]; //简单粗暴,基本用不到 2.NSString *str = [[NSString alloc]initWi ...
- 微信JS-SDK]微信公众号JS开发之卡券领取功能详解
js sdk: http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E9.99.84.E5.BD.952-.E6 ...
- oracle线程数更改
查看Oracle最大进程数: SQL> select count(*) from v$session #连接数,查看更多oracle数据库的疑问, 可点击cuug官网.http://www.cu ...
- 字符串匹配KMP算法
1. 字符串匹配的KMP算法 2. KMP算法详解 3. 从头到尾彻底理解KMP
- 【Linux】程序内获取文件系统挂载信息
Linux shell可通过查看/etc/mtab或者/proc/mounts文件来获取当前文件系统挂载信息,示例: 程序内读取/etc/mtab或者/proc/mounts,解析字符串较为繁琐,可以 ...