Node对于Web前端开发的意义探讨

举报
Warn 发表于 2020/08/25 16:56:15 2020/08/25
【摘要】 很久很久以前,HTML开发者一无所有,没有多端开发,没有独立存在的能力,称之为切图仔(其实也没多久的事)。 后来的后来,前端终于被分离出来。 现在和未来,前端又开始尝试侵入到后端。

为什么强调Web前端开发? 因为譬如Android、iOS等客户端开发,也称为前端开发。本文以下以【前端开发】来代指Web前端开发。


JavaScript的出现催动了前端开发的萌芽,前后端分离促进了Vue、React等开发框架的发展,Weex、React-Native等的演变赋予了并存多端开发的能力,而NodeJS的面世无疑是推动了Web全栈开发的步伐。


NodeJS对前端有啥影响?

很久很久以前,HTML开发者一无所有,没有多端开发,没有独立存在的能力,称之为切图仔(其实也没多久的事)。

后来的后来,前端终于被分离出来。

现在和未来,前端又开始尝试侵入到后端。

有些人不用Node依然可以过得很好

前端er,大多是从原生JavaScript、JQuery开始,这个时期的技术栈和Node几乎木有任何关系,如果你的工作业务没有前后端分离或是以原生JavaScript/jQuery为主,更甚之你个人的技术主线一直都是原生JavaScript,那么不接触NodeJS依然不会影响你风生水起的生活。


有些人只需会用Node环境

前端三大框架(Angular、Vue、React)改变的是什么?改变了jQuery的技术地位,改变了前端学习的路线,重要的应该还是改变了写代码的方式:

从前:写好代码 - 上线运行  

后来:搭建环境 - 写好代码 - 编译 - 上线运行 / 搭建环境 - 写好代码 - 上线 - 编译运行

这时候,使用这类框架的前端er开始接触到Node(准确说是Node的使用),譬如npm安装依赖环境,webpack编译打包等等。

只需要会使用Node环境,依然可以支撑前端开发的全部。


有些人不止会自定义Node开发

思考很久,不知道这样划分合不合适,因为这里我想说的是两类人,也可以是一类人,所以放在了一起,欢迎大家探讨指正。

前端的技术成长路线:初级前端—中级前端—高级前端,至于是谁提出来的,应该无从考究了。

高级前端开发:有一种定义叫做webpack开发工程师。

顾名思义,高级前端开发擅长于自定义配置webpack:配置出一套适合当前项目编译运行的Node环境,配置上适合的npm依赖和架构,提升项目兼容性、稳定性、安全性,进而达到全面性能优化的提升。


Node服务端开发:理论上Node可以取代业务应用偏Web前台开发的后端开发,但是尚不适于取代复杂场景(比如分布式高并发搜索、大数据)等开发。因此可以把Node当做一门服务端语言来使用,进行数据库交互,开发REST API,开发聊天室、爬虫、web应用等等。


NodeJS后续学习方向

在纯粹性了解掌握NodeJS后,下一步应该怎么走?粗浅划分应该有两个方向的学习路线,我们来一起探讨下(非权威,只简单说明下自己的思考,避免误导大家)。


webpack开发

webpack开发,这里更多指的应该算是高级前端精进方向:webpack工程化、自动化测试、浏览器原理、算法和设计模式和前端优化等等。


服务端开发

Node作为一门服务端语言存在,目前适用于偏Web场景、业务纬度简单些的开发,但是它同时是前端跨向后端的连接器。所以结合Node的方向:数据库交互、网络及部署安全等等,都是至少要会的。


NodeJS个人的其它一点探讨

本文所有内容都基于目前(2020年)现状来探讨(以后会是啥样,现在说不好)


现在NodeJS对于每个前端开发都是必需的么?

未必,但是一定要了解。


NodeJS有必要学习么?

如果有精力,最好还是学习NodeJS。浅薄来讲,学会NodeJS可以对后端有一定的了解,有利于前后端协作;长远来讲,NodeJS目前也是Web前端进入全栈开发的基石。


一个普通Web前端开发对于Node开发的探索思考,欢迎一起来探讨。



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。