Web 开发者应该有哪些必备的技能?

发布于 2024-08-04 19:29:49 字数 15791 浏览 17 评论 0

web 技能树

WEB 开发本身涵盖了许多领域的许多技术,那么,有哪些是 WEB 开发者必备的技能呢?这是一个 Quora 上用户提出的问题,其中 Ellyse Taylor 的回答获得了 1900+的赞同。

可能很多人对下面这个列表中的大部分内容都已经了解了,但其中必定有一些是你之前没有看到过,或者没有完全理解的,甚至有些你可能从来没听说过。

1. 界面和用户体验

  • 注意,浏览器的实现标准是不一致的,请确保你的网站能够兼容所有主流的浏览器。最少需要测试的有 Gecko 引擎( Firefox ),WebKit 引擎( Safari 以及一些手机浏览器), Chrome ,你所要支持的 IE 浏览器 ,以及 Opera 。此外,你还需要了解不同系统下, 浏览器是如何渲染网页的
  • 考虑一下人们不使用主流浏览器的情况,如手机,屏幕阅读器和搜索引擎。一些可用的辅助信息: WAISection508 ,移动开发: MobiForge
  • 阶段:如何在不影响用户的情况下部署更新。有一个或多个可以用来改变架构、代码或全部内容,并确保它们在可控范围内实现部署的测试或临时环境。有一种自动化的方式把更新部署到线上网站。最有效的实现方式是结合使用版本控制系统(CVS、Subversion 等) 和自动构建机制(Ant、NAnt 等)。
  • 不要直接向用户显示不友好的错误信息。
  • 不要用纯文本的方式显示用户的电子邮件,因为他们可能会被垃圾邮件烦到死。
  • 为用户生成的链接添加 rel=”nofollow” 属性,以 避免垃圾邮件
  • 为你的网站建立周全的限制 –这条也同时属于安全方面。
  • 学习如何 进一步的提高
  • POST 提交成功后进行重定向,以免刷新造成重复提交。
  • 别忘了考虑无障碍访问。这总是不错的,在某些情况下,这甚至是 法律要求 的。 WAI-ARIAWCAG 2 里都有关于这方面很好的资源。
  • 不要让我思考

2. 安全

3. 性能

  • 如果有必要的话,实现缓存,请正确理解和使用 HTTP 缓存
  • 优化图片。不要使用 20K 的图片作为平铺背景。
  • 学习如何 gzip/deflate 内容deflate 效果更好 )。
  • 合并样式表与脚本文件以减小浏览器链接数,同时提高 gzip 的压缩能力。
  • 浏览 雅虎性能卓越的网站 ,以及大量的指南,其中包含提升前端性能和 YSlow 工具(需要安装 Firefox, Safari, Chrome 或 Opera)。此外, Google page speed ( 浏览器扩展 ) 也是一个性能分析工具,它同时可以优化你的图片。
  • 对于小的如工具栏图片,使用 CSS Image Sprites (参考最小化 HTTP 请求)。
  • 访问量大的网站应该考虑 跨域拆分组件
  • 静态内容(如图片、CSS、JavaScript 及 不需要访问 cookie 的内容 )应该放在一个单独的域下,因为域及其子域的每一个请求都会发送 cookie。这里是使用内容分发网络(CDN)的一个很好的选择。
  • 减少浏览器渲染页面所需的 HTTP 请求的总数量。
  • 利用 Google Closure Compiler其他 压缩 JS 的工具。
  • 确保网站根目录下有一个 favicon.ico 文件,即使在 HTML 中并没有提到它, 浏览器也会自动加载它 。如果你没有 /favicon.ico ,就会返回很多 404 错误,消耗服务器带宽。

4. SEO (Search Engine Optimization) 搜索引擎优化

  • 使用“搜索引擎友好”的 URL,如 http://example.com/pages/45-article-title 而不是 http://ofexample.com/index.php?page=45。
  • 在动态内容中,把 # 改成 #! ,然后在服务器端使用 $_REQUEST["_escaped_fragment_"] 。换句话说 ./#!page=1 变成了 ./?_escaped_fragments_=page=1。此外,对于使用 FF.b4 或 Chromium 的用户, history.pushState({"foo":"bar"}, "About", "./?page=1"); 是一个非常棒的命令。因此,即使地址栏已经改变了,页面也不会刷新。
  • 不要使用“ 点击这里 ”这样的链接。你是在浪费一个搜索引擎优化的机会,而且它让使用屏幕阅读器人们更难阅读。
  • 有一个 XML 网站地图 ,最好在默认位置 /sitemap.xml
  • 当有多个 URL 指向同一个内容的时候,使用 <link rel="canonical" ... /> ,这个问题可以通过 Google Webmaster Tools 来解决。
  • 使用 Google Webmaster ToolsBing Webmaster Tools
  • 安装 Google Analytics 或者其他开源分析工具如: Piwik
  • 了解 robots.txt 及搜索引擎蜘蛛 是如果工作的。
  • 使用重定向(301)www.example.com 到 example.com(或者反过来),防止它们平分谷歌网站排名。
  • 要知道有 badly-behaved 蜘蛛的存在。
  • 如果你的网站有非文本内容,Tim Farley 的回答中有一些非常有用的信息。

5. 技术

  • 理解 HTTP 以及 GET、POST、session、cookie 以及“无状态”的意思。
  • 撰写 XHTML/ HTML 和 CSS 要遵循 W3C 规范 ,并确保它们通过 校验 。这样做的目的是为了避免浏览器的怪癖模式,并且这使得非标准浏览器如屏幕阅读器和移动设备更加容易实现。
  • 理解浏览器是如何处理 JavaScript 的。
  • 理解 JavaScript 、样式表、以及页面使用的其他资源是如何加载的,并考虑它们对感知性能的影响。现在普遍认同的一种做法是把除分析代码等以外的 脚本文件放在页面底部
  • 了解 JavaScript 沙箱是如何工作的,特别是当你想使用 iframe 的时候。
  • 需要注意到,JavaScript 是可以被禁用的,因此 AJAX 只是一个扩展,而不是基准。虽然大部分用户并没有禁用它,但记住, NoScript 正在变得越来越流行。并且,谷歌在索引你的网站时也不会运行 JavaScript。
  • 学习 301 和 302 重定向之间的不同
  • 尽可能多地了解你的部署平台。
  • 考虑使用 Reset Style Sheetnormalize.css
  • 考虑使用 JavaScript 框架(如 jQuery , MooTools , Prototype , DojoYUI 3 ),这可以避免很多使用 JavaScript 操作 DOM 时的差异。
  • 在考虑感知性能和框架的同时,考虑使用服务,如 Google Libraries API,来加载框架,这样浏览器可以使用已经缓存的框架而不是从你的网站上下载。
  • 不要重复造轮子。在做任何事情之前,先搜索相关的组件或者实例。99%的可能别人已经实现了并发布出了开源的代码。
  • 在确定需求之前,尽量不要使用超过 20 个的库,这是非常不利的。特别是客户端 WEB,保存轻便、快速、灵活是最重要的。

6. BUG 修复

  • 要了解你花费 20%的时间写代码而花费 80%的时间来维护,因此写代码时一定注意。
  • 建立一个好的错误报告解决方案。
  • 建立一个别人可以提建议和批评的系统。
  • 为未来的支持人员和维护人员建立良好的文档。
  • 经常备份! Ed Lucas 的回答 中有一些建议。有一个恢复策略,而不只是一个备份策略。
  • 使用版本控制系统,如 SubversionMercurialGit
  • 不要忘记验收测试。 Selenium 等框架可以帮到你。
  • 请确保您有足够的日志记录的地方,可以使用框架如 log4j , log4netlog4r 。当网站出现问题的时候,你需要能够找到问题所在。
  • 日志要记录已处理异常和未处理异常。分析日志输出,因为它会显示出你网站的关键问题。

这里有些省略的东西并不是因为它们没用,而是因为它们过于详细或者超出了范围,或者说的太远了。当然,上面的内容可能也有一些遗漏或者错误。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

空袭的梦i

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

一梦浮鱼

文章 0 评论 0

mb_Z9jVigFL

文章 0 评论 0

伴随着你

文章 0 评论 0

耳钉梦

文章 0 评论 0

18618447101

文章 0 评论 0

蜗牛

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文