作者
刘望舒
责编
伍杏玲
跨平台技术的诞生
我是年开始从事的Android开发,当时会Android和iOS开发的很少,也不火,所有人都在“摸着河底过河”。项目更没有第三方框架一说,大都是自己写的,不像现在各种的框架满天飞。
随着移动开发的发展,互联网公司也是层出不穷,有些公司迫于竞争,想要更迅速更省成本地进行开发,就不再满足Android端一套代码,iOS端一套代码。
与此同时,其他技术领域和各大公司也都觊觎着这份大蛋糕,纷纷推出相关的技术,这样跨平台技术应运而生,并且开始在公司中生根发芽。
Android和iOS生态太大了,我们可以把它们比作第一级生态。也有技术想要颠覆这两个系统的曾经出现过,但都失败了,因此建立次级生态是最稳妥的策略。
Android平台更加开放,因此次级生态的中心就是Android,次生态的形式多种多样,比如在Android系统的基础上建立自己的生态,再或者推出各种跨平台技术建立生态。
跨平台技术产生的框架实在太多了,很多还没等我们去学去了解,它们就没落了,成为了跨平台技术的发展的一个过度产物。跨平台技术的产物是不靠谱还是趋势,我想读完本篇文章你会有自己的理解。
跨平台技术的分类没有标准的答案,这里把它们分类为5种,分别WebApp、HybridApp、语言编译转换、原生渲染、自绘UI。
WebApp
WebApp是指基于Web的应用,运行于网络和标准浏览器上,相当于一个网页然后加一个App的壳。年HTML5的标准规范制定完成,在网络舆论上WebApp大有取代NativeApp的气势,但WebApp有以下缺点,使得它始终是“主角的心,配角的命”:
性能低,操作体验不好无法调用原生API,很多功能无法实现依赖于网络,网速慢时体验很差,并且没有离线功能,优化不好的话会消耗流量只能做为一个临时的入口,用户留存率低在WebApp的基础上,又出现了几个进化者,这里主要介绍PWA。
PWA
PWA(ProgressiveWebApp)意为渐进式增强Web应用,它不是一门技术,而是一个概念,使用多种技术来增强WebApp的功能:
用ServiceWorker+HTTPS+CacheApi+indexedDB等一系列Web技术实现离线加载和缓存实现了推送和通知可以直接添加到手机的桌面上使用ServiceWorker可以进行后台同步总结起来,PWA的主要的能力就是离线、推送、桌面访问,可以说PWA赋予WebApp原生的体验,但是PWA一直不温不火的原因主要有以下几点:
游览器对PWA技术支持还不够全面,不是每一款游览器都能%的支持PWA国内一些手机厂商对Android系统各种魔改,对PWA的兼容性不好,甚至不支持PWA平台的竞争,iOS对PWA的支持力度远远低于Android,所以PWA在iOS上的体验打了折扣。PWA面对类似的