关于wepy:从-wepy-到-uniapp-变形记
作者:vivo 互联网前端团队-Wan Anwen、Hu Feng、Feng Wei、Xie Tao进入互联网“下半场”,靠“人海战术”的研发模式曾经不再具备竞争力,如何通过技术升级晋升研发效力?前端通过Babel等编译技术倒退实现了工程化体系降级,如何进一步通过编译技术赋能前端开发?或者咱们 wepy 到uniapp 编译的转换实际,能给你带来启发。 一、 背景随着小程序的呈现,借助微信的生态体系和海量用户,使服务以更加便捷形式的触达用户需要。基于此背景,团队很早布局智能导购小程序(为 vivo 各个线下门店导购提供服务的用户经营工具)的开发。 晚期的小程序开发工程体系还不够健全,和当初的前端的工程体系相差较大,体现在对模块化,组件化以及高级JavaScript 语法个性的撑持上。所以团队在做技术选型时,心愿克服原生小程序工程体系上的有余,通过比照最初抉择了腾讯出品的 wepy 作为整体的开发框架。 在我的项目的从0到1阶段,wepy 的确帮忙咱们实现了疾速的业务迭代,满足线下门店导购的需要。但随着工夫的推移,在技术上,社区逐渐积淀出以 uniapp 为代表的 Vue 栈体系和以 Taro 为代表的 React 栈跨端的体系,wepy 目前的社区活跃度比拟低。另外随着业务进入稳固阶段,除大量的 wepy 小程序,H5 我的项目和新的小程序都是基于 Vue 和 uniapp 来构建,团队也是心愿对立技术栈,实现更好的跨端开发能力,升高开发和保护老本,晋升研发效率。 二、思考随着团队决定将智能导购小程序从 wepy 迁徙到 uniapp 的架构体系,咱们就须要思考,如何进行我的项目的安稳的迁徙,同时兼顾效率和品质?通过对以后的我的项目状态和技术背景进行剖析,团队梳理出2个准则3种迁徙思路。 2.1 渐进式迁徙外围出发点,保障我的项目的平稳过渡,给团队更多的工夫,在迭代中逐渐的进行架构迁徙。心愿以此来升高迁徙中的危险和不可控的点。基于此,咱们思考两个计划: 计划一 交融两套架构体系 在目前的我的项目中引入和 uniapp 的我的项目体系,一个我的项目交融了 wepy 和 uniapp 的代码工程化治理,逐渐的将 wepy 的代码改成 uniapp 的代码,待迁徙实现删除 wepy 的目录。这种计划实现起来不是很简单,然而毛病是治理起来比较复杂,两套工程化管理机制,底层的编译机制,各种入口的配置文件等,治理起来比拟麻烦。另外团队每个人都须要消化 wepy 到 uniapp 的畛域常识迁徙,不仅仅是我的项目的迁徙也是常识体系的迁徙。 计划二 设计 wepy-webpack-loader 以 uniapp 为工程体系根底,外围思路是将现有 wepy 代码融入到 uniapp 的体系中来。咱们都晓得 uniapp 的底层依赖于 Vue 的 cli 的技术体系,最底层通过 webpack 实现对 Vue 单组件文件和其余资源文件的 bundle。 ...