文档章节

网页开发的一种暴力方式

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
WAScan:一款功能强大的Web应用程序扫描工具

  今天给大家介绍的是一款名叫WAScan的Web应用程序扫描工具。   WAScan是一款开源工具,该工具采用的是基于黑盒的漏洞挖掘方法,这也就意味着研究人员无需对Web应用程序的源代码进行研究...

FreeBuf
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kernel version does not match DSO version

错误信息: kernel version 384.11 does not match DSO version 384.130.0 原因是: cuda driver版本太低,不匹配DSO 简单有效的修复方法,升级nvidia driver, 步骤如下: 1. google seach ...

刘小米
今天
0
0
maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部