[idea]对于前端里面一些事情的看法
一些是自己的想法,另一些是看博客或者书籍里面得出的,随手记在这里。
基于页面的开发
最初的前端资源模式是基于页面的,像最开始接触web、开发web时候,一般是新建页面-引入jQuery-新建index.css\page-1.css\page-2.css等-新建index.js\page-1.js等,完全是基于页面的。
基于页面的静态资源管理是最开始“刀耕火种”的产物,倒是比再久之前写内联样式、script标签要好的多(实现了页面样式\脚本和页面骨架之间的分离,但是属于很粗浅的分离),但是这种模式在使用中就暴露了很多问题:
(1)资源重复:很多页面样式代码\js函数代码都是在不断重复;开发很多时候是CTRL+C\V,然后再改一个小参数而已;
(2)维护困难:如果需要修改某页面中的一个按钮,需要翻到对应的page-x.css,然后再手动修;如果别的页面也有相似按钮,就需要再找到另一个文件,完全是人工的浪费时间的修改维护;
(3)开发难度大:这种基于页面的随性方式给了开发者很多空间, 不必管XXX,做出来就行;但是如果从页面级别上升到业务级别,在整套的业务代码下的开发就变得蛋疼了;页面引入了十几个js文件,window.onload函数不知不觉被写了多遍或者造成了全局变量污染命名空间的事情;静态资源管理也出现了问题,一个页面引了十几个文件,如果需要调整,则手动到模板文件里修改;
页面越大、逻辑越复杂这种模式的弊端就越明显。
这种基于页面的开发让我想起了在面试时跟面试官说的一道问题,老大问我”你对模块化是怎么看的“,我当时举了个例子说”原来的这种写法和不用框架、不用模式写php一样,意大利面条似的开发,代码混成一片“。
所以这种模式面临的问题需要解决,解决方案也就是模块化和组件化。
[idea]对于前端里面一些事情的看法的更多相关文章
- 前端开发面试知识点大纲--摘自jackyWHJ
前端开发面试知识点大纲:HTML&CSS: 对Web标准的理解.浏览器内核差异.兼容性.hack.CSS基本功:布局.盒子模型.选择器优先级及使用.HTML5.CSS3.移动端适应 Ja ...
- 淘宝前端工程师:国内WEB前端开发十日谈
一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是" ...
- Web前端开发十日谈
=========================================================================== 原文章: http://kb.cnblogs.c ...
- 【WEB前端经验之谈】没有速成,只有不断积累。
2013年8月25日,我人生中的第一份正式工作开始了,第一份工作做的是当时学习的asp.net,用的是C#语言. 到第一家公司上班是公司是做一个OA系统,不过我去的时候大部分都已经完成了,剩下的都是细 ...
- 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
##2017.10.30收集 面试技巧 5.1 面试形式 1) 一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2) 面试官喜欢什么样的人 ü 技术好. ...
- 绝对精品推荐做前端的看下:Web前端开发体会十日谈
20151208感悟: 前端人的角度来看的话,感觉像是阅读一个大牛前端的全部武功的一个秘籍说明,里面的思想高价值蛋白真是太多太多,推荐看. Web前端开发体会十日谈 一直想写这篇“十日谈”,聊聊我对W ...
- 前端架构师亲述:前端工程师成长之路的 N 问 及 回答
问题回答者:黄轶,目前就职于 Zoom 公司担任前端架构师,曾就职于滴滴和百度. 1. 前端开发 问题 大佬,能分享下学习路径么,感觉天天忙着开发业务,但是能力好像没有太大提升,不知道该怎么充实自己 ...
- 前端网老姚浅谈:怎么学JavaScript?
作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...
- 再谈 Go 语言在前端的应用前景
12 月 23 日,七牛云 CEO & ECUG 社区发起人许式伟先生在 ECUG Con 2018 现场为大家带来了主题为<再谈 Go 语言在前端的应用前景>的内容分享. 本文是 ...
随机推荐
- 集合-强大的集合工具类:java.util.Collections中未包含的集合工具
任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法.这是Guava最流行和成熟 ...
- python学习---python基础一
一.Python介绍 1.python出生与应用 python的创始人是吉多.范罗苏姆(龟叔).1989年圣诞在家闲着无聊,决心开发一个新的脚本解释程序,作为ABC语言的一种继承 python崇尚的是 ...
- module.exports 、exports、export、export default的区别
module.exports和exports是属于 CommonJS 模块规范,export和export default是属于ES6语法. module.exports和exports导出模块,用r ...
- 关于javascript中的typeof和instanceof介绍
typeof用来检测给定变量的数据类型 instanceof用来检测对象的类型 typeof用来检测给定变量的数据类型(也可叫做基本类型,基本数据类型.包含undefined.boolean.stri ...
- SQLITE3 使用总结(转)
前序: Sqlite3 的确很好用.小巧.速度快.但是因为非微软的产品,帮助文档总觉得不够.这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记. 这里要注明,我是一个跨 ...
- UGUI 锚点设置为四方扩充模式然后设置局部坐标为0将出现什么问题
UGUI 锚点设置为四方扩充模式然后设置局部坐标为0将出现什么问题? 情形:按钮A挂在主画布上.四方扩充模式.A的中心和画面中心不重合. 这时候用代码设置A.localPosition = new V ...
- 《C语言基础日常笔记》
1. 类型转换-----------------20130902 a, 浮点数(包括单精度与双精度)赋值给整型变量时,舍弃浮点数的小数部分,直接将其整数部分存放在整型变量里. b, 整型变量赋值给浮点 ...
- java链接数据库构建sql语句的时候容易记混的地方
Connection conn = DBHelper.getconnection(); //封装连接数据库的工具类 String sql = "select * from t_test&qu ...
- Python_02-控制语句
目录: 1 控制结构... 1.1 分支语句... 1.1.1 if语句的嵌套... 1.2 for循环... 1.2.1 Python 循环中的 ...
- js高级——构造函数,实例对象和原型对象——prototype、__proto__和constructor构造器
一.前言 了解JavaScript面向对象,需要先了解三个名词: 构造函数,实例对象和原型对象. 注意:JavaScript中没有类(class)的概念,取而代之的是构造函数,两者类似却又有很大的差别 ...