2017-06-23
混合app
这段时间在做 app.
混合 app 就是说在页面中使用 webview 一类的组件来在原生 app 中显示网页, 安卓和 ios 都支持. 这其中的优势就很多了, 更新啊, 排版啊, 代码量啊都简单很多. 尤其是 js 相比 java 或者 objc, swift 一路灵活了许多. 在请求中收到奇妙的 json 也可以轻松解开, 而 Gson 虽然强大但是细思恐极, 无法变通.
缺点还是有一些的但是其实还好.
简单的备份一下我的思路吧, 或者说是小提普斯, 以后可以来查.
- 在 ios 端的 wkwebview 下可以用 WebKit 全局变量从 ios 向原生界面发送类似 Event 的东西.
- 在安卓端可以用拦截 Alert 的方法发送 Event.
- 以前据说有一种改变域名然后去读域名的方法, 真的是朴素十分啊.
- 在安卓端我可以通过 webview 类调用 js 中的全局方法, 在 browserify 封装的 build.js 中这实在是很不会用, 一定有什么方法可以将某些函数暴露在浏览器中, 如果不行的话曲线救国可以建立一个隐藏的元素, 赋予其 id 然后连接到 Vue 的某些地方, 然后用原生 html + js 的函数点击它.(这也太不优雅了)
- 使用 Meta 可以限制手机端的拖拽啊, 什么放大缩小之类的, 当然也有其他方法, 比如安卓端的一个类叫啥 chrome setting 可以对容器进行设定来适配所有页面.
- 同样的在 Meta 中可以设置 dpi 匹配值啥的, 如果不设置就会字形极小.
- Browserify 真的超级棒.
- 用虚拟路由可能会导致不可名状的问题, 反正这种页面也不会给用户提供后退之类的借口, 不如就这样吧.