前端是做什么的

说到前端,我们往往会随口蹦出一个后端,没错,如果单纯从计算机工程的角度来看待前端所做的工作,就是前端是后端的门面,用个形象的例子来比喻前后端,我们平常使用的手机是前端,而背后的手机系统是后端。而从我们用户使用的角度来看,前端负责与用户做交互,将用户的行为转化为计算机后台程序可以处理的行为。了解了这些,你可能就会明白,前端所做的本职工作就是程序与用户打交道的艺术,而如何做到更好更有效地与用户打交道,就是目前前端一直发展的大方向,而本文所讲的前端重构,本质上也是通过合理的调整前端的结构,更好地服务用户。

为什么要做前端重构

我们先来看一组图

以下是2003年和2018年淘宝的页面对比

2003

2018

现代社会的系统正在变得越来越强大,复杂性也在成倍的增加,结合以上的两张图,你会发现,以前的淘宝和现在的淘宝有一个很大的不同:现在的淘宝正在变得越来越丰富,功能也越来越多。这也同时意味着淘宝的系统正在变得越来越复杂,而越复杂的系统就越需要一个好的前端页面来缓冲给用户带来的这种复杂性。那么如何做到让用户轻松愉快的享受这强大的系统而不是被弄的眼花缭乱,就是我们前端要做的工作。而我们也要知道一个好的前端不是一蹴而就的,它是一个不断迭代更新的过程。而前端的重构,讲的就是这个道理,不断调整前端的架构,更好地为用户服务。

重构的核心思想之一 解耦

以下是网易考拉的下单页面的目录结构,我们可以充分地体会高内聚低耦合的设计思想,这样的设计有什么好处:

  1. 功能之间解耦,易于维护与扩展
  2. 逻辑清晰,便于接口间的互相调用
javascript
|——components
|  |——address/address.js //地址控件
|  |——checkcode/checkcode.js //验证码控件
|——page/order
|  |——order_confirm.js //入口脚本
|  |——components
|  |  |——confirmGoods.js+html //确认商品信息
|  |  |——settlement.js+html //结算信息
|  |  |——exchangeCoupon.js+html //兑换优惠券
|  |  |——rechargeInfo.js+html //账号充值
|  |  |——invoiceInfo.js+html //发票信息
|  |  |——invoice.js+html //设置发票
|  |  |——bean.html //考拉豆抵扣
|  |  |——feeList.html //运费税费列表
|  |  |——gift.html //赠品信息
|  |  |——useCoupon.js+html //使用优惠券
|  |  |——submitCB.js //提交回调
|  |——widget
|  |  |——popCoupon.js //弹窗领券作者:网易考拉前端团队
链接:https://juejin.im/post/59e0758af265da43200240d6
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

回顾我们程序设计的发展,你会发现解耦的设计思想一直发展到现在,从最初的前后端分离,到之后的MVC设计模式、Spring框架的横行,再到现在微服务架构的出现等等,都在充分阐释着解耦的设计思想。我们身处一个社会分工不断明确的时代,解耦所做的正是将程序的分工不断地细分明确,当然解耦的程度是和我们具体的应用场景是相关的。我们既不能分得太细,也不能分得太粗,这个力度需要靠实际情况来决定。

回到一个我们现实社会中的网页设计,如下图。你会发现原本一个大大的网页,经过一划分也只不过4个板块:导航栏、热门板块、内容广场、个人板块。其实这也是一种高内聚低耦合的设计思想,然而细心的你或许也会发现,板块与板块之间也需要协调默契的配合,关于板块之间的配合可以以下这篇博客,它里面有个很不错的口诀:「从左到右,从上到下,化整为零」
后端工程师入门前端页面重构

总结

在这篇博客中我们聊了:

  1. 前端的本质工作:作为程序与用户之间的桥梁

  2. 为什么要前端重构:系统的复杂性,不断迭代的需求

  3. 重构的设计思想:解耦

文章写得不好,还请多多指教

# 什么是前端重构?相关推荐

  1. 高性能流媒体服务器EasyDSS前端重构(二) webpack + vue + AdminLTE 多页面提取共用文件, 优化编译时间...

    本文围绕着实现EasyDSS高性能流媒体服务器的前端框架来展开的,具体EasyDSS的相关信息可在:www.easydss.com 找到! 接上回 <高性能流媒体服务器EasyDSS前端重构(一 ...

  2. 前端重构实践(一) —— 性能优化

    前言: 最近一直在做性能优化和模块化改造的工作,并完成了一次前端重构.在这里总结出一些经验和得失来帮助大家思考.共两篇文章,第一篇讨论性能优化,第二篇讨论模块化框架.而之所以把这两个话题放到一起,是因 ...

  3. vscode中6个好用的前端重构插件

    Visual Studio Code(简称VS Code)是一款由微软开发且跨平台的免费源代码编辑器.基于其丰富的插件体系与语言支持,目前已经成为了最流程的集成开发环境.本文介绍了笔者用过的最好用的几 ...

  4. EasyDSS高性能流媒体服务器前端重构

    本文围绕着实现EasyDSS高性能流媒体服务器的前端框架来展开的,具体EasyDSS的相关信息可在:www.easydss.com 找到! EasyDSS 高性能流媒体服务器前端架构概述 EasyDS ...

  5. webpack服务器性能,高性能流媒体服务器EasyDSS前端重构(三)- webpack + vue + AdminLTE 多页面引入 element-ui...

    接上篇 本文围绕着实现EasyDSS高性能流媒体服务器的前端框架来展开的,具体EasyDSS的相关信息可在:www.easydss.com 找到! element-ui 介绍 饿了么前端开发组件框架 ...

  6. 前端 重构时需要注意的事项_前端数据层落地实践

    源宝导读:天际移动平台经过重构改版,近期正式发布了1.0版本,我们在低代码开发方面做了进一步增强.本文主要围绕前端Model.前端业务逻辑(领域模型).数据层与视图层解耦(包装器模式)3个方面,给大家 ...

  7. 使用webpack前端重构感受

    2019独角兽企业重金招聘Python工程师标准>>> 重构起点 在一个老项目中用webpack对前端代码进行重构,重构的重心在于JS部分.这个老项目呢,有2年以上的历史了. JS部 ...

  8. 万字长文:2019 年 京东 PLUS 会员前端重构之路

    原  作  者:京东设计中心JDC 原文链接:https://url.cn/50og5J9 时光如梭,白驹过隙,2019 年转瞬即逝.这一年对于 PLUS 会员项目前端同学来说是坎坷和充实的,如白岩松 ...

  9. web前端学习之前端重构方案,来了解一下

    前端技术发展很快,很多项目面临前端部分重构,很开心可以让我进行这次项目前端的重构方案编写,在思考的同时参考了网上很多资料,希望本篇重构方案有一定的完整性,可以带给大家一些在面临重构时有用的东西,同时希 ...

最新文章

  1. nginx的详细使用说明(下)
  2. 全球及中国静脉器械行业发展形势及前景战略规划建议报告2021-2027年版
  3. 修复远程过程调用 (RPC) 时发生的各种问题KB908521
  4. 去除报错_转录组分析 | 使用trimgalore去除低质量的reads和adaptor
  5. 缺钱的特斯拉,是否在走向“乐视化”?
  6. 基于SSM的医院药品管理系统答辩PPT模板
  7. iconfont图标引入
  8. ECMAScript 变量
  9. 如何比较两个文本的相似度
  10. 园区/厂区怎么实现wifi上网短信认证
  11. linux中什么是软件包组,Linux软件包组的选择
  12. AstrOrz Player 0.72v 国庆最新版本(2012/09/22)更新无期限版本获取方式!(2013/02/14)
  13. 我的计算机管理怎么打不开,为什么打不开"计算机管理"
  14. 快速实施中小企业ERP 不再繁冗而复杂
  15. FOT再次上涨,中国市场需求不断上升,牛市真来了?
  16. CEC认证查询怎么查?CEC认证查询方法详解
  17. 冬令时 java_java处理 夏令时、冬令时问题
  18. 大数据人工智能---开篇导论
  19. 两台计算机的ip地址怎么配置,电脑两个或多个IP地址设置方法
  20. DCache踩坑记录

热门文章

  1. 统计基础(四)假设检验
  2. renpy 生成分发版隐去 rpy源码
  3. 什么是虚连接?如何搭建虚连接网络?
  4. 可口可乐造型设计_可口可乐弧形瓶艺术设计大赛最佳作品赏析
  5. 2021年中国原油加工行业供需回顾及发展趋势分析[图]
  6. python虚拟人脸生成_一个用StyleGAN训练出的黄种人人脸生成器
  7. “二次确认”设计策略
  8. MVC设计模式及其工作原理
  9. 为虚拟机硬盘扩容(Oracle VM VirtualBox)的方法
  10. 学习笔记 | 如何将 MathType 6.0 插入 Microsoft office 2016