node.js出现的好处和JavaScript的生态

node.js对前端的好处

  1. 于是能实现兼容各种浏览器的页面成为了前端工程师的金字招牌,前端职业开始变得炙手可热

  2. 我所认为的比较合适的做法是用Node.js来解决server端UI层的问题,这样我就可以将这一层从后端的其他部分剥离出来。

  3. 现在越来越多的公司倾向于采用面向服务(service-oriented)的架构,由后端提供给前端RESTful的接口,这么做是为了更好的做前后端的依赖分离。

  4. 当后端程序员提供了REST服务之后,现在我们前端程序员可以使用Node.js来处理server端的UI层啦,我们可以将通过REST调用拿到的数据随心所欲地进行处理,不管是渲染模板还是直接提供给Ajax,现在我们仅仅用JavaScript一种语言就可以轻松实现这些。

    至于后端程序员,他们只需要保证数据的正确性,无论他们使用任何一种语言来封装REST调用,都不会对前端造成影响,这样前后端的职责不就被更好地划分了吗?这样分工之后前端的领域就从浏览器小框框里面扩展到了server的UI层,而这一层本来对于后端来说是一件他们做起来不轻松的零碎活儿。

  5. 我很喜欢Node.js,我喜欢由这项技术给前端界带来的更大的发展潜力。我并不认为整个后端完全用Node.js来实现会是一个很好的方案,尽管Node.js完全可以做到这一切。我认为目前Node.js最大的价值是能让前端完全把控整个UI层,不论是浏览器的还是Server端的,做到这一点,我们工作的效率能得到很大的提升。我们前端更擅长于决定数据以何种方式呈现能带给用户更好的体验,而后端则更加了解如何处理数据。在这种新的分工方式下,后端只需要提供合适的数据操作接口,前端自己就能构建漂亮的、有效率的、可用性高的接口,从而实现用户所喜欢的各种交互。

    使用Node.js来搞定server的UI层也将后端工程师从他们不擅长的领域解放了出来。于是我们得到了一个Web开发的灵丹妙药:前后端之间只需要通过数据来交互,这种模型使得两方相互独立,各自都能够快速迭代开发,而只要保证数据接口不变,前后端彼此之间就不会造成任何影响。

JavaScript生态

JavaScript 开发所面临的挑战不同于其他编程世界,其独特地位的主要驱动因素在于 JavaScript 代码需要下载到客户端浏览器上。例如,在服务器上运行的语言不需要将代码发送到客户端机器上,它们只响应浏览器发出的请求。所有处理都在服务器上运行。

传统的桌面应用程序只要求客户端下载一次运行应用程序的代码或可执行文件。而对于 Web 前端,每次都需要下载。这就导致 Web 前端有一个与其他开发完全不同的关键性要求:

Web 前端开发需要考虑总代码量。

一般从事其他开发的工作人员不太需要担心代码的大小,但这却成了我们的首要考虑因素。

这个要求有哪些副作用?

小型库 优于 大型库。

许多工具专注于减少代码量。

  1. 小型库优于大型库

  2. 许多工具专注于减少代码量

  3. 唯一的语言
    我认为正是因为JavaScript 有许多缺点(任何一门语言都是如此),才有如此多人想出巧妙的解决方案来修补这些问题。

因为开发人员不得不使用JavaScript,所以他们不得不想出创造性的解决方案。

这种创造力催生了很多巧妙的解决方案。所以说,JavaScript 是最有活力和最有趣的编程生态系统之一。近年来,有些工具彻底改变了 JavaScript,特别是:

Typescript

Prettier

ESLint

React (view = f(state))

  1. JavaScript 有很多运行方式
    然而,JavaScript 的实现方式仍然不是完全一致,新功能的采用仍然非常缓慢。让用户更新浏览器是一项艰巨的任务,多年来这个问题一直困扰着前端开发人员。从 ECMAScript 的新功能到市场的全面采用往往需要长达数年的时间。这就成为了 JavaScript的另一个独特的约束。
    这个问题有两个解决方案:

    ECMAScript 引入的新功能需要向后兼容。

    创建工具,将代码从一种规范转换为另一种规范。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值