现状及问题
项目组前端比较少,为了快速开发,使用的是uniapp来发布多端项目,uniapp目前无法整合web,所以web端使用的是付费的iview-pro组件库来实现。
因为项目需求变动比较快,为了避免一套逻辑实现多次,使用的是嵌入的方式来复用web和uniapp相同的功能。
这会有如下几个问题:web端的SPA在初次加载时很慢,白页时间很长,用户体验不佳
通过自适应的方式适配手机和PC端,前端开发需要考虑两端,工作量较大,部分情况下,调整的难度可能并不比写两套页面简单。最终适配效果也不一定理想
嵌入页面与父页面的交互复杂,需要使用各种通信机制来处理通信,对前端要求较高,且不易于测试。流程上需要考虑多端,增加思考负担
webview缓存问题,加载的页面可能会有缓存,导致不手动刷新无法清除缓存(部分情况即使刷新也无法清除缓存)
同时还有项目混乱的问题:uniapp和web端项目结构不统一
功能相同的组件有多套
uniapp无法自动发布,需要基于HBuilderX打包后才能发布
目标
鉴于上面的问题,考虑在不增加前端开发负担的情况下,解决这些问题,期望:一套代码在web和uniapp中公用,避免相同的功能在web和uniapp重复实现
只需要考虑单端流程,不需要考虑多端流程,降低前端思考负担(目前使用的嵌入方式是需要考虑多端流程和问题的,无形中增加了前端的思考负担)
统一web和u