文档章节

网页开发的一种暴力方式

HonChy
 HonChy
发布于 2015/04/09 23:27
字数 820
阅读 273
收藏 4

##网页开发暴力方式

  • 他很炫,我只看资源
  • 交互多,抓转态,分阶段
  • 控件杂,挨个建模

###他很炫,我只看资源 网页的设计样式越来越炫,这意味着需要为边框,颜色,留白,动画等做出更多的额外的设计,而不仅仅是资源本身。但是这里的关键就是抓住资源。不管页面如何的设计,要抓住资源而非设计。这里的资源参考REST中有关资源的概念和DDD中领域对象的概念。 有了资源,你就可以在规划dom结构时,适当的应用上微格式,使逻辑重新回归。

###交互多,抓状态,分阶段 很多元素的事件需要响应,但是大多数情况下,这些事件不是一起发生的。所以可以针对这些事件涉及网页的多个状态。通过事件驱动状态发生改变。一个事件一个状态。

###控件杂,挨个建模 这个一般是第二个有关,当有很多个dom元素会有事件或者状态变化的时候,可以对每个dom进行封装形成一个对象。然后为这些对象安装状态切换功能和事件触发相应能力。

##为什么可以这么暴力 其实把网页拆分成为各个元素和功能组件,就好比不是造一个拖拉机,而是造一堆零件。拿着这一堆零件可以拼凑出一台拖拉机,也可能拼凑不出来一台拖拉机。这是风险所在,但是也是灵活性所在。其实就是REST思想中拆分的资源和资源的相关链接,DDD中拆分的不同粒度的领域对象。这样你在拆分的页面元素和功能的时候,其实也是熟悉各个零件的过程,有这个工程中的思考,对与整体的把握会更好,再经过多次的重构后,系统会逐渐的由凌乱形成章法。代码会进化。 但是在开发的时候,一次只需要考虑一个零件,它是什么,有什么作用,有什么事件等,这样就大大降低了设计难度。在零件开发完成以后,自然会在零件之上开发更粗粒度的功能包装,来组装这些零件的功能。所以可以减少很多思考的时间,只需要花费心思,思考如何拆分,如何组装。做完一步,再看下一步。不急不躁,是一个很自然的过程。

##如何实施 这个需要借助前端工程化的解决方式,因为要写很多的模块,有些是资源,有些是dom封装,有些是辅助,这些零散的js模块还需要一个或者多个组织者。这么多的js文件,需要进行合并压缩来减少体积。这些文件一般选择在后端打包压缩。

© 著作权归作者所有

共有 人打赏支持
HonChy
粉丝 12
博文 100
码字总数 87679
作品 0
海淀
程序员
私信 提问
WEB前端学习:练脑算法题——求一个集合所有子集的和

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰
06/02
0
0
女性黑客的崛起将造福世界

编者按 : 詹妮弗·文托(Jennifer Vento)是 Women Online 的常务董事。 2015 年 5 月 23 日,来自 19 个国家的黑客在线或亲自参加了 Femhack,一项受 到萨宾·马哈茂德(Sabeen Mahmud)的...

oschina
2015/07/18
4.2K
6
使用Python进行HTTP摘要认证暴力破解

首发州的先生个人博客:http://zmister.com/ 相关文章: 利用Python进行Web渗透测试(七):用Python编写一个资源暴力探测工具 利用Python进行Web渗透测试(八):改进暴力探测器的显示结果和...

州的先生
2017/12/02
0
0
Tornado学习笔记(一)

最近开始用Tornado做开发了,究其原因,主要是Tornado基于Python,一来代码量少开发速度快,二来采用epoll方式,能够承载的并发量很高。在我的i5台式机上用ab测试,不连接数据库的情况下,单...

Slaytanic
2015/04/25
0
0
前端开发面试题--html

Doctype作用?严格模式与混杂模式如何区分?它们有何意义? doctype是告诉浏览器我的html使用哪个版本的html协议写的,让浏览器按照神明的协议执行。 区别:严格模式是浏览器根据规范去显示页...

邪气小生
2016/04/07
244
2

没有更多内容

加载失败,请刷新页面

加载更多

nuc970 uboot nand-boot,kernel, filesystem 烧录位置

一 烧写到Nand Flash **1.1 **相关文件说明 l BSP版本:nuc970bsp-release-20150519.zip l NuWriter版本:2015/04/28-V01,nuvoTon Nu-Writer V1.0 l 烧写文件: u-boot-spl.bin:负责将u-b......

CookieDemo
43分钟前
1
0
python中sort和sorted函数小结

L.sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) 这样看,sorted函数只比sort函数多一个iterable参数,其余没什么不同,iterable是一个迭代......

上官夏洛特
今天
3
0
thinkphp 常用SQL执行语句总结

第一条:Db::tablera('vr_panomas')->where(['delete_time'=>0,'id'=>['in',$pids]])->field(['id'=>'id','post_thumb'=>'thumb','post_title'=>'title','post_tags'=>'tags','post_price'=>......

koothon
今天
3
0
支付宝返回状态resultStatus意思

上一篇集成支付宝的时候,会有一些支付宝返回的resultStatus,具体意思是: 9000 订单支付成功 8000 正在处理中 4000 订单支付失败 6001 用户中途取消 6002 网络连接出错 还有memo,意思就是...

RainOrz
今天
3
0
electron webview 页面加载事件顺序

1.did-start-loading 页面开始加载 2.load-commit 主页面文档加载 3.page-title-updated title 4.dom-ready 主页面 dom 加载完成 5.load-commit frame文档加载 6.did-frame-finish-load fram......

dubox
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部