网站首页 > 技术文章 正文
欢迎来到我的NodeJs专题系列,更多精彩内容持续更新中,敬请关注!
写在前面
前面我已经分享了100+篇前端相关的技术文章,都是自己平时工作中遇到的一些问题的问题,还有是我平时自学的内容。但是那些前端文章99%都是要基于浏览器。其实在大前端时代,还有一个很重要的组成部分,那就是NodeJs了。接下来的专题,我们就来分享一下NodeJs的基本和高级应用吧
本章,我将从以下几个方面来分享一下NodeJs的相关知识点。
- NodeJs是什么?
- NodeJs有什么优势和不足
- NodeJs有哪些应用
NodeJs是什么?
前端开发在2009年之前,应该说都是基于浏览器的,也就是说,前端程序员能控制的就只有浏览器了。
比如我们想操作一下我们本地的文件,连接一下数据库等,基于安全机制,这些都是不被允许的。
这也就导致了前端一直是在程序员的鄙视链的最底端了。好像那时候,ajax好像是前端程序员唯一的“遮羞布”了。
然后,我们依然脱离不了后端的支持。
直到2009年,NodeJs横空出世。彻底巅覆了前端的技术分支,NodeJs也可以像Java,php等后端语言一样进行服务端的开发了。
根据官网的介绍,NodeJs是基于Google的chrome V8引擎开发的。
先来简单说一下,chrome v8是啥?它是google公司基于C++编写的,它可以用一解析JavaScript,v8的性能是非常高效的。
NodeJs并不是一门新的语言,它是一个js的一个运行环境,这个运行环境可以理解就是可以开发服务器端的程序。它的语法和普通的JS没什么区别。因此对于前端程序员来说,是非常友好的。
Nodejs的优势和不足
NodeJs的最大特点就是它 基于事件驱动异步非阻塞I/O
基于事件驱动是什么意思呢?事件这个概念在我们传统的dom中应该很常见了吧,举个例子
比如我们要读取一个本地大文件。我们只需要传入一个文件路径,然后加上一个回调函数,当文件读取完成后,将会触发一个成功的回调的函数,从而我们可以继续处理后面的逻辑。而读取文件的过程本身就是一个耗时的过程。异步将不再阻塞后面的程序继续运行
如果这个过程是一个同步的过程,那个后面的操作将要等到文件读取完成后再去执行了,这就造成了阻塞。像java php,他们都是同步的操作。
所以Nodejs的优势就已经体现出来了,对于高并发的网站,用NodeJs来处理用户的请求将比java和php都要高效。
哇,感觉NodeJs太牛了,那它有缺点吗?能把java,php它们干趴下吗?答案也很明确:不能。
既然NodeJs处理并发的能力要远远优于java,php,那为什么现在很多网站或者App的后台还是基于Java呢?
前段时间,面试的过程一般都会问面试官他们公司的后端用的是什么语言,答案都是java,只有一家是python。
NodeJs有一个缺点(痛点),那就是NodeJs计算能力远远不如java这样的编译型语言。
NodeJs的应用
NodeJs的地位好像有点尴尬,有高并发,但是后台一般又不用它。一般来说,一个大型的网站的后台可以使用多种语言,会结合每个语言的优势发挥各自的优势。
比如现在很多网站,都是用NodeJs来处理高并发,然后用Java这种稳定型的去后端的服务。Node就是我们常说的中间层了。
那。。除了作网站的中间层,还能做什么呢?大家不要忘了,自从NodeJs出来了,前端开发越来越复杂,也在慢慢的走向工程化了。
这其中最流行的打包工具就属webpack了,webpack本身,基于webpack的插件,loader都是基于Nodejs,如果没有NodeJs作为底层服务,这些将不复存在了。
当然,基于Nodejs的应用远远不止这些。更多Nodejs的知识点,后续将为大家一一分享。
总结:
- 我们可以通过JS语法可以实现java实现的任何功能。他们各自有自己的优势。没有谁优于谁。
- Nodejs为前端开疆拓土。为前端注入了新的血液。
- NodeJs在前端工程化的应用。
这里是【畅哥聊技术】的《NodeJs》专题系列。更多内容持续更新中。
下期我们接着聊,未完待续。。
猜你喜欢
- 2025-05-02 从 PHP5 到 PHP9:一次低调却坚定的进化之路
- 2025-05-02 PHP正走向末路,加速死去(php r)
- 2025-05-02 五面一线大厂PHP程序员总结,成功拿到百度的offer
- 2025-05-02 php可以做手机app吗(php可以开发安卓app吗)
- 2025-05-02 互联网行业哪个职位比较有前途?(互联网行业哪个职位工资高)
- 2025-05-02 vue怎么和后端php配合(vue怎么和后端对接计算案例)
- 2025-05-02 我采访了一位 Pornhub 工程师,聊了这些纯纯的话题
- 2025-05-02 怎么理解php(怎么理解photoshop)
- 2024-09-11 前后端开发
- 2024-09-11 简单描述PHP发展历程
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 567℃几个Oracle空值处理函数 oracle处理null值的函数
- 566℃Oracle分析函数之Lag和Lead()使用
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 544℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 519℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)