本文主要包含zhihu,people,http,com,www等相关知识,匿名希望在学习及工作中可以帮助到您
注:问题来自「知乎圆桌」? 移动变局下的机会选择:非移动开发者向移动转型主题讨论,由CSDN和《程序员》杂志总编辑刘江老师提问。参与嘉宾包括:
HTML5作为开放式标准,成效是明显的。如同现在浏览器继续分化的情况下,但兼容性却呈现出越来越好的优势。现在做网站的同学们应该感到高兴。
但开放式标准带来的问题是,没有能真正提供一个好生态环境及开发体验。
Google在这上面做出了很多贡献,他给你看了很多酷炫的应用,但从没有告诉过你这些应用是怎么做出来的。这就是缺乏统一或是真正好用的开发体验,对于开发者而言显然是不公平的。其它厂商也是。
而封闭的标准:Apple的iOS快速的形成了自己的生态圈 ,当年的Flash也很快的降低了大家在交互式界面的入门门槛形成了多年的繁荣。
而HTML5现在还是各自为战,相对于其它平台无论是Runtime还是IDE,每年一个或几个版本的迭代速度,HTML5在向前前进的路上,的确慢了很多。
很多开发者是不是都有:“我不知道该用HTML5做什么” 的感觉。 由于桌面浏览器多被IE霸占着,所以HTML5可以另外发展的地方是移动终端。现在的移动终端多为IOS或者android系统,就算是低版本的android不支持HTML5,在高版本中也可以解决这个问题。毕竟浏览器是直接绑定在移动系统中的,所以要升级到新版本并不难。
但是,移动端的浏览器支持HTML5是不是划算呢?有哪些好处?
(特性参考了腾讯CDC的HTML新特性介绍 http://cdc.tencent.com/?p=4012 )
首先,HTML5的video标签是一个特色,但是除非是在有wifi的地方,大家也不太可能用pad或者手机上网看视频。所以,这一方面还有待基础设施的建设发展,比如像杭州的wifi热点覆盖等。在基础设施发展到一定阶段,带宽占满,按流量收费改为包月或者计时收费时,大家普遍地用移动设备在线看视频这件事才会产生。
其次,绘图功能。流畅的绘图功能需要图形处理器的支持,手机上现在也越来也多的为了游戏效果而加GPU,所以对HTML5的绘图功能应该是可以很好支持的。
再次,位置服务。LBS(基于位置的服务)是现在的一大热门,也是一种手机功能的革新。HTML5本身就带有Geolocation API,允许用户共享现在所处的位置,并且获得其他的服务。移动性,这一点是桌面浏览器上的HTML5所不具备的优势。
最后,离线存储。这一特点对移动WEB应该的帮助也是显而易见的。移动端WEB应用由于费用的原因比桌面WEB应用更珍惜用户的流量。离线存储可以将js文件、CSS文件甚至是一些数据文件缓存在手机上,当数据发生改变时才将改变的部分与服务器进行同步。这样就避免了用户重复从服务器下载相同的东西而导致流量的浪费。
虽说有以上这些好处,但是真实开发手机端的web应用时,调界面这件事很让人头疼。而且很多时候用户的权限是不打开的,比如要使用Geolocation API时……
但我认为,HTML5的标准化还是值得坚持的,现在像是一个过渡期,过渡期的阵痛在所难免。想想当时浏览器各开各花的时候,那也是很头疼的时期,要用各种hacks来达到一样的效果。程序员的工作也很繁杂。所以,还是希望浏览器厂商能协同一致的遵守某个用于页面展现的标准,然后只在速度和解析效率上做竞争似乎会更好一些。 作为一个不怎么关心 HTML5 的移动开发者,这一年我没有看到特别多的针对 HTML5 的正面消息,倒是听到了一些负面新闻。最大的负面消息莫过于 Facebook 开始转而使用 本地 UI 构造 iOS 版的客户端。这和去年乃至前年热火朝天的讨论大相迳庭。
出处(需西厢):http://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-ios/10151036091753920
事实上,我对 HTML5 并不看好。理由是多方面的。
我不是很赞同前面几位朋友提到的 HTML5 对终端设备依赖性较低的说法。从我个人的经验来看,网络连接事实上是移动设备的耗电大户,即使是作为 HTML5 典范的 Chrome for Android 和 Safari for iOS 也不例外。受限于 HTML 协议和 Javascript 贫弱的二进制处理能力,HTML5 应用往往也不能像本地客户端那样使用压缩的二进制协议节约传输时间和带宽,反而需要消耗处理器时间做复杂的 DOM 解析。执行效率偏低姑且不论,处理纯文本 XML 数据带来的带宽消耗也是另一个问题。
至于应用体验,我承认做得好的 HTML5 页面的华丽程度令人惊叹。但问题在于:你究竟要花多少时间和精力才能做出那样的效果?和本地界面相比,完成一样的效果(比如滑动动画)是否确实更简单和高效,是所有人都得考量的问题。在 iOS 和 Android 平台,简单的动画效果几乎无需开发者费心,只要用标准控件就自然拥有。而 HTML5 则恐怕不是。
至于一致的观感,这个问题是见仁见智的。我不愿意强求自己的产品在所有平台上观感一致,因为这样让自己的产品和平台整体观感不符。但我也知道很多人仍然相信软件的界面应该在所有平台上一个样子。这一点我无法说服任何人。我只能说,站在我的角度上看,所谓 HTML5 界面的一致性优势,在我看来反而是个减分项。
大概就是这样吧。桌面系统的生态区别很大,也许会有不同。但这就不是我擅长的领域了。 HTML5本年进展如何?
这一年是其从概念阶段切换到了实操阶段,其中有数个里程碑事件。
首先我们看到越来越多浏览器在努力支持HTML5,新推PC浏览器和手机浏览器也会将HTML5兼容性测试作为重要的指标,业界开始重视,如金山新推猎豹浏览器:http://bbs.liebao.cn/thread-67984-1-1.html
其次是基于HTML5的应用越来越多,尤其是基于HTML5的操作系统的成熟化,包括PC端和移动端。
另外就是HTML5现在发展的不成熟的瓶颈或者障碍,个人认为除了设备性能以及标准外,还有很重要的几点。
基于HTML5的应用的好处@刘铁锋已经提得比较全了,但是HTML5应用最大的一个区别是基于WEB的,计算和数据更多是放在云端,对终端设备的依赖性会比较低,包括计算性能和存储性能。既然是基于WEB的,所以就要一分为二来看。
- 刘铁锋 海豚浏览器 CTO http://www.zhihu.com/people/liu-tie-feng
- 季逸超 Peak-Labs创始人/CEO http://www.zhihu.com/people/ji-yi-chao
- 覃超 Facebook工程师 http://www.zhihu.com/people/qin.chao
- 陈彧堃 友盟技术总监 http://www.zhihu.com/people/chenyukun
- 李建忠 Slideidea 创始人 http://www.zhihu.com/people/jzli
回复内容:
进展很慢。这完全由于所谓开放式标准造成的。HTML5作为开放式标准,成效是明显的。如同现在浏览器继续分化的情况下,但兼容性却呈现出越来越好的优势。现在做网站的同学们应该感到高兴。
但开放式标准带来的问题是,没有能真正提供一个好生态环境及开发体验。
Google在这上面做出了很多贡献,他给你看了很多酷炫的应用,但从没有告诉过你这些应用是怎么做出来的。这就是缺乏统一或是真正好用的开发体验,对于开发者而言显然是不公平的。其它厂商也是。
而封闭的标准:Apple的iOS快速的形成了自己的生态圈 ,当年的Flash也很快的降低了大家在交互式界面的入门门槛形成了多年的繁荣。
而HTML5现在还是各自为战,相对于其它平台无论是Runtime还是IDE,每年一个或几个版本的迭代速度,HTML5在向前前进的路上,的确慢了很多。
很多开发者是不是都有:“我不知道该用HTML5做什么” 的感觉。 由于桌面浏览器多被IE霸占着,所以HTML5可以另外发展的地方是移动终端。现在的移动终端多为IOS或者android系统,就算是低版本的android不支持HTML5,在高版本中也可以解决这个问题。毕竟浏览器是直接绑定在移动系统中的,所以要升级到新版本并不难。
但是,移动端的浏览器支持HTML5是不是划算呢?有哪些好处?
(特性参考了腾讯CDC的HTML新特性介绍 http://cdc.tencent.com/?p=4012 )
首先,HTML5的video标签是一个特色,但是除非是在有wifi的地方,大家也不太可能用pad或者手机上网看视频。所以,这一方面还有待基础设施的建设发展,比如像杭州的wifi热点覆盖等。在基础设施发展到一定阶段,带宽占满,按流量收费改为包月或者计时收费时,大家普遍地用移动设备在线看视频这件事才会产生。
其次,绘图功能。流畅的绘图功能需要图形处理器的支持,手机上现在也越来也多的为了游戏效果而加GPU,所以对HTML5的绘图功能应该是可以很好支持的。
再次,位置服务。LBS(基于位置的服务)是现在的一大热门,也是一种手机功能的革新。HTML5本身就带有Geolocation API,允许用户共享现在所处的位置,并且获得其他的服务。移动性,这一点是桌面浏览器上的HTML5所不具备的优势。
最后,离线存储。这一特点对移动WEB应该的帮助也是显而易见的。移动端WEB应用由于费用的原因比桌面WEB应用更珍惜用户的流量。离线存储可以将js文件、CSS文件甚至是一些数据文件缓存在手机上,当数据发生改变时才将改变的部分与服务器进行同步。这样就避免了用户重复从服务器下载相同的东西而导致流量的浪费。
虽说有以上这些好处,但是真实开发手机端的web应用时,调界面这件事很让人头疼。而且很多时候用户的权限是不打开的,比如要使用Geolocation API时……
但我认为,HTML5的标准化还是值得坚持的,现在像是一个过渡期,过渡期的阵痛在所难免。想想当时浏览器各开各花的时候,那也是很头疼的时期,要用各种hacks来达到一样的效果。程序员的工作也很繁杂。所以,还是希望浏览器厂商能协同一致的遵守某个用于页面展现的标准,然后只在速度和解析效率上做竞争似乎会更好一些。 作为一个不怎么关心 HTML5 的移动开发者,这一年我没有看到特别多的针对 HTML5 的正面消息,倒是听到了一些负面新闻。最大的负面消息莫过于 Facebook 开始转而使用 本地 UI 构造 iOS 版的客户端。这和去年乃至前年热火朝天的讨论大相迳庭。
出处(需西厢):http://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-ios/10151036091753920
事实上,我对 HTML5 并不看好。理由是多方面的。
我不是很赞同前面几位朋友提到的 HTML5 对终端设备依赖性较低的说法。从我个人的经验来看,网络连接事实上是移动设备的耗电大户,即使是作为 HTML5 典范的 Chrome for Android 和 Safari for iOS 也不例外。受限于 HTML 协议和 Javascript 贫弱的二进制处理能力,HTML5 应用往往也不能像本地客户端那样使用压缩的二进制协议节约传输时间和带宽,反而需要消耗处理器时间做复杂的 DOM 解析。执行效率偏低姑且不论,处理纯文本 XML 数据带来的带宽消耗也是另一个问题。
至于应用体验,我承认做得好的 HTML5 页面的华丽程度令人惊叹。但问题在于:你究竟要花多少时间和精力才能做出那样的效果?和本地界面相比,完成一样的效果(比如滑动动画)是否确实更简单和高效,是所有人都得考量的问题。在 iOS 和 Android 平台,简单的动画效果几乎无需开发者费心,只要用标准控件就自然拥有。而 HTML5 则恐怕不是。
至于一致的观感,这个问题是见仁见智的。我不愿意强求自己的产品在所有平台上观感一致,因为这样让自己的产品和平台整体观感不符。但我也知道很多人仍然相信软件的界面应该在所有平台上一个样子。这一点我无法说服任何人。我只能说,站在我的角度上看,所谓 HTML5 界面的一致性优势,在我看来反而是个减分项。
大概就是这样吧。桌面系统的生态区别很大,也许会有不同。但这就不是我擅长的领域了。 HTML5本年进展如何?
这一年是其从概念阶段切换到了实操阶段,其中有数个里程碑事件。
首先我们看到越来越多浏览器在努力支持HTML5,新推PC浏览器和手机浏览器也会将HTML5兼容性测试作为重要的指标,业界开始重视,如金山新推猎豹浏览器:http://bbs.liebao.cn/thread-67984-1-1.html
其次是基于HTML5的应用越来越多,尤其是基于HTML5的操作系统的成熟化,包括PC端和移动端。
- Google近期推出了数款基于CHROME OS的低价ChromeBOOK,主打WEB APP的概念,其主要应用基于HTML5。关于ChromeOS以及“WEB APP”的未来,前段时间还有篇文章:《chrome-is-more-important-to-google-than-android》http://techpinions.com/chrome-is-more-important-to-google-than-android/11575,中译:http://www.huxiu.com/article/5066/1.html ,这篇文章会让我们更加相信HTML5在未来的地位,以及目前它走到了哪里。
- Mozilla将在2013年初推出基于HTML5的手机操作系统FirefoxOS。虽然迟迟没公布正式推出时间,但今日其中文官方微博已公布模拟器下载地址:http://t.cn/zjXsuLH,使用FF的同学可以下载此模拟器感受一下。当然用户体验还是会有差异,我们对其1.0版也不要期待太大。但这个告诉我们一个基于HTML5的手机操作系统的概念。
另外就是HTML5现在发展的不成熟的瓶颈或者障碍,个人认为除了设备性能以及标准外,还有很重要的几点。
基于HTML5的应用的好处@刘铁锋已经提得比较全了,但是HTML5应用最大的一个区别是基于WEB的,计算和数据更多是放在云端,对终端设备的依赖性会比较低,包括计算性能和存储性能。既然是基于WEB的,所以就要一分为二来看。
- PC端,设备性能已经不是瓶颈,而网络接入能力随着宽带的高速化光纤化,也不是瓶颈。所以PC端现在的瓶颈是整个行业对HTML5的支持。除了浏览器本身的