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

简介: 上一篇文章中让你安装的软件安装好了没?那些操作都尝试做了一遍没?没有的话,赶紧回头去再看一遍文章,动起手来吧。学编程,如果说有捷径的话,实操就是最好的捷径!至此,我们在自己的电脑上为学习JS全栈开发安装好了开发环境,并在这一环境下,运行了两个你可能还看不太懂的前、后端代码。

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

至此,我们在自己的电脑上为学习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全栈开发有一个更加清醒的认识。

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

目录
相关文章
|
2月前
|
前端开发 JavaScript Java
从前端到后端:构建全栈应用的技术路线探析
【2月更文挑战第3天】本文通过探讨前端和后端开发的基本概念和技术要点,深入剖析了构建全栈应用的技术路线。从前端的HTML、CSS和JavaScript,到后端的Java、C和数据库,我们将带您逐步了解如何将不同技术组合起来实现高效、稳定的全栈应用。
46 7
|
6月前
|
前端开发 Go 开发者
前端 vs 后端️: 深入探讨Web开发的两大王国
前端 vs 后端️: 深入探讨Web开发的两大王国
47 0
|
3天前
|
小程序 前端开发 API
小程序全栈开发中的前后端分离实践
【4月更文挑战第12天】本文探讨了小程序全栈开发中的前后端分离实践,强调其能提升开发效率、代码可维护性和可扩展性。文中详细阐述了接口设计、数据交互、前端渲染、后端处理以及团队协作的重要性,并指出统一的API接口、使用前端框架和后端服务器是关键。通过这种模式,开发者能更高效地掌握小程序开发,打造高质量应用。
|
3天前
|
小程序 前端开发 JavaScript
小程序全栈开发:前端与后端的完美结合
【4月更文挑战第12天】本文介绍了小程序全栈开发,涵盖前端和后端的关键点。前端使用WXML和WXSS进行页面结构和样式设计,JavaScript处理逻辑及组件使用;后端采用Node.js等语言处理业务逻辑、数据库设计和API接口开发。前端与后端通过数据交互实现结合,采用前后端分离模式,支持跨平台运行。调试测试后,提交微信审核并上线运营。掌握前端后端结合是小程序成功的关键。
|
1月前
|
开发框架 前端开发 JavaScript
推荐5款热门的Web前端开发框架,助你快速构建优秀网站
推荐5款热门的Web前端开发框架,助你快速构建优秀网站
80 1
推荐5款热门的Web前端开发框架,助你快速构建优秀网站
|
2月前
|
前端开发 JavaScript Java
全栈开发中的前后端分离技术探索
【2月更文挑战第1天】 本文将介绍全栈开发中的前后端分离技术,探索如何通过前后端分离的架构实现高效灵活的开发流程。我们将深入探讨前后端分离的概念、优势和常用工具,并提供一些实践经验和建议,帮助开发者在项目中更好地应用这种技术。
|
3月前
|
前端开发 JavaScript 数据可视化
2022年中高级前端需要学习的25种前端技术栈
2022年中高级前端需要学习的25种前端技术栈
81 0
2022年中高级前端需要学习的25种前端技术栈
|
11月前
|
存储 机器学习/深度学习 Kubernetes
前端设计走查平台实践(后端篇)
设计师在进行走查的过程中,肉眼的比对偶尔会忽略一些细微部分,同时也会耗费设计师大量的精力,为了辅助设计同学能够更高效的进行设计走查,本文旨在通过设计走查平台在后端侧的实践总结下对于视觉稿还原程度比对的一些思路。
84 0
|
机器学习/深度学习 人工智能 前端开发
前端已死?全栈当立?取法于中,仅得其下。
开篇明义,前端已死?根本就是扯淡。前端技术精微渊深,驳杂宽广,除了基础的 HTML、CSS 和 JavaScript 技术外,前端技术还涉及到许多其他相关技术和工具,比如前端框架、UI 库、自动化构建工具、代码管理工具等等。这些技术并没有死,反而生态圈愈发健壮,但为什么前端已死的论调甚嚣尘上?
前端已死?全栈当立?取法于中,仅得其下。
|
XML 前端开发 小程序
后端工程师入门安卓开发笔记(一)
我是daxia,一个做了8年多的后端开发,对前端一直仅限于Web页面开发,对移动端开发和小程序开发基本零基础; 有时候想做一些有意思的东西出来,用网页实现对手机支持现在是不理想,忙里偷闲学了学安卓,把一些我觉得是重点内容做一个笔记,也希望笔记对其他人有所帮助。
144 0
后端工程师入门安卓开发笔记(一)