• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
邹天得
博客园    首页    新随笔    联系   管理    订阅  订阅

Web前端开发最佳实践(第1和2章)

以下内容大部分摘自《Web前端最佳实践》


 

第1章

1.1.Web前端需要具备的技能:

  • HTML
  • CSS
  • JavaScript
  • 跨平台、跨浏览器
  • 前端框架
  • 调试测试工具
  • 沟通能力

1.2.浏览器市场占用率:

来自tongji.baidu.com/data/browser

   

 

 


 

 第2章

2.1前端代码组织结构

js

    lib

    cunstion.js(业务相关)  

    css

      lib

      images(放置用于样式中的背景图)

      reset.css(统一元素默认样式的样式文件)

      custom.css(业务相关)

    resource(放置页面图片文件以及其他类型资源文件)

    index.html

  2.2前端代码重构

  • 删除无用代码,精简代码
  • 前端代码规范化
  • 整理基础类库
  • 前端代码模块化
  • 提高页面加载性能

  最佳实践:

  • 重构前预估风险,如果没有足够的自动化测试,最好先完善自动化测试代码;
  • 重构的目的是要提高代码的可维护性、可读性和性能;
  • 先易后难,循序渐进;
  • 重构过程中要持续测试,多浏览器测试。
  • 如果需要提升性能,要事先检测出网站的正题性能并量化,找出瓶颈,要持续监控并做对比。

  2.3合理使用前端框架

  好的js框架经过了大量的功能测试、性能测试和浏览器兼容测试。

  选择前端框架要考虑如下几个因素:

  • 项目的需求

    i.有ajax操作

    ii.需要模板化

    iii.数据格式是JSON还是XML

    iv.项目需要支持的浏览器

    v.移动设备还是pc端

    vi.哪些UI模块:模态窗口、滑块控件、进度条、提示框、分割框、幻灯显示等等

  • 项目的特点

    i.开发团队的前端技术能力

    iii.短期or长期:短期的话,要有限选择容易上手和快速开发的框架;长期的话,是需要长期维护的,要考虑框架本身的升级和扩展性。

  • 框架的特点

    i.框架是否满足需求

    ii.框架性能是否达标

    iii.框架是否持续中

    iv.文档和例子是否充足

    v.是否有技术支持

    vi.版权和收费

    vii.轻量级or重量级

  2.4多浏览器测试

    一定要多测试、早测试。不过IE已经渐趋标准了,不用费以前那么大精力。

  • IE7、8、9的兼容
  • HTML5的兼容

    各浏览器对新标准的支持步调不一致,对于html5的新特性,必须明月浏览器的支持范围,考虑对于不支持的浏览器的平稳降级,为了把浏览器的兼容问题讲到最小,可以遵循以下几个原则:

    i.编写高质量、标准的HTML

      高质量和标准的html可以最大范围的在各浏览器上正常显示和保持一致性,这里可以使用一些标准验证工具,如W3C提供的HTML和CSS的标准验证工具,检查js代码规范的JSLint

    ii.明确支持的浏览器范围

      这里有四个标准,可供制定浏览器支持情况:

      a.外观和交互符合设计要求

      b.外观上有所差异,但不影响整体的效果

      c.外观和设计不符合,但不影响页面的交互

      d.完全不支持设计的功能

       浏览器要有所选择地测试,如果相同内核的选择一个即可,IE兼容问题可以使用IE Tester工具。

    iii.尽量采用没用兼容问题的代码

    iv.HTML 5新特性的平稳降级

      包括新标签的兼容、CSS3的兼容,以及新增的API的兼容。

      这里推荐一些工具:

        html5shiv:让浏览器不支持的新标签可以正常显示

        modernizr:封装了对HTML5新特性的判断

        Can I See:了解新特性的浏览器兼容情况

  2.5 Web前端开发环境及调试

    IDE:idea、Aptana Studo和WebStorm

    调试:IE Dev Toolbar,Chrome Developer Tools,Firefox Firebug,Safari Develop

  2.6Web前端性能分析

    工具:YSlow,PageSpeed及浏览器自带的工具。YSlow是Yahoo发布的一款基于FireFox的插件,选择了雅虎公司性能团队制定的34条提高Web性能军规中的23条做性能分析(https://developer.yahoo.com/performance/rules.html)。  

  2.7Web前端代码和资源压缩与合并  

  • 加快网络传输,可以采取CDN分发,缓存等方式,但也压缩代码和资源文件是最简单有效的手段之一:
  • 服务端开启gzip压缩,主流Web服务器(IIS,Nginx,Apache,Lighttpd等)和主流浏览器都支持  
  • js代码压缩,相关工具有UnlifyJs,YUI Compressor,Closure Compiler等
  • css代码压缩,相关工具有CSS Compressor,YUI Compressor等
  • HTML压缩,相关工具有HTMLCompressor
  • 图片资源压缩,相关工具有TinuP,JPEGmini,ImageOptim

  2.8前端代码命名和格式规范

  • 标签用小写
  • 给所有关键元素定义id和class,id名称关键词用下划线_连接,class关键词用中划线-连接
  • class用作js调用的钩子,可在名称前加上js前缀
  • 给HTML代码添加必要的注释
  • js局部变量命名采用首字母小写,其他单词首字母大写的方式
  • js编写对象编程时,共有借口的命名为首字母大写,私有接口的命名为首字母小写
  • jQuery使用时,jQuery类型变量添加“$”作为前缀

    ......

 

posted on 2017-07-01 16:16  邹天得  阅读(300)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3