快应用之我见

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

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

快应用之我见_第1张图片
过去1年主流框架的下载量

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

快应用之我见_第2张图片
App架构

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

快应用之我见_第3张图片
WebAssembly is fast

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

  • 任何能编译成WebAssembly的语言都可以用来开发App,不限定编程语言和开发框架;
  • 可以利用现有的JavaScript代码包和开发工具;
  • 用Canvas渲染UI能保证在各种终端上显示的效果是一致的;
  • 兼具高性能和更新程序版本的便利性;
  • 运行时的功能极简,体积小,稳定性高;

你可能感兴趣的:(快应用之我见)