前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从编程小白到全栈开发:理解前后端

从编程小白到全栈开发:理解前后端

作者头像
一斤代码
发布2018-08-21 10:17:30
6510
发布2018-08-21 10:17:30
举报
文章被收录于专栏:大前端开发

上一篇文章中让你安装的软件安装好了没?那些操作都尝试做了一遍没?没有的话,赶紧回头去再看一遍文章,动起手来吧。学编程,如果说有捷径的话,实操就是最好的捷径!

至此,我们在自己的电脑上为学习JS全栈开发安装好了开发环境,并在这一环境下,运行了两个你可能还看不太懂的前、后端代码。可能在你做这些操作的过程中,会有这样的疑问,为什么要分成这样的两种方式、两种代码?

如何来理解这个问题,我想归根结底,是要理解我们的代码是要在什么地方运行,要利用谁的计算资源。

前端(客户端)

前端,是一个软件和这个软件的用户最贴近的部分,它负责直接和用户产生交互,收集用户的指令,并反馈给用户结果。前端代码,总是运行在用户能直接控制的那个设备上,比如用户的手机、笔记本、台式机,或是智能手表等等。我们的前端代码,是要利用用户设备的计算能力和资源来做事情。

我们JS全栈开发者,会更加关注用户设备中的网页浏览器或是基于浏览器的中间件技术(如Electron, NW.js或Cordova等),因为我们的前端代码开发的过程,主要就是围绕这些浏览器,充分挖掘和利它们开放出来的能力,进行按需组合和编排,开发出符合我们功能需求的客户端来。

而这些网页浏览器,它们能运行的是使用HTML,JS,CSS这些技术所开发出来的程序。所以,了解这一前提条件,我们就更清楚我们在前端部分所要进行学习和掌握的内容了。

后端(服务器端)

前端的运行环境(即用户的设备),在计算资源方面,是存在欠缺的。比如低价低配置的电脑或手机,就和高价高配置的手机在性能方面会有很大差距。同一款软件,要让其在不同配置的设备上运行良好,表现尽量一致,有两个办法:

第一个方案,是针对不同的设备进行专门的优化。这种方式,实施起来难度大,需要耗费的时间精力多。而且电脑或手机的型号和版本那么多,要顾及大部分或全部,是一件非常困难的事情。

第二个方案,是尽量降低我们的前端代码对用户设备的要求。尽量减少在用户设备上进行复杂耗费资源的计算工作,以保证在性能比较差的设备上,也能正常的运行我们的前端代码。那这样一来,我们的软件的功能不就变弱了么?确实,如果只是这样的话,我们的软件功能就会变弱,这不是我们的初衷。所以,为了弥补在前端环境中用户设备计算能力的不足,我们会使用比用户设备拥有更强大计算能力的服务器端资源,来完成没有完成的工作。

服务器端的运行环境一般是建立在性能比较强、扩展性比较好的专门的服务器电脑,或者云主机之上的。它们在理论上来说,拥有无限的计算资源(哈哈,当然是在有钱的情况下)。

我们会把在前端中不适合、不擅长的工作,转移到服务器端程序中进行,让软件的整个表现更佳、最终用户的体验更好。

JS全栈开发者用来开发服务器端所使用的技术,主要也是以JS语言为主,我们就是要做到一种语言,前后端通吃的效果。当然,JS语言目前来说也不是万能的,由于一些固有的缺陷,在服务器端,也有它不擅长的场景。所以以后你还可以学一些其他的语言来与之互补(比如Java),但是这是后话,先忘记这些吧,JS对大多数人来说,已经是非常非常够用的了。

在服务器端,我们的JS不在浏览器中运行,而是在一个叫做Node.js的运行时环境中运行,其实跟浏览器一样,它也给我们开放了许多的能力,我们通过使用这些开放的能力,来命令服务器完成我们需要执行的任务。

前端和后端的异同

JS在前端和后端中的写法,几乎是完全一样的(即使有不一样,我们也有手段让它们变得都一样,哈哈)。

不同点是,由于前端的浏览器后端的Node.js开放给我们的能力不同,就有了完全不同的功能接口(我们叫做API,以后会经常提到,记住这个词哦)。

但是万变不离其宗,不管是前端还是后端,我们都只是在使用JS语言去调用浏览器API或是Node.js API,组合出我们需要的功能而已。

理解清楚了这些概念点,将对你学习JS全栈开发有一个更加清醒的认识。

多动手,多思考,编程其实很容易。 欢迎关注一斤代码的系列课程《从编程小白到全栈开发》

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.08.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前端(客户端)
  • 后端(服务器端)
  • 前端和后端的异同
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档