为什么很多技术都觉得前端很简单?

2023-11-05

多年前都没有前端这个岗位,都是后端大包大揽。今天从前端的技术发展,和复杂程度聊聊前端到底简单不简单。

一、前端的深度和广度

(1)复杂度

前端算是逆袭了,层出不穷的技术,显得越来越难。之前是切图+HTML+CSS+Js,看着很简单,实际开发起来是非常复杂的,单单的 DOM操作就有大量的API,为了降低开发成本就有了DOM的操作框架,就是我们现在都知道的jQuery。

下一个阶段引入了MVC分层思想,接着就有了框架,前端开发不需要关注视图层的更新,只需要关注逻辑层、数据层。这时候复杂APP的开发就变得容易了,mvvc > Angular > react > vue的广泛应用,前端在逻辑构建层面发展到了一个新阶段。

在大型的应用开发的时候,只有逻辑还是不行,又缺乏了工程思想,所以就有了打包模式,帮助大家构建更复杂的应用。

看似前端是不是越来越简单了?
但是初学者刚入门,不了解前端的发展,看到一堆的工具,只会觉得好难。
但是很多人却在概念,框架里面迷失了。很少人真正的讨论基础的东西,都是再说各种框架的使用。

(2)一直在扩展前端的广度

最最开始是在浏览器上运行,后面有了node代码,可以让我们的代码可以到服务器端。紧接着就是electron,后面又有了移动端的框架,前两年出现了小程序,小程序的框架让我们在移动端有了轻应用的概念。其实前端不仅是深度在扩展,它的边界也再不断的扩大。

二、前端的发展

web刚开始的时候是后端开发,逻辑完成后把模板和数据吐出来在浏览器渲染。当时都是非常简单的,我看也有楼主说了百度那种页面他一天能写十个。那时候前端技术不规范、岗位职责不明确,应用场景不多。

后来Js和CSS、HTML,每年都有人给他们指定新的特性。产品越来越多了,就开始前后端分离了,怎么分离?这根本不是一个人能完成的。2008年乔老爷子,开启了移动端的开发生态。2017年微信团队推出了小程序生态。这时候专家们坐不住了,提出一个概念,要实现一套代码,编译不同的客户端。不管你是什么端口用一个后台服务器就可以了。

国外就出现了跨端方案:

在这里插入图片描述

在后来出现了中台概念,应该是Node.js推动了这个概念,同构渲染和业务接口逐步都给node.js做。后端的干嘛去了?优化数据去了,前端开始往后台发展。
在这里插入图片描述

三、为什么有人觉得前端简单

有几点原因吧,黑马个人观点:
固有印象,导致依旧觉得前端简单
相对于后端来说,前端入门的门槛还是比较低
前端基础开发可能都有一定的标准,但是后端没有更多的标准,而是有很多解决思路。
还有人总问前端还有未来吗?
单页网站 > 进阶式web应用程序 > 物联网web开发 > java框架 > 静态网站生成器 > 区块链 > 图形学方向(3d引擎开发)

前端只会越来越向全栈走,发展也会越来越好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么很多技术都觉得前端很简单? 的相关文章

  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 使用模数按字母顺序对列表进行排序

    我在获取元素列表并按字母顺序对它们进行排序方面没有任何问题 但我很难理解如何使用模数来做到这一点 更新 这是按我的方式工作的代码 但是 我更喜欢下面提供的答案的可重用性 因此接受了该答案
  • Meteor:应用程序无法在 0.9.1.1 版本上运行

    出现类似错误 Error TypeError undefined is not a function evaluating Template create anonymous function iron dynamic template j
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比

随机推荐