前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端 VS 后端

前端 VS 后端

作者头像
Jimmy_is_jimmy
发布2023-05-23 17:56:13
2690
发布2023-05-23 17:56:13
举报
文章被收录于专栏:call_me_Rcall_me_Rcall_me_R

我曾经认为--如果我了解JavaScript,那写后端会很容易。我之所以认为简单,是因为Node是JavaScript。我没必要去学一门新语言。

然而,我错了。

但是,后端是很难去学的。我花了很长的时间去学习它。(当然,我现在仍然尝试去掌握它)。

我意识到在学习后端中我有些问题,因为我曾认为前端和后端是一样的 -- 它们都是代码而已。

这是个很大的错误。

前端和后端完全是不同的野兽。我能正确地学习后端之前,我必须尊重他们的差异。

如果让我来解析前端和后端之间的差异(在执行方面),我会说:

  • 前端是有关视觉
  • 后端是有关通信

前端是有关视觉

当我们构建前端事物,我们很大程度上关注了用户对我们构建的东西是怎么看的。我们花费了大量的时间自问了下面这些问题(每个问题都带来数不尽的工作):

  1. 它看起来好不?
  2. 它有意义不?
  3. 它对用户友好不?
  4. 它容易理解不?
  5. 它够快不?

我们都关心。

有时候,我们为了提高用户的视觉体验(带来愉悦感),我们添加了诸如下面的事物:

  1. 视频/图片/动图Gifs
  2. 动效
  3. 颜色主题

伴随着每个附加功能,我们还必须考虑它们可能带来的影响:

  1. 视频/图片/动图Gifs太大了?
  2. 如果有人无法忍受我们的动效怎么办?
  3. 用户喜欢明亮的主题还是暗黑主题?

我们考虑很多东西 -- 从用户的视图层面。这就是为什么我说前端是有关视觉的。

我们为用户着想。然后我们为他们构建产品。

不幸的是,一些开发者自欺欺人地认为用户 === 他们自己。他们为自己建立网站而不是他们的用户。

后端是有关通信

让我具体一点。当我说到后端,我指的是前端和数据库之间的层。它也是前端和你需要通信的任何API之间的层(如果它通过你自己的服务器)。

我们简化事情让一些人明白,我在讲你将在哪里创建一个Express应用程序。

server
server

当你做后端工作时(前端->后端),你会发现我们不再创建接口了。你不用填写表单;你不用点击按钮。那是因为它们不需要。

后端不是关于视觉。没人肉眼看到发生了什么。它只是要运行...

但是,运行意味着什么?

后端允许前端和数据库之间的通信(或任何外部的API)。回到以前,想象下一个电话接线员。如果你打电话给一个人,这些接线员必须手动的连接你和你要打给的那个人。(如果他们接线错误,你就打给了错的人)。

bell-telephone-operator
bell-telephone-operator

当你构建一个后端时,你就像电话接线员。你把东西连接起来就可以了。

当我们构建后端时,我们会问如下的问题:

  1. 我们需要从前端那里得到什么信息?
  2. 我们应该传什么信息到数据库/API?
  3. 在数据库/API上的操作是否正确保存?
  4. 数据库/API返回什么信息呢?
  5. 我们应该返回什么信息给前端?
  6. 我们是在渲染网页吗?如果是,我们应该呈现哪个网页?
  7. 当信息错误或错失时,我们应该怎么做?

我们还要考虑速度和可靠性。(想象一下,如果你发送了一些东西,但是没有收到任何回复的话会发生什么...)。但是,这是更加高级的话题了。

不同的心理模型

这是我在学习后端的早期观察到的一种常见模式:

  1. 我会假设事情向着特定的方式运行
  2. 我会在Google上搜索,如何通过我想到的具体方式来实现东西
  3. Google结果也许是空)
  4. 我会破解它并构建自己的基础设施
  5. 学习后,我才发现自己的方式很糟糕

我几乎总是错的,因为在学习后端的时候,不自觉地依靠了我的前端经验。我必须学习重新思考问题的方法。

这是我最大的收获:

不要以为你对自己学的东西了如指掌。你几乎总是错的。慢下来,让你有时间和空间去学习。在学习的过程中始终验证,以便你记住并重新连接你的大脑。

参考和后话

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前端是有关视觉
  • 后端是有关通信
  • 不同的心理模型
  • 参考和后话
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档