一、老项目现状及痛点
1.1 现状
项目是一款目的地旅游场景下的APP,包括Android和iOS平台。项目从2023年2月开始,为了节约成本,快速迭代开发,经过一周的技术选型和调研,依然决定采用混合式开发框架。
技术栈
java、kotlin、objective-C、mpaas、uniapp、vue3、gradle、CocoaPods、Shell、Node、gitlab-running
iOS
主项目使用objective-C代码搭建宿主应用,接入阿里云移动端mPaaS框架。部分要求性能较高的采用原生代码开发,如主界面、登录注册、Push、支付、第三方登录、IM等。
Android
主项目使用java和kotlin代码搭建宿主应用,同iOS平台一样,接入阿里云移动端mPaaS框架。
mPaaS
除了主界面Tab和部分性能要求高的页面外,其他所有页面均使用mPaaS框架进行展示。主要使用mPaaS离线包和mPaaS小程序。其特点是用Vue3进行小程序包页面开发,打包后上传mPaaS后台进行管理,在移动端启动后进行拉取和展示。
uniapp
uniapp具有快速框架搭建,一键生成H5和小程序的能力(生成APP的话性能上和无感更新上满足不了诉求)。uniapp主要用在离线包开发,把业务拆分成小模块生成对应的离线包资源,通过mPaaS提供给APP进行运行。
vue3
开发页面主要使用vue3技术栈,用uniapp搭建框架后,可直接生成微信小程序。
其他
gradle、CocoaPods、Shell、Node、gitlab-running主要用在项目工程化中的构建自动化运行。
1.2 痛点
代码逻辑重复
在APP原生开发过程中,每次在iOS开发完的功能逻辑在Android端也要实现一遍,很多像网络数据获取、业务逻辑处理、交互界面都是重复的,感觉有写两遍的冗余感。另外,每次改Bug都会在同样的位置不同端修改2遍


57

被折叠的 条评论
为什么被折叠?



