《JavaScript DOM编程艺术》作者谈:原型代码与生产代码之间的矛盾
栏目: JavaScript · 发布时间: 5年前
原文作者:Jeremy Keith
译者:UC 国际研发 Jothy
写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。
在 Clearleft 做前端开发时,我们通常以组件库的形式提供生产代码。 这意味着我们的优先级是性能,可访问性,健壮性和其他 Web 开发方面的质量指标。
但我们却总是使用前端开发的原材料-HTML,CSS 和 JavaScript,来生成不适合生产环境的东西——我说的是原型制作。
现在市面上有很多无代码的原型制作工具,我们的设计师经常会用它们传达交互设计等细微之处。 但是,当真实用户测试原型时,我们发现它无法比拟 HTML,CSS 和 JavaScript 的灵活性,后者只需要把它加载到浏览器中就完事儿了。
我们做了很多设计冲刺项目,其第一要义是时间。 冲刺的倒数第二天产出的原型肯定不是符合生产质量的,但它足以通过测试。
有趣的是 - 在进行原型制作时 - 我们平时考虑的前端优先级可能最终将成为过眼云烟。 现在最高优的就是速度, 而如果这意味着牺牲语义或性能,那没关系,牺牲就牺牲。 如果我在构建一个原型的时候想着“现在,我该给这个组件设定什么 class?”,那么我知道我的思维方式错了。 这个问题可能对实际生产代码有效,但这对原型来说纯粹是浪费时间。
所以这两种工作体现的是非常不同的态度。 对于生产工作,质量是关键。而原型设计,快速制作是重点。
虽然在开发公共项目时,我会仔细考量第三方库和框架带来的性能影响,但在制作原型时我不会考虑它。 尽管给出你想要的所有 JavaScript 框架和 CSS 库吧(虽然我会觉得 CSS Grid 等浏览器技术降低了 Bootstrap 这样的 CSS 库的重要性,即使只是原型设计上)。
在生产项目和原型项目之间切换还挺有趣,有趣中带点迷惑,就像我必须在翻转大脑中的开关来改变音轨一样。
当原型效果很好、测试良好时,真正的陷阱是使用原型代码作为最终产品的基础代码。请别这么做! 我曾经就犯过这个错误,结果总是很糟糕。相比从一个纯净的项目开始,我最终花了更多的时间来将原型代码对齐到生产级别。
正确做法是:制作原型来测试想法,设计,交互和接口......然后把代码丢弃。 原型的价值在于回答问题和测试假设。 当切换到生产模式时,不要坠入沉没成本谬论。
毋庸讳言,请无论如何也不要将原型代码发布到生产中!
但是…
貌似越来越多的在线网站都采用了原型设计理念。人们不考虑是否适合,就都使用重量级的 JavaScript 框架。而可访问性,也总被降级为事后的想法。大多网站都采用脆弱的架构——依赖于首次加载然后执行 JavaScript,接着呈现基本内容。 开发人员体验总是优先于用户体验。
Heydon 最近 highlight 了一篇文章,为有抱负的 Web 开发人员提供了这个技巧:
对于 HTML,目前没有太多可以学习的,你可以随时学习,但在开发你的第一个页面之前,你得先搞清楚内联元素(比如 span)和块级元素(比如 div)之间有什么区别。
这对正在构建原型的你来说,是个非常在理的建议... 但是,如果你正在构建一些公众消费的站点,请务必考虑到最终用户。
英文原文:
https://adactio.com/journal/14562
好文推荐:
Bootstrap 发布了个 v3.4 版本?是不是搞错了?
“UC国际技术”致力于与你共享高质量的技术文章
欢迎关注我们的公众号、将文章分享给你的好友
以上所述就是小编给大家介绍的《《JavaScript DOM编程艺术》作者谈:原型代码与生产代码之间的矛盾》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Flask Web开发实战
李辉 / 机械工业出版社 / 2018-8-1 / 129
这是一本面向Python程序员的,全面介绍Python Web框架Flask的书。关于本书的详细介绍、相关资源等更多信息可以访问本书的官方主页http://helloflask.com/book了解。 • 国内首本Flask著作,在内容上涵盖完整的Flask Web开发学习路径,在实践上包含完整的Flask Web程序开发流程。同时兼容Python2 .7和Python3.6。 • 内......一起来看看 《Flask Web开发实战》 这本书的介绍吧!