几篇文章已经基本上把Web App和Native App的优劣讲清楚了。
不过还是想提醒大家注意,Web App,现在有时候也称为轻应用,不仅是通过浏览器就能打开的应用。现在随着HTML 5在手机端的优越性,已经慢慢称为了Web App的主流。Web App除了出现在PC的浏览器中,还大量出现在手机浏览器中或一些平台级应用中,例如微信中大量的交互内容,都属于Web App的范畴。
HTML 5取代的只是之前的HTML和Flash
HTML5是一种彻彻底底的Web技术,包括最新的网页端的脚本语言HTML5语言、Javascript 2.0和CSS 3.0这三部分。HTML5的主要目标是取代原有的脚本语言HTML,提供更好的交互效果和更丰富的API,以及更高的运行效率。
HTML5取代的是很多很多年前产生的HTML版本。熟悉互联网的人肯定清楚,互联网可谓日新月异,但是支撑整个互联网的语言HTML,在HTML5以前却变化不大,这个严重阻碍了互联网本身的发展,这才是产生HTML5的一个根本原因。还有以前也常见Flash的应用场景,会被HTML5取代。
现在对HTML5的指责,主要是针对HTML5的性能,也就是常说的“用户体验”这一方面,由于HTML5是脚本语言,再加上Javascript 2.0实际上还是单线程运行的,运行的效率上客观地讲,确实比不上Native App。但是,如果用HTML5做前端的轻应用,哪怕是在手机上实现,性能已经足够了,这也是为什么越来越多基于HTML5的轻应用出现的手机端的原因。另外,随着浏览器对HTML5的支持越来越好,手机CPU速度越来越快,以及各种引擎对HTML5的优化,用户体验会越来越好。
因此,很多人主观的把整个Native App行业和HTML5对立起来,这本身就是有问题的。 另外,反观Native App,开放应用数量庞大,小团队众多(赚钱的很少),同质化严重,模仿门槛低,刷榜问题严重,都困扰了Native App的发展。
HTML5的新一轮高速增长:微信
下图是今年下半年的HTML5搜索指数,有一个明显的提升。除了基于HTML 5开发的Web本身,随着微信的发展,大量的基于HTML5的内容找到了出口,内容数量疯狂增长中!而现在对HTML5的需求还远远没有得到释放,相信很快很多其它的平台也会支持HTML5的内容,让我们拭目以待!
在社会化媒体和自媒体的大环境下,客户把更大精力放在实用的微信轻应用上,而越来越少直接花钱购买Native App,道理很简单,如果采用Native App的方式,我要传播到1000人,并让他们下载安装是个非常难的事儿,但是如果做成轻应用往朋友圈里一传,可能1万人都很轻易达到。
HTML5慢慢演变为一个刚性需求,在需求旺盛的带动下,前端程序员/HTML5工程师的工资水平原来越高,而且好的还非常难求。另一方面,Android和iOS开发工程师,市场需求已经明显放缓。
更有大量的HTML5的公司顺势而生,做大量的Web App应用。产生HTML5内容的成本也越来越低,伴随这技术的发展,包括国内外都有大量的可视化工具可以快速生成基于HTML5的Web App应用。
对于HTML5被Facebook弃用这件事,除了记住扎克伯格的懊悔之外,我们不能忽略的是还有一篇报道,如下图所示。
这篇报道说明了什么?并不是Facebook本身不用HTML5了,而是Facebook这个Native App不直接采用HTML5的方式开发。这两者的区别可就太大了,这也引出我的下一个问题。
HTML 5适合小公司,适合做内容
我是HTML5的坚定支持者,但是我至少现在还不认为HTML5可以做所有东西,至少一些太过复杂的重度游戏、一些大型的门户(包括上面说的Facebook)、一些涉及高运算或复杂算法的应用,我个人认为至少现阶段还不适应用HTML5去开发。
所以...HTML5和Native App会走向融合 !
HTML5 Web App和Native App各有优势,互为补充,能不能不把技术直接对立起来,而是用技术的进步来解决技术还存在的问题,使二者从对立走向融合。而且我个人觉得结合的场景最好在大型的Native App平台,并且这些平台是可以UGC或PGC产生内容的。
我们以微信为例,微信这个应用本身就是一个Native App,但是在这个巨大的平台里面,又可以容纳海量的HTML5 Web App,这样的轻应用,充分发挥Native App的运行效率,同时又以海量的Web App来扩充其内容,给用户带来更丰富的体验和更优质的交互内容,这样不是很好吗?
现在来看一下如果基于HTML5的Web App和Native App融合,形成一种Hybrid App,会给我们带来什么好处吧:
同时还解决了,海量的Native App利用效率不高的问题,通过Hybrid App内部的Web App来动态提供交互内容,而不是安装按量的Native App应用。
另外,由于服务的统一性,降低了需要学习每个Native App的用户时间成本。
Hybrid App的优势显而易见,成本低、跨平台、不用下载-安装-更新、动态数据、维护容易,而且有现成的内容出口。而且我们这里的Hybrid App主要是指在大型平台化应用(Native Platform App)结构之下的Hybrid App,可以理解为1个Native App对应N个Web App的结构,或是一个母Native App和N个子Web App的结构,而不是简单的把Web开发和Native App开发做一个结合。
在技术上,Hybrid App的架构好处也显而易见,例如,HTML5不能自动播放语音或视频,但是微信可以。同时,微信也开放各种接口给内部的Web App调用,这样就扩展了原生的HTML5 Web App的功能,且更好的提供服务,开发上也非常简单。
本文作者是孟智平,VXPLO 互动大师 CEO,邮箱:troy@vxplo.com
致歉:36氪上周发表的一篇讨论HTML5未来的文章《Web与App的未来不是生死之争,而是融合,腾讯就在这么干》是根据笔名为Hans的作者(移动互联网从业者,微信号1396255225)之前的投稿修改,调整了文章结构、更换了标题,导致部分观点的表述和原文有所出入。在等待Hans邮件审核的时候编辑误触发表,虽然责任编辑一经发现后马上撤下,但是还是给Hans本人带来困扰。对本文对Hans可能造成一切损失表示歉意,同时责任编辑会承担相应处罚,未来我们也会加强和投稿者的沟通,优化流程,保证此类事件不再发生。再次同时向36氪的读者和Hans致歉。
顾Flash已走过的21年历程,其经历了三次成功高峰,分别是1999年的网络动画时代,2005年的Flash Video时代与2008年的Web Game时代。这三次互联网领域的高峰,全部都被Flash赶上(不得不说命好运也好),并且这三次成功,引领了Flash在生命周期中的一次又一次产品形态上的变化。
纵使Flash在PC上有过三次辉煌,但其并未真正的赢得过移动市场。在PC发展逐渐落后移动的今天,HTML5在跨屏,交互等方面的绝对优势,使得其正在逐步替代Flash。小Mo整理了来自知乎上马鉴对于二者的观点,共同分析未来到底是Flash还是HTML5的时代。
Flash命途多舛的这几年
业界普遍认为从苹果乔布斯发布了一篇关于Flash的檄文后,Flash开始走了下坡路。纵使当年Adobe用了“We Love Flash,We Love Apple”极富煽情的公关方式来应对,然并卵,Flash错过了移动市场上的第一个大腿iOS。因为苹果iOS不支持FlashPlayer,MacOSX系统也不提供面向Flash Player的视频硬件解码能力调用,Adobe官方无奈宣布终止Flash Builder的开发计划,对Android系统停止开发后续Flash Player版本。再后来,FireFox、Google Chrome也将Flash内容默认关闭。这一系列坏消息合在一起,让我们不得不相信Flash这个平台型的技术已经进入了最后的生命周期。
HTML5的天然优势
HTML5狭义上是超文本链接标记语言第5版,单从名字上并无神奇之处。但广义而言,HTML5代表了新一代的HTML,CSS和JavaScript技术的总和,它可以跨平台,在屏幕尺寸和分辨率林林总总的移动设备上简直就是天生的优势。而且,随着硬件计算能力的飞速提升、移动网络的速度飙升和使用成本的大幅度降低等都不再成为关键性因素,使得占据上述优点的HTML5在经历了2012-2013年重大技术低潮后卷土重来。
HTML5已经重回轨道,未来取胜的关键则在移动领域。PC发展落后于移动已经是事实。今天,人手至少一台智能手机,移动流量超越了PC流量。技术为业务服务,业务由市场导向。任何人都需要通过移动设备连接世界,获取信息。这个基于Touch的市场机遇远大于使用键盘鼠标的PC领域,每天若干的创新都在这里出现,内容层出不穷,且这个领域的内容呈现需要高度的跨平台,跨设备的适配性。HTML5开放性的Web技术也自然成为这些创新的主要技术方案。
HTML5已经替代Flash了吗
既然,HTML5听起来有这么优点,它可以取代Flash了吗?答案是否定的。PC某些垂直领域在几年内仍然无法摒弃插件体系,尤其是页游市场。国内目前的页游市场是几百亿人民币的规模,而这个领域使用Flash Stage3D技术已经根深蒂固,从游戏创作的技术工作流程和性能要求上,HTML5的能力目前还无法达到那个高度,光从Flash Stage3D可以在PC调用DirectX和OpenGL,而HTML5只能调用WebGL这点来看就被完爆。而且Adobe Flash播放器已经在PC领域渗透超过10亿台终端,这个市场占有率还不能短时间内被取代。
制约HTML5广泛普及的几个关键
1、HTML5的标准化的能力推进需要更多参与制定厂商的通力协作,尽快实现更多具有前瞻创新技术标准草案的落地。当未来PC和主机游戏,甚至手机原生游戏都更多的可以从下一代DX和Vulkan技术中全面获益,获得飞一样的提升时,HTML5的开发者们仍在为越来越多的设备终端支持WebGL而沉浸其中。所以,HTML5技术想要大成,不仅标准化的普及要快,功能性的创新也同样要快。
2、从目前来看,各行各业最顶级的创意开发工具,没有一个是专门为HTML5技术而生的。Web前端开发用各种script editor,配合浏览器的developer tools,再配以各种node上的testing,build和publish工具,通过Phonegap或者Cordova类似的打包来完成工作。这种工作流虽然很好,但这是因为业界本就没有针对HTML5更高效专业的工作流。HTML5技术领域的创新绝对不能忽略更高度更自动化的工作流,这是一个高度繁荣市场的终极需求。
HTML5是技术标准,Flash是Adobe自家的产品,二者本身概念就不同。虽然HTML5看似已经成了移动市场上实现网络富媒体交互技术的好选择,但是HTML5的技术未来并不是想象中的那么乐观,前路依然任重而道远。未来很长的时间里两者依然并存,但可以预见,Flash会越来越专业、小众,HTML5会更加普及、强大。
本文由移动营销第一媒体Morketing(微信号:morketing)原创,部分观点整理自知乎网友马鉴,转载请注明出处。
lash Player是一个耳熟能详的名字。1997年问世Flash陪伴着一代网民的成长,这其中就包括了00后的我。Flash由著名公司Adobe运营并开发,内置了脚本语言AS,由于其使用矢量图形实现数据最小化,在低速互联网时代成为了开发互联网应用程序、视频音频的绝佳工具,甚至沿用至今。
我很早接触PC和互联网,也有着开启电脑先要“本地连接”的经历,更清晰地记得Office 2000中那摇头晃脑的回形针(Office Assistant)以及瑞星小狮子。如今的我熟练运用Photoshop的图层蒙版,也熟悉Android Studio的开发环境和反编译,同时懂些Linux的皮毛,但是毕竟我才学疏浅,若有纰漏和错误欢迎指出。
为什么我们要弃用Flash?
于官方宣传全球十几亿用户的光环下,2010年4月Apple前CEO史蒂夫·乔布斯发表了一封著名的公开信,批评了Flash的安全性和稳定性,并指出不会在任何Apple的移动端设备上支持Flash。在此之前的二月,Adobe因为没能修复Flash已知漏洞一年而道歉。
由于Flash数以百计的安全漏洞,昔日的王者竟成了骇客的温床——2009年Adobe公司亲自承认“Flash Player所列出的所有互联网技术(包括网络插件和浏览器)的漏洞数量排名第二”。著名安全公司卡巴斯基也于2012年的报告指出“Flash Player漏洞使网络犯罪分子能够绕过集成到应用程序中的安全系统。”随后曝光的漏洞“Magnitude”又能轻易地让骇客远程执行代码。
可以说安全性的Flash最大的问题,然而弃用Flash的理由远不止这一点——Flash的隐私性同样被人诟病。
Flash在计算机本地保存数据,由于站点可以通过Flash cookies检索其他站点保存于本地的用户信息,例如身份验证信息、游戏高分或保存的游戏、基于服务器的会话标识、站点首选项、已保存的工作或临时文件,从而建立用户档案,甚至出售用户数据。如今在Chrome等著名浏览器的最新版本中Cookies的本地储存功能已被禁用。
随着比Flash更优秀的后来者HTML5标准制定的完成,Flash的处境显得尴尬透顶。根据Wikipedia的释义:“HTML5是HTML最新的修订版本,由万维网联盟(W3C)于2014年10月完成标准制定。目标是取代1999年所制定的HTML 4.01和XHTML 1.0标准,以期能在互联网应用迅速发展的时候,使网络标准达到匹配当代的网络需求。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少网页浏览器对于需要插件的丰富性网络应用服务(Plug-in-Based Rich Internet Application,RIA),例如:Adobe Flash、Microsoft Silverlight与OracleJavaFX的需求,并且提供更多能有效加强网络应用的标准集。”
用浅显易懂的话来概括,即“HTML5是一种功能上能代替Flash,性能、安全性及隐私性均大幅超过Flash的标准”。
最近Flash发生了什么?为什么重新被推上风口?
2018年2月28日,上海剑圣网络科技有限公司(即2144游戏)宣布获得了Adobe Flash Player在中国大陆地区的独家代理发行权。中国大陆的用户在访问Adobe Flash Player的下载页面时,将强制跳转到2144域名下的下载页面,同时会默认捆绑2144游戏中心,且取消捆绑安装的复选框位置隐蔽。近日网友发现大陆定制版Flash用户协议区域比Adobe公司的原版下载页面多了一条的《Helper Service服务协议》。
该协议的其中一部分写道:
2.2只要用户开始使用程序,即表示用户无条件的接受了本协议的相关规定并愿意受其约束,否则用户无权使用程序。
3.1这款程序是重橙提供的一款为用户更好的使用Adobe Flash Player的必要程序,没有程序,Adobe Flash Player无法运行。其功能包括但不限于辅助Adobe Flash Player的更新升级等。
3.3用户同意本协议,使用程序,表示重橙已经明确告知用户,随着Adobe Flash Player版本的更新,程序将会自动静默安装新版本的Adobe Flash Player。
5.1用户同意本协议,使用程序,表示重橙已经明确告知用户,在用户使用Adobe Flash Player过程中,重橙可能会通过该程序收集用户的上网信息,以便为用户提供更好的产品和/或服务并改善用户体验。
5.2重橙承诺采取必要措施保护用户存放在服务器上的个人数据及收集到的用户上网信息的安全。除本协议约定的除外情况,重橙保证不对外公开或向第三方提供、公开或者共享用户的数据及上网信息。
5.3以下情况,重橙对用户的个人数据及上网信息的披露将不视为违约,具体包括:
(1)重橙已经获得用户的明确授权;
(2)根据有关法律法规的要求,重橙负有披露义务的;
(3)司法机关或行政机关基于法定程序要求重橙提供的;
(4)为维护社会公共利益及重橙合法权益,在合理范围内进行的披露;
(5)重橙可能会和第三方合作向用户提供相关网络服务或者其数据收集工具用以完善自身服务,在此情况下,如该第三方愿意承担与重橙相等的隐私保护责任的,则重橙可在合理范围内对用户信息进行披露;
(6)其他必须披露用户数据和上网信息的情况。5.4尽管重橙已经为用户的隐私权做了极大努力,仍然不能保证现有的安全措施使用户数据等不受任何形式的损失。用户对此情况充分知情,且不会因此追究重橙的法律责任。
经过简单的阅读就可以轻易得知,该公司按协议收集用户数据时、或是不慎将用户隐私泄露后也不愿负任何法律责任。
按Wikipedia的记录,中国大陆用户最后一个能正常安装使用的ActiveX和NPAPI版本是28.0.0.137,之后的版本均带有2144的进程“FlashHelperService.exe”,且无法关闭,如果关闭进程则Flash内容就会拒绝显示。Google Chrome自带的PPAPI版本不受影响。从Flash Player 30起,中国大陆的ActiveX、NPAPI和Win10上的PPAPI版本开始实行锁区策略,分成了全球版和大陆版两个独立的版本,即大陆用户无法安装运行全球版,中国大陆以外的用户无法安装运行大陆版。
在此事被曝光不久后中国定制版的Flash立即修改了用户协议,可谓是做贼心虚。除此收集隐私以外,经过笔者的实际测试,中国定制版的Flash时不时会给你于桌面右下角推送广告。
当然对此IT之家也给出了相应的解决方案,我不敢对此妄加评论(原因参照知乎),但是我只想说一下这件事情和一家名叫”苏州思杰马克丁“的公司有着千丝万缕的关系,感兴趣的朋友可以在知乎、Google上阅读相关内容。
弃用Flash的道路依然艰险
正是由于Flash的种种缺点,正是由于HTML5的种种优点,处于糟糕的国内互联网生态下,HTML5始终得不到全面推广,Flash依然广泛使用。Flash是网页牛皮藓们——贴片小广告的最爱,同时仍是少数几个国内视频网站的盈利大杀器。当你屏蔽了Flash,你也许会感觉整个世界都清净了。
每当我想要看CCTV5直播时,打开央视电视直播就必须启用Flash;打开教育局官网查询比赛程序,却发现网页内容七零八落——同是没启用Flash。在国际上极度打击Flash,Google、Microsoft、Facebook和Apple等强强联手推广HTML5时,国内生态让人心寒。多数国产主流浏览器仍默认启用Flash插件,流氓软件横行,网络安全更是无处谈起。同国内的Android生态一样,Windows生态也很糟糕,Flash仍是主流。在此特别点名表扬哔哩哔哩、微博(手机网页端)等国内优秀的HTML5站点,也希望这些站点能高举新技术好生态的旗帜,给中国网民更好的互联网环境。
另外值得一提的是,我国落后的信息技术教育助长了互联网流氓的嚣张气焰。作为一名准高中生,我发现我们的高中重要课程“技术”依然教授着古老的“Flash CS3”这种被淘汰了不知道多少年的课程。如同我当年学习信息奥赛时使用的、至今仍被传授给广大学生的古董级语言Pascal(不过即将被取缔),我不希望10后、20后继续学习诸如这类出现在父母大学课本里的古老“高新技术”。
22年了,Flash。你的时代,你的王朝已经结束了。
你永远活在我们的记忆里,或是那一个个网页小游戏,或是厌恶至极的网页广告都将会成为我们津津乐道的往事。
我希望和你说再见。
本文作者ZeroSimple,授权IT之家发表,如需转载请联系Email:hqf0327g@gmail.com,私自转载原作者将追究责任。
*请认真填写需求信息,我们会在24小时内与您取得联系。