询问几个小程序的基本问题:
1. 小程序的界面, 其实现机制到底是什么? 例如一个 wxml 页面, 里面含有 button 等各种控件, 在手机上的显示: 是都转换为原生控件, 即类似 App 开发中的 React Native 的原理? 还是自绘控件, 即类似 App 开发中的 Flutter 的原理? 还是一个全屏的 Webbiew (或者上半个屏幕是 Webview, 底部导航栏为原生控件), 即类似 App 开发中的 H5 套壳的原理?
我自己测试, 在安卓手机上, 打开"布局边界显示", 试了一些常用的小程序, 其界面几乎就是一个全屏的控件, 按钮等不是单独的控件.
2. 在问题 1 的基础上, 其它大厂的小程序其界面的背后机制, 跟微信小程序一样吗?
3. 如果有一个已经存在的 Web 项目, 例如可能为 React/Vue, 也可能为 JQuery, 有可能使用其它技术, 甚至可能是纯手写的 HTML/JS/CSS, 已经编译产出了 minify 的 html+js+css, 这些编译产出的 html+js+css 能否转换为小程序的 wxml+wxss+js (先不考虑 API 调用, 仅界面展示)?
4. 在问题 3 的基础上, 如果转换的效果不好, 能否干脆不进行转换, 而是把现有的 html+js+css 包裹在一个 webview 里? 即只需额外写一个简单的 wxml, 这个 wxml 中只有一个 webview 控件, 在这个控件中加载现有的 html+js+css?
5. 在问题 4 的基础上, 如此方式, 性能是否有为影响, 于是又回到问题 1, 如果一个 wxml 的页面本身就是一个全屏的 webview, 那在 wxml 中再套一个 webview, 性能应该一样. 如果 wxml 中的 button 等控件被转换为了原生控件, 那么性能肯定就不一样了. |
|