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

简介: 上一篇文章中让你安装的软件安装好了没?那些操作都尝试做了一遍没?没有的话,赶紧回头去再看一遍文章,动起手来吧。学编程,如果说有捷径的话,实操就是最好的捷径!至此,我们在自己的电脑上为学习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全栈开发有一个更加清醒的认识。

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

目录
相关文章
|
7月前
|
前端开发 JavaScript Java
从前端到后端:构建全栈应用的技术路线探析
【2月更文挑战第3天】本文通过探讨前端和后端开发的基本概念和技术要点,深入剖析了构建全栈应用的技术路线。从前端的HTML、CSS和JavaScript,到后端的Java、C和数据库,我们将带您逐步了解如何将不同技术组合起来实现高效、稳定的全栈应用。
179 7
|
7月前
|
前端开发 NoSQL 关系型数据库
从前端到后端:探索全栈开发的无限可能
本文将介绍全栈开发的概念以及其在现代技术领域中的重要性。我们将深入探讨前端和后端开发的关联,并探索多种编程语言(如Java、Python、C、PHP、Go)以及数据库技术在全栈开发中的应用。通过本文,读者将了解到如何成为一名全栈开发人员,以及如何利用全栈开发的技能构建出强大且可扩展的应用程序。
|
5月前
|
前端开发
全栈技术实践问题之全栈开发带来的主要好处是什么
全栈技术实践问题之全栈开发带来的主要好处是什么
|
7月前
|
前端开发 JavaScript NoSQL
从前端到后端:构建全栈开发者的必备技能
随着互联网技术的不断发展,全栈开发者的需求日益增长。本文将介绍如何从前端到后端,掌握全栈开发所需的关键技能,包括前端框架的选择、后端语言的学习以及数据库的应用,帮助读者构建成为全面的技术专家。
|
7月前
|
小程序 前端开发 JavaScript
小程序全栈开发:前端与后端的完美结合
【4月更文挑战第12天】本文介绍了小程序全栈开发,涵盖前端和后端的关键点。前端使用WXML和WXSS进行页面结构和样式设计,JavaScript处理逻辑及组件使用;后端采用Node.js等语言处理业务逻辑、数据库设计和API接口开发。前端与后端通过数据交互实现结合,采用前后端分离模式,支持跨平台运行。调试测试后,提交微信审核并上线运营。掌握前端后端结合是小程序成功的关键。
266 1
|
7月前
|
小程序 前端开发 API
小程序全栈开发中的前后端分离实践
【4月更文挑战第12天】本文探讨了小程序全栈开发中的前后端分离实践,强调其能提升开发效率、代码可维护性和可扩展性。文中详细阐述了接口设计、数据交互、前端渲染、后端处理以及团队协作的重要性,并指出统一的API接口、使用前端框架和后端服务器是关键。通过这种模式,开发者能更高效地掌握小程序开发,打造高质量应用。
165 0
|
7月前
|
前端开发 JavaScript Java
全栈开发中的前后端分离技术探索
【2月更文挑战第1天】 本文将介绍全栈开发中的前后端分离技术,探索如何通过前后端分离的架构实现高效灵活的开发流程。我们将深入探讨前后端分离的概念、优势和常用工具,并提供一些实践经验和建议,帮助开发者在项目中更好地应用这种技术。
|
7月前
|
前端开发 JavaScript 数据可视化
2022年中高级前端需要学习的25种前端技术栈
2022年中高级前端需要学习的25种前端技术栈
158 0
2022年中高级前端需要学习的25种前端技术栈
|
机器学习/深度学习 人工智能 前端开发
前端已死?全栈当立?取法于中,仅得其下。
开篇明义,前端已死?根本就是扯淡。前端技术精微渊深,驳杂宽广,除了基础的 HTML、CSS 和 JavaScript 技术外,前端技术还涉及到许多其他相关技术和工具,比如前端框架、UI 库、自动化构建工具、代码管理工具等等。这些技术并没有死,反而生态圈愈发健壮,但为什么前端已死的论调甚嚣尘上?
前端已死?全栈当立?取法于中,仅得其下。
|
XML 前端开发 小程序
后端工程师入门安卓开发笔记(一)
我是daxia,一个做了8年多的后端开发,对前端一直仅限于Web页面开发,对移动端开发和小程序开发基本零基础; 有时候想做一些有意思的东西出来,用网页实现对手机支持现在是不理想,忙里偷闲学了学安卓,把一些我觉得是重点内容做一个笔记,也希望笔记对其他人有所帮助。
167 0
后端工程师入门安卓开发笔记(一)