下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

借助HTML5实现响应式设计的

作者:课课家     来源: www.kokojia.com点击数:715发布时间: 2015-11-24 18:23:53

标签: 产品开发运营教程HTML

恍惚恍惚又来到了文章的学习,小编的产品运营将要带领大家进去课课家了解营销师所要知道的营销秘籍。想必大家又有很多问题吧!!有兴趣的朋友就不要错过了。
译者注:在HTML5真正变革各平台的开发模式前,定需要取得某些根本性的突破。今年的的一大突破就是“响应式设计”的发展。从根本来说,响应式设计需让内容适应任何屏幕尺寸。今年响应式设计最引人注目的案例要数Boston Globe推出BostonGlobe.com。这篇文章转述了ReadWriteWeb与BostonGlobe的开发团队Fliament之间谈话内容,其中详细介绍了开发中遇到的一些问题。希望这篇文章能够给开发者们带来一些心得和体会。
周一,波士顿环球报发布了面向手机的付费网站—BosonGlobe.com。不要把它和官方免费旗舰站点Boston.com混淆在一起。这本身并没有那么有趣。然而,HTML5开发社区对BostonGlobe.com大加赞赏,称赞网站的内容根据屏幕的大小进行调整是种创新,这种创新叫做响应式设计。
响应式设计允许Globe的内容根据屏幕的可用尺寸进行重新调整,在与移动设备、屏幕尺寸和移动设备上的内容显示的这场较量中,这是个胜利。下面是和Globe响应式设计的创始人进行的一次深度讨论。
Filament团队向HTML5跨出了一大步
波士顿环球报得到了Fliament团队的服务支持,Fliament团队隶属于波士顿的一家设计发展公司,这家公司致力于开发辅助功能。下面是ReadWriteMobile和三个Fliament团队的设计师和合伙人之间的谈话全文,这三个人在开发响应式设计中做出了巨大贡献。Mat Marquis在Globe的开发中是主力,ToddParker和ScottJehl是他的搭档。EthanMarcotte,响应式设计之父,这个时候不便发表评论。
通过下面的视频来看看BostonGlobe.com的响应式设计师如何实现的吧。(注:视频播放不了,猜想是网站进行了IP限制。)
 这个项目是如何启动的
ToddParker:我想我们应该是在11月正式开始实施这个项目的。界面模板的准备,和设计师打交道一直持续到4月底,然后我们做了一些整体的准备工作一直到夏末,之后项目就进入正式实施的阶段。
技术挑战
我认为,这项技术目前只在博客、文件夹等类似的应用中出现过。都是一些零散的碎片,没有一个完整的体系。我想会有一个用户大胆地说,这个功能对他们来说很重要。因为这项技术比一般的Web开发要花费更多的时间和测试,而一般的web开发只需要把几部分拼在一起就OK了。
因此,说到技术难点,我认为应该是媒体查询。很多东西都要涉及到媒体的查询,但是目前下载到的IE版本对此不提供支持。因此,我们首先要做的就是写一段代码实现媒体查询。虽然还有其他的方式能够实现同样的功能,但是对于我们的需求来说实在是太慢了,因此我们创建了响应JS,这是我们实施这个项目必须要解决的第一步,我们在这上面花费了很多时间。
另外一个大的挑战就是,我们正在解决的响应图片问题。到目前为止,我们做的所有工作都采取移动优先的方式。如果你访问Globe的站点,就会发现文章的配图都有1000像素宽,他们非常大并且色彩丰富,像**一样。而我们在HTML中需要引用较小的图片,这里我们用到一个小技巧,如果你使用平板或者桌面机,并且支持下载响应模式的话,就可以访问高分辨率的图片;如果你使用手机,访问到的就是低分辨率的图片,如果你使用浏览器或者平板,访问到的就是高分辨率的图片。因此,给对应的设备发送相应的图片是我们需要解决的另一个技术难点,在CMS环境中实现这个功能确实花了我们不少功夫。
广告带来的挑战

对“产品”的书面解释
我们公司有那些产品?=>产品结构
可以用一个书面语来表示上面的那句话:产品组合,即指企业生产或销售古古怪怪的全部产品的“大类”组成;
可以用一个口语话的词来表示那句话:产品结构,即指企业生产或销售的全部产品的“大类产品”组成;
你们公司有那些类型的产品?=>产品(大)类/产品系列;
可以用一个书面语来表示上面的那句话:产品线,即指技术和结构上密切相关,具有相同的使用功能、规格不同而满足同类需求的一组产品,产品线内一般有许多不同的产品项目;
可以用一个口语话的词来表示那句话:产品大类/产品类/产品系列,即对产品组合之中工分为多少个不同的大类别;
你们公司这种类别的产品有多少种? 产品项目=>产品大类的品种/产品大类之中的规格;
可以用一个书面语来表示上面的那句话:产品项,即一个产品大类之中,以规格、质量等不同特征,把大类产品分为每个不同的特定的产品;
可以用一个口语话的词来表示那句话:某某产品,即确定的产品。


Marquis:我认为真正的挑战之一就是不知道会遇到什么样的挑战,这些挑战可能是过去没有遇到过的问题。因此,这需要新的解决方案,但是现在没有答案。这会是一项艰巨的任务。
Parker:我认为,在权威地解决这些问题上我们做得还不错。目前仍比较棘手的问题是广告。使用JavaScript实现广告功能,会给页面增加非常多的问题。把这些内容放到沙盒中,并且不把整个页面弄得一团糟的确是一个非常棘手的问题。

Marquis:现在我们有了更好的解决方案。产品经理一般原则是,从用户的角度来看越突出,我们就越成功。我们没有留太多空白,也没有占据整个页面的广告,我们只有两个框式广告和两个悬框广告,这些处理起来都非常简单。我们可以把这些放到沙盒中,以免这些广告破坏网页上的其他内容。
Parker:广告带来的挑战除了广告的技术方面的问题,还需要保证广告按照我们的方案能够运行得很好,这的确非常棘手。而另外一个问题就是广告出售的方式并没有按照我们的方案来实施。他们把空白部分出售给广告商。我们覆盖了如此大的范围,根本没有办法区分他们。对于一个7英寸的Android平板来说,这样合适么?对于Kindle来说合适么?因此,我们只添加一个广告,在页面中使用CSS,使它看上去显得别具一格。你看,这就是单一广告的模式。
设备识别和适应屏幕的尺寸带来的问题
Marquis:到目前为止,我们根据屏幕的尺寸来确定显示什么样内容和提供怎样功能。所以,不存在这样的情况,“OK,如果用户使用的是安卓客户端,他们获取到的是XYZ,如果用户使用iPad,他们获取到其他的内容。”如果用户使用的是触控的设备,特定的功能和意愿需要额外添加Javascript来实现。因此,我们只给特定的用户提供特定的功能。我们不会说iPad用户使用的是这种布局,而是某个尺寸的设备会使用什么样的布局。
  
Parker:我们从没做过用户代理检测,这是个大忌。因此,网站完全是开放式的。我们专注于性能和兼容性,我们检测设备,以便按照其需求动态加载内容。这就是为什么每个设备下载的内容都会有非常简洁的体验。可能这个平板能够支持触摸事件,而另外的一个就不行。由于分辨率的不同,它们获取到的布局就会不同。
Marquis:显然,我们的计划并不包括在所有情况下,任何人都能够使用游戏机打开它,但是,最近有人这样做的时候,它的确表现地非常出色。
Parker:我认为最大的优势就是我们采取的是一个不可知的办法,而不是关注特定用户的需求。我们的方法完全关注兼容性,这样一来,我们使用jQuery的时候,拿到测试设备的时候(我们不间断地拿到这些设备),在这些我们从没见过的设备上进行测试的时候,Globe看上去非常棒,我们不需要担心兼容性的问题。随着设备源源不断地面世,这会是一个兼容的方法,并且能够在旧的设备上使用,因为我们在做渐进式增强。不久之后,在你的Newtons和旧版的Palms,或者类似的设备,都能够阅读Globe。
为什么这个功能现在才实现?
Parker:我想,也许一年半之前应该实现的,这只是把一些技术碎片拼在一起的问题。
Marquis:我认为,之前,某些方面是应该能够实现的。我是说,HTML5为目标功能提供更多可用接口,比如说,检查设备是否提供触屏支持,从技术上来说,这是通过HTML5来实现的,虽然并不是利用HTML5标记来实现的。然而,毫无疑问,HTML5为我们实现特定的下载提供了支持。说到标记本身,HTML5通过另外的语义,为我们提供了很多功能。利用HTML4,这些功能也能够实现,只不过标记并没有那么丰富的语义。
Parker:对于我们来说,我们一直关注通用访问的问题。我们大部分精力都花在这上面,算下来已经有10年了,尤其是我。我想,大多数人只是在把这些技术碎片拼起来的时候慢了一步,现在我们拥有了核心工具,我们需要让这些工具可用。比如说,一年前我们写了一本书,关于渐进式增强。那就是我们创建Globe的基础。以一种简洁、不显眼的方式在CSS和JavaScript上增加简洁语义的HTML语言。现在我们做了更多区分,不如说我们提供更多的兼容性以使用户得到更好的体验。说穿了,我们所做的这些全都取决于用户的屏幕尺寸,下一步,我们将把目标转向布局。
Marquis:我想,我最喜欢举的例子就是我们打算做的填字游戏,看上去就像是网站上的一个小部件一样,我们开始使用由服务器端产生的有丰富语义的标记。因此,不管你的设备的兼容性如何,你都能获取到这个字谜游戏,就像在一张平整的报纸上填答案一样,没有什么区别。今后,如果用户的浏览器支持本地存储,就是浏览器能够存储数据的问题,我们就能添加一个按钮,让用户保存未完成的游戏,下次打开的时候接着玩。

响应设计下一步是什么?
Paker:我们给企业做了很多应用设计,或者类似的内容。在我看来,做更实用的东西会是一个挑战。环球报证明,在内容布局上,可以做出一些很酷的东西来。但是,如果你有一个应用程序,它有丰富的可视化GUI,或者你正在使用类似商务应用的表格数据。我认为这是我们下一件要证明的事情。我有信心能做到的,这只是投入时间去做的问题。我们确实在为一些这个领域的客户,做一些类似的项目。所以,这是一个有趣的时刻。
其他挑战
Marquis:第三方服务是我们遇到的最大挑战之一。仅仅是在提供广告和其它功能上,我们不得不和他们周旋,找到他们默认提供的标记和脚本。
Paker:在设计过程中,需要考虑的一件事就是,目标设备的广泛程度。从智能手机到宽屏桌面电脑,从1200像素到更大的像素。所以,在设计这些网页时,我们思考把这些设计结合在一起会得到什么样的产品。
Globe和Upstatement之间有非常紧密的合作关系,关于屏幕尺寸的问题,还有很多需要完善的地方。我认为,它肯定会改变设计过程,因为这没有人会坚持一成不变的形式。
Marquis:这之间没有一个交接的过程,在你把它交给到下一个团队时,他们仅仅是运行它。他们需要经常性的对话。团队之间需要经常交流。
这时,Filament Group中负责UI的 Scott Jehl,加入了我们的对话,讨论他们在开发中用到的工具。
你们使用的是什么工具?
Scott Jehl:在整个网站中,我们大部分使用的是jQuery,我们在几个地方使用jQuery Mobile,比如,照片和触摸交互。我认为,在加载jQuery之前,我们为代码创建一个自定义框架,来处理JavaScript的动态加载。因此,我们只需要加载很少一部分内容,然后动态加载剩余部分。正是这样的内容使它变得非常迅速。它是一种很不错的行为。
当然,它使主要是jQuery,然后我们在它上面的插件,不仅使布局有视觉上的相应,还有行为上的。改变所有组件的行为、适应触摸、不同的交互和条件,这些都会使情感在确定的内容上而不会在别的方面。
在许多方面,我们使用和其它站点一样的方式来使用jQuery。jQuery本身什么都不做。作为一个框架,它会给你提供可以使用的工具,我们在此基础之上进行开发。我认为最主要的区别,对Globe来说这不是一个独特的功能,我们发现如果我们动态加载jQuery,在老版的设备上会有更好的表现。比如一款老版的Blackberry,4.5或5版,没有运行jQuery。由于网站创建的方式在游戏中会出现延迟,并且在这种设备只总提供基本功能能够有更好的表现。
 更多产品设计方面的内容,欢迎进入课课家教育查询详情,那里有你的好朋友帮你解答你的问题哦。。。


赞(110)
踩(4)
分享到:
华为认证网络工程师 HCIE直播课视频教程