AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

对 Matthew Carver 所著的《响应式 Web》一书的问答

  • 2015-03-30
  • 本文字数:3959 字

    阅读完需:约 13 分钟

自从 HTML5__ 变得流行以来,整个 Web__ 平台取得了长足的进步,人们也开始将 JavaScript__ 视为一门能够创建复杂应用的语言。许多新的 API__ 纷纷浮现,而关于浏览器如何应用这些技术的文章也大量涌现。

这一系列文章的视角更进一步,它们将关注于如何在实践中应用这些强大的技术,这并不是指创建多么酷炫的示例和原型,而是在第一线进行实际应用。在这个(后)HTML5__ 系列文章中,我们不需要响亮的口号,而是基于行业专家的实际经验,获得实践性的见解。我们也将讨论那些更进一步的技术(例如AngularJS _),并对 web__ 标准和 web__ 开发的未来进行定义。_

发布在 InfoQ__ 上的这篇文章是“下个时代的HTML5 和JavaScript __”系列文章其中的一篇。你可以订阅本系列文章,通过RSS__ 获取文章更新的通知。

在Matthew Carver 的著作《响应式Web》(The Responsive Web)中,作者以一种易于接受的方式,为读者介绍了现代化的web 设计,以及响应式设计的重要性。

本书共分为三个部分。第一部分简明扼要地介绍了响应式设计是什么、它为什么会出现、以及现代化web 浏览器中的哪些特性促成了响应式web 的出现。这部分内容也谈到了“移动优先”这一概念,使用这种概念进行设计网站时,首先按照某个移动设备的断点进行设计,随后再转而设计它的桌面版本。

第二部分开始介绍如何设计响应式web。Carver 首先讲解了一些如何为客户展示设计思想的技巧,而不是直接跑到代码的编写部分。他以导航的设计作为入口,介绍了设计模式的使用,以及如何创建响应式页面的思想。接下来的部分涵盖了如何进行实际的响应式设计的某些基本原理,以及用以展现信息的某些现代技术,例如web 排版(typography)。

本书的最后一部分介绍了一些高级的技术,对于因各种浏览器的不同行为所造成的问题提供了有效的解决方案。在本书的结尾部分,作者对于设计的测试,以及如何进行性能优化方面提供了一些实际建议。

InfoQ 有幸与 Carver 进行了一次访谈,围绕着本书的出版,以及当代 web 开发者所面对的挑战等话题展开了一次对话。

InfoQ:由于浏览器和移动设备的多样性,当代的开发者们所面临的挑战是令人难以置信的。对于那些为了跟上时代的脚步而拚命的开发者,你有什么样的建议?

Matthew首先我想说的是,坚持到底不要放弃。我想,对于怀有热情的开发者来说,“为了跟上时代而拼命”应该已经成为一种常态了。我们这个行业的发展速度是如此之快,对于任何人来说,如果缺乏一种非常专注的、主动适应的实践精神,是不可能始终停留在技术的前沿的。如果你觉得你正在拚命地追赶时代的脚本,那么你在工作上的表现或许已经非常出色了。

其次,现在已经有多种优秀的方式可以对各种设备和浏览器进行模拟了。如果你的工作室确实装备齐全,能够拥有所有最新的平板设备和移动电话,那自然再好不过。不过实现这一点对于许多开发者来说都不太现实。幸运的是,有一些替代方案可以选择。

Chrome 的开发者工具中提供了一系列模拟器,可以将视点的外框大小调整为某种设备的尺寸,因此你可以任意地模拟各种设备的屏幕尺寸。这些工具还能够模仿触摸式控制等操作,因此你在 Chrome 中也能够了解在移动设备和平板上的浏览器上的行为。在安装 Android SDK 时,你将自动安装官方的模拟器,而 Xcode 中也提供了对应 iOS 设备的模拟器。

InfoQ**:你对于 Foundation或 Bootstrap这样的框架有什么看法?它们能够成为开发者工具箱中的利器吗?**

Matthew我从前对这些框架是相当迷恋的。在《响应式 Web》一书中,我对 Foundation 进行了详细的论述,并把它当作一个优秀的原型工具推荐给读者。不过,我现在在生产环境中也开始使用它了。对于这些框架最常见的争议在于,它们或许会使整个设计过于臃肿,或是限制设计的能力。而我感觉,这些争议其实是对于设计流程提出了真正的要求。

随着我们的触角不断伸长,并且开始使用 web 来处理越来越多的实际生活中的问题时,网站的创建也随之变得越来越复杂了。因此当你在规划某个网站的创建时,有时候你也不确定产品最终会做成什么样。类似于 Foundation 这样的框架提供了一种预建的解决方案,它能够为你解决某些眼前需要处理的问题,例如“设定这个网站上的按钮外观”。因此你可以将精力花在更复杂的问题上,例如“有没有更好的方式来实现这个按钮”等等。我最终会将框架的 70% 至 80% 内容进行自定义,但使用 Foundation 或 Bootstrap 作为一个起点,能够为你节省大量的时间。

InfoQ:某些批评者认为:响应式设计会造成更多的带宽占用和内存问题(在移动设备上),你对这种说法是怎么看的?

Matthew这种批评有一定道理。但事实上,在 web 开发中,从来没有哪个大规模解决方案是完全不存在任何争议的。在处理 web 开发中的问题时,哪一个解决方案没有遭受过大量批评者的吐槽?就拿 Swift 来说吧,Apple 的现金储备已经超过了某些国家的现金总额,并且为了改善 iOS 上的开发体验,它投入了多年的时间才打造出了这门语言,结果呢?对于它的批评很快就超过了对于它编译速度的赞扬。面对现实吧,作为开发者,我们总是面临着风险。如果你想知道拥抱变化到底能有多痛苦,就去找一个 Flash 开发者聊聊吧。

带宽和内存都是开支的一部分,为了完成某些任务,这些开支是必须的。开发者或许会因为各种各样的原因超支,但这不能构成完全放弃使用响应式编程的理由,太愚蠢了。这就是典型的“不会撑船怪河弯”。响应式设计是一种用于处理 web 上设备的一致性问题的工具,而设备的碎片化是一个现实的问题,不能说因为响应式设计不够完美,就意味着应当放弃使用它。

InfoQ:各种整合式浏览器工具(例如 F12等等)在功能性与复杂性上不断发展。这些工具的哪些改进最让你感到振奋?对于响应式开发者来说,其中哪些功能是最有用的?

Matthew我认为构建工具的发展是令人难以置信的的,我知道以下这些工具已经不算新鲜了,但 gulp 和 grunt 确实大大地提升了开发流程的效率,完全可以用突飞猛进来形容。Compass 凭空生成 sprites 的能力也令人惊叹,而诸如 Live Reload 这样的工具让整个前端开发流程进步了许多年。

InfoQ:响应式 web在将来会产生什么样的变化?

Matthew这个问题很难回答。在《响应式 Web》一书的附录中,我专门用一章的篇幅介绍了一种我称之为“上下文感知设计”的思想,它的想法是界面应该深度地适应用户的环境和模式。我发现在 Code and Theory 网站上也有这方面的讨论,它已经成为了一种“响应式哲学”。当我看到我们在没有互相联系的情况下,同时产生了相同的观念,看到了同样的问题,我觉得这就证明了这里确实有可以深入挖掘的地方。

我认为,我们已经拥有了所需的全部工具,足以让我们为 web 用户提供对 UI 更深层的关联,这种关联能够将用户的个人偏好、环境、时间和个性等内容集成到用户界面的设计中。

InfoQ**:在设计和编码方面,你对于 Macaw和 Brackets这样的工具有什么样的看法?**

Matthew它们都非常出色。我不清楚目前是否有机会在生产环境中使用这些工具,但任何一种工具,只要它能够帮助设计师看到在响应式设计中常见的一些问题,那总是好的。这种在设计中操作并移动绘图区域的能力,可以帮助设计师们在基于文本的浏览器中更清晰地表达出他们的意图。我看到越来越多的设计师们开始使用各种独立的工具集,而不是使用 Photoshop 这种庞大的整体应用程序。

InfoQ:你编写本书的主要动机是什么?

Matthew我希望能够做些什么,以解决在现代 web 设计以及不同职责的协作中出现的最大问题。我希望我写的东西能够让设计师阅读,并且对开发者所面临的挑战产生共鸣,同时开发者在阅读后也能够对设计师产生共鸣。我非常关注 web,并且坚定不移地相信,我们能够使用 web 让我们的生活变得更美好。但前提是,我们所开发的系统能够解决人们的问题,并且让这些解决方案对达到平均水平的用户能够起作用。

优秀的开发者或许能够寻找的新的方式,它能够搜索房屋,或是购买各种打折产品,但如果这种系统是基于命令行界面的,那它对于用户有什么意义呢?另一方面,设计师也许能够绘制出美丽的界面模式,但如果软件不能正常运行,谁又会去关注它呢?具有这些技能的人应当通过交流而共同前进,我希望本书能够在某种程度上推动这种交流。

InfoQ:你觉得响应式设计对于当前 web开发者的工作起到了怎样的影响?

Matthew我认为它的影响已经深入到了流程中的每个方法。你无法忽略用户设备的偏好,我想响应式设计已经找到了它在开发工作流中的位置了。对我来说,响应式设计已经是一种默认的流程了,要让我不用响应式布局作为默认方式,我还得调整一下我的思维才能做到。

注:在 manning.com 网站上可以使用 info40rwd 这个折扣代码以六折的价格订购《响应式Web》一书,这个代码目前已经被激活,并且绝不会过期。

关于作者

Matthew Carver是一位前端开发者,也是一位 web 设计师。他具备丰富的响应式设计经验,他的客户包括美国航空公司、The Dallas Morning News 和 Chobani Yogurt 等等。

自从 HTML5__ 变得流行以来,整个 Web__ 平台取得了长足的进步,人们也开始将 JavaScript__ 视为一门能够创建复杂应用的语言。许多新的 API__ 纷纷浮现,而关于浏览器如何应用这些技术的文章也大量涌现。

这一系列文章的视角更进一步,它们将关注于如何在实践中应用这些强大的技术,这并不是指创建多么酷炫的示例和原型,而是在第一线进行实际应用。在这个(后)HTML5__ 系列文章中,我们不需要响亮的口号,而是基于行业专家的实际经验,获得实践性的见解。我们也将讨论那些更进一步的技术(例如AngularJS _),并对 web__ 标准和 web__ 开发的未来进行定义。_

发布在 InfoQ__ 上的这篇文章是“下个时代的HTML5__ 和JavaScript”系列文章其中的一篇。你可以订阅本系列文章,通过RSS__ 获取文章更新的通知。

查看英文原文: Q&A with Matthew Carver on The Responsive Web

2015-03-30 02:222088
用户头像

发布了 428 篇内容, 共 177.7 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

论区块链技术如何赋能社交代币并打造创作者经济新局面

CECBC

全球首个AI组合亮相,有人直呼惊艳,也有人害怕恐惧

程序员生活志

深入原生冰山安全体系,详解华为云安全服务如何构筑全栈安全

华为云开发者联盟

容器 数据安全 云安全 Web应用防火墙 华为云安全

简单好用的照片恢复软件推荐

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

浅谈:前端路由原理解析及实践

尔达Erda

开源 云原生 大前端 UI 路由器

FIL的最新消息?FIL的价格还能回到150吗?

区块链 分布式存储 IPFS fil挖矿最新消息? fil价格

ARTS之释义

清风明月

基于Spring Boot+Security+Redis权限管理系统,权限控制采用RBAC

Java架构追梦

Java 源码 架构师 springboot 权限管理系统

腾讯云 TRTC 这次玩大了!冲出国门联手日本直播平台.yell Live打造在线直播互动能力

腾讯云音视频

面试阿里太难了!二本毕业、两年crud经验,侥幸通过面试定级P6

Java 程序员 架构 面试

倒计时 | 7.24 阿里云 Serverless Developer Meetup 杭州站报名火热进行中!

Serverless Devs

阿里云 Serverless 云原生

想象中的论文答辩和真实的论文答辩,我太难了……

程序员生活志

我看JAVA 之 垃圾回收GC

awen

Java JVM 垃圾回收 GC

又双叒叕一行代码:Map按值排序

FunTester

Java 排序 map LinkedHashMap

ZooKeeper 分布式锁 Curator 源码 02:可重入锁重复加锁和锁释放

程序员小航

源码 分布式锁 zookeeper分布式锁 curator

聊聊 Web Workers 吧

Faye

JavaScript 大前端

虚拟币合约交易所搭建,永续合约平台搭建

一文读懂区块链技术如何改变非洲贸易(上)

CECBC

终于有10年阿里老兵把SpringCloud微服务实战经验全总结出来了

进击的王小二

Java 架构 微服务 Spring Cloud

亿万级信令服务演化

anyRTC开发者

音视频 实时通信 实时消息

加油站三维可视化监控系统,安全管理智慧运营

一只数据鲸鱼

数据可视化 智慧城市 3D可视化 数字孪生 加油站

为什么别的程序员能月薪 20k ,而你一个月只能拿 6K 的低保?差别就在这!

白亦杨

Java 编程 程序员 技术宅

年包70W,五轮拿下阿里Offer,全靠阿里内部整理的面试指南(真题分享)

Java 程序员 架构 面试

已收藏!深入浅出Android性能调优

欢喜学安卓

android 程序员 面试 移动开发

PHA矿机挖矿系统搭建

Geek_23f0c3

区块链 云算力模式系统开发源码 PHA矿机挖矿

流程审批系统如何通过低代码平台实现?

优秀

低代码 流程审批系统

音视频开发进阶指南,最新大厂Android校招面试经验汇总

欢喜学安卓

android 程序员 面试 移动开发

为什么别的程序员能月薪 20k ,而你一个月只能拿 6K 的低保?差别就在这!

Java 编程 程序员 技术宅

网络攻防学习笔记 Day81

穿过生命散发芬芳

网络攻防 7月日更

什么是共识?(理论篇)

趣链科技

955.WLB 不加班公司名单!再新增 5 家公司!

程序员生活志

对Matthew Carver所著的《响应式Web》一书的问答_HTML5_David Iffland_InfoQ精选文章