为什么都说前端开发难?

字号+ 编辑: Snake 修订: 种花家 来源: 串串狗小刊 2023-09-22 我要说两句(0)

前端开发的难点在哪里?

前端的技术难度是什么?

为了避免不必要的争议,我们假设前端指的是Web前端业务开发中的前端部分,也就是狭义的前端。

至于什么可视化、游戏、前端工具框架设计都不重要。

同样,后端也不算编译器、大数据、人工智能、数据库。

我们说的是后端网络业务开发。

逻辑部分。

除了 "文本编辑类、Nwjs的客户端应用 "等特殊应用外,前端的逻辑复杂度基本比后端低很多。

后端需要处理大量的数据和服务,比如双十一的技术难度,这几乎是后端Web开发的技术难点。

性能优化。

性能优化是软件工程中永远的话题,但前端性能优化的大头基本在网络层面。

除了过时的雅虎军规,还离不开缓存、懒加载、组件或路由层面的代码拆分。

还有一些比较难的方面,比如节流、防抖、竞赛请求。

现在比较时髦的PWA和http2也是优化前端的工具,我承认做起来不容易,但是和后端优化相比,它们的难度有多大?

我认为要比后端难度小很多,因为前端层在数据层上太单薄了,比如很多时候后端可以用数据结构性能大大优化。

因为数据量大,请求频繁,这是前端可以通吃的数组,即使双向链表比较合适,但你用了几乎零效果(因为计算量不足以体现),后端的网络层优化并不比前端少。

工程复杂度

以天猫和淘宝为例,这两部门的后台数量远远高于前端,后台系统复杂,后台工程量巨大,双11压力巨大。

我估计后端的代码量是前端的十倍以上(虽然代码量不能直接衡量,但至少不能侧面反映出来)。

我们知道,一个项目的规模与复杂程度密切相关。

前端工程的难度在哪里?为什么前端到了现在还总有岗位?

可能比后端舒适度高一点在于编程复杂度并不高。难在吃青春饭, 到后期确实非常难找工作。只能退居二线三线城市求生存。

岗位方面是不缺的,前端总会有工作等着你,至于薪资高低,就看自己的学历和之前的公司和历史作品了。

业务逻辑复杂多变

“前端的逻辑复杂度没有后端复杂”,只从数据处理的角度来看,前端其实就是一个模板+变量集的数据处理,非常简单。

前端开发的复杂性主要体现在数据、UI和交互的实现上。例如,一个简单的多标签页面功能可以通过CSS或JS来实现。

使用JS可以通过切换、删除DOM元素或添加隐藏类名的方式来实现。虽然可以达到效果,但删除DOM元素无法保持原来的结构状态,而添加类名的CSS方式很难实现一个初始化状态。此外,还需要考虑浏览器的兼容性和响应式设计。

然后,突然有业务需求要求添加一个嵌入他人页面的iframe,或者修改某些效果。如果之前的开发不合理,基本上就需要重新设计。

与后端相比,前端只需输出数据模型,如果业务不需要任何字段,即使前端无法理解,也无需进行修改。但我们的几个重要业务平台需要进行重构,前端需要重新开发(效果和交互完全不同),而后端的模型和数据库可以逐步复用、扩展和升级。这也是导致前端需要投入大量人力创造奇迹的问题所在。


阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • 古尔曼:苹果公司正将更多注意力转向6G研发

  • 大裁员, 巨亏, 知乎“值乎”?

  • 小谈互联网变现挣钱的14个模式

  • a站b站是什么意思

我要说说
网上宾友点评