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 的功能,且更好的提供服务,开发上也非常简单。

HTML 5适合小公司,适合在大平台上做内容的更多相关文章

  1. 从 Hadoop 到云原生, 大数据平台如何做存算分离

    Hadoop 的诞生改变了企业对数据的存储.处理和分析的过程,加速了大数据的发展,受到广泛的应用,给整个行业带来了变革意义的改变:随着云计算时代的到来, 存算分离的架构受到青睐,企业开开始对 Hado ...

  2. 微信事业群WXG成立 致力于打造微信大平台

    今天,微信之父张小龙带领微信团队成立微信事业群(WeiXin Group,简称WXG),致力于打造微信大平台,由他们负责微信基础平台.微信开放平台.微信支付拓展.O2O等微信延伸业务的发展,并包括邮箱 ...

  3. 了不起的 Deno:带你极速获取各大平台今日热榜

    摘要:Deno 是一个 JavaScript/TypeScript 的运行时,默认使用安全环境执行代码,有着卓越的开发体验. 有人的地方就有江湖,有江湖的地方就有争论.前些天,继<[译]为什么如 ...

  4. Git各大平台(win/Linux/Mac)图形化界面客户端大汇总

    摘要: 介绍各平台下的图形化界面git客户端(本人并没有全部使用过),欢迎大家补充新的软件或者使用感受~  一.TortoiseGit - The coolest Interface to Git V ...

  5. JVM 平台上的各种语言的开发指南

    JVM 平台上的各种语言的开发指南 为什么我们需要如此多的JVM语言? 在2013年你可以有50中JVM语言的选择来用于你的下一个项目.尽管你可以说出一大打的名字,你会准备为你的下一个项目选择一种新的 ...

  6. 随笔之Android平台上的进程调度探讨

    http://blog.csdn.net/innost/article/details/6940136 随笔之Android平台上的进程调度探讨 一由来 最近在翻阅MediaProvider的时候,突 ...

  7. windows平台是上的sublime编辑远程linux平台上的文件

    sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...

  8. 龙芯GO!龙芯平台上构建Go语言环境指南

    龙芯软件生态系列——龙芯GO!龙芯平台上构建Go语言环境指南2016-07-05 龙芯中科1初识Go语言Go语言是Google公司于2009年正式推出的一款开源的编程语言,是由Robert Gries ...

  9. Go语言在国产CPU平台上应用前景的探索与思考

    http://www.chinaaet.com/article/3000087559 0 引言 CPU是电子产品的核心,代表着信息产业的发展水平.CPU发展至今已经有四十多年的历史了,实际就是Inte ...

随机推荐

  1. xcode下的DerivedData

    在模拟器运行的情况下经常会出现以下的错误: error: remove /Users/mac/Library/Developer/Xcode/DerivedData/YuQing-amkrrucjrn ...

  2. C#可扩展编程之MEF(一):MEF简介及简单的Demo

      在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的 ...

  3. Python-Jsonpath简单入门

    原文来自:http://goessner.net/articles/JsonPath/   JSONPath - 是xpath在json的应用. xml最大的优点就有大量的工具可以分析,转换,和选择性 ...

  4. http协议与servletl理解

    协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器     s ...

  5. Leetcode459.Repeated Substring Pattern重复的子字符串

    给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: 输入: "abab" 输出: True 解释 ...

  6. apk反编译(6)用ProGuard 混淆、压缩代码,压缩资源。

    1.android官方文档 https://developer.android.com/studio/build/shrink-code  主要内容如下: 1.1 压缩代码 混淆生成的文件:<m ...

  7. PHP实现微信申请退款流程实例源码

    https://www.jb51.net/article/136476.htm 目录 前期准备: 前面讲了怎么实现微信支付,详见博文:PHP实现微信支付(jsapi支付)流程  和ThinkPHP中实 ...

  8. 公司-广告-WPP:WPP

    ylbtech-公司-广告-WPP:WPP WPP集团 (LSE:WPP) (NASDAQ:WPPGY),是世界上最大的传播集团,总部位于英国伦敦.WPP集团拥有 60 多个子公司,主要服务于本地.跨 ...

  9. Python执行时间的计算方法小结

    Python执行时间的计算方法小结 首先说一下我遇到的坑,生产上遇到的问题,我调度Python脚本执行并监控这个进程,python脚本运行时间远远大于python脚本中自己统计的程序执行时间. 监控p ...

  10. fastjson string[]转 json字符串

    @RequestMapping(value = "/friendlink_list/province_list", produces = {"application/js ...