快应用之我见

为了对抗微信小程序,安卓手机厂商联合起来推出了快应用,这是好事一件,但快应用的实现方式在我看来并不是一个最佳的方案。

首先,既然是对抗小程序,就不应该学小程序的那一套类似于 Vue 的开发框架,而应该采用 React 框架。因为 React 组件化且函数式编程的方式,更加灵活且便于维护,再加上 css-in-js 的方案,React 整体的开发效率和社区生态明显优于 Vue。

过去1年主流框架的下载量

其次,开发框架本身就在不断演变和进化,快应用做成就是一个 DOM 和 JavaScript 的运行时加上 native 的操作手机硬件的能力,类似于PWA,不限定开发框架,岂不更好?

App架构

再次,WebAssembly 目前风头正劲,得到了主流浏览器和开发者的支持,如果快应用支持并拓展 WebAssembly 的能力范围,用户将得到更小的程序体积和更快的执行速度,这样的话在技术创新方面就会处于一个领先地位。

WebAssembly is fast

我的设想是构建一个JavaScript+WebAssembly+Canvas的运行时,启动后先运行本地缓存的App代码,然后从服务器端检测App是否有更新,如果有则下载和运行新版的代码。这样做的好处是:

  • 任何能编译成WebAssembly的语言都可以用来开发App,不限定编程语言和开发框架;
  • 可以利用现有的JavaScript代码包和开发工具;
  • 用Canvas渲染UI能保证在各种终端上显示的效果是一致的;
  • 兼具高性能和更新程序版本的便利性;
  • 运行时的功能极简,体积小,稳定性高;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,982评论 25 708
  • 网络协议最底层是物理层(Physical layer),该层关注的是单个比特在物理信道上的传输。传输信道分为三类:...
    Taeyeon37阅读 2,383评论 0 1
  • 时间很晚 手机充电 这是手机爱上电池的牺牲 三月怀胎 年底出生 这是妈妈爱上宝贝的情愿 相隔千里 每天视频 这是夫...
    布老头和他的家人们阅读 155评论 2 0
  • 昨天我们女儿晚上又吵着不想去学校了,找各种理由,让我意外的是,我老婆竟然说,她不想就算了,放纵她一次,因为她刚上学...
    迅雷不及燕儿阅读 269评论 0 0