客户端应用的组件化框架的设计与实现
发布时间:2021-01-06 12:48
近几年来,移动互联网发展迅速,移动客户端技术也日新月异,客户端应用的数量和质量都呈现出快速增长和提高的态势。一方面,这些应用向用户提供尽可能丰富的功能,应用的业务逻辑也随之变得越来越复杂,工程规模也越来越大。另一方面,激烈的竞争也导致产品排期十分严苛,尤其是经常举办大促活动的电商类应用。采用传统开发模式的大型项目由于严重的模块耦合,在开发效率、稳定性、易维护性与扩展性方面都存在严峻挑战。因此,为了解决传统开发模式与紧耦合架构带来的这些问题,本文将结合阿里巴巴零售通客户端工程,借鉴并改进产业界的主流组件化思想,设计实现电商类客户端应用的通用组件化框架LSTMux。LSTMux框架旨在解决大型客户端项目在传统开发模式与紧耦合架构下遇到的问题,提高工程的开发维护效率、稳定性与扩展性,框架是中心服务的松耦合架构。在LSTMux框架中,所有的组件包括组件化框架本身均会打包成二进制的独立工程,这些独立工程导入主工程后以组件形式存在并由LSTMux进行跨组件调用。因此,组件化后的应用的开发过程就像搭积木一样,只需将各个组件集成到主工程供LSTMux框架进行调用即可实现一个组件化的客户端应用原型。本文...
【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校
【文章页数】:83 页
【学位级别】:硕士
【部分图文】:
客户端传统MVC架构关系图
it尔.gg亚太學3:霉_学位论文????能够勉强进行开发,怛是这种紧耦合架构的缺陷会被持续放大,最终导致项??目质量失控《=??对于客户端应用的模块解耦而言,产业界最好的优化方案是过渡为松耦??合的组件化开发架构[7]。受微服务的组件化启发,产业界主流的客户端组件??化方案均是将模块拆分为组件并封裝成二进制的Pod库,这些Pod库采用??Cocoapods工具进行管理和导入(这里的主工程可以看作是一个规模较大的??Pod库)。借助于CocoaPods管理工具,每个Pod库都.是一个相对独龙的小??工程,开发者可以单独开发与部署并完成组件的单元测试,最终的组件化I??程会形成如图1-3所示的工程结构,客户端组件化的难点在于如何构建跨组??件通信机制以解决组件间的双向依赖,即从紧耦合架构过渡为松耦合架构,??需要开发者引入组件化框架来解决跨组件的调用带来的系统耦合问题。??
面三层结构是可以共用的,只有触摸层不闻。下层结构负贵基础服务如文件??管理、内存管理、磁盘I/O等,上晨结构建立在下层服务基础上提供UI控??间、用户交互、文件访问等,整体架构如图2-1所示。??Cocoa?Touch?(?UIKit?^??:?…?;?--?_??Media?「Core?Graphics?J??(?Core?Animation?J??V???-?V--?.'、??;?v?-????-?■?——J?-?J??.U-?-?-v:--'-?1;^??Core?Services?C?Core?Data?):??;.^?....??〔Foundation?)??r ̄???:???>??Core?OS??V?--?'?:???-??'???:?;?y??图2-1?iOS系统架构图[1G]??-11?-??
【参考文献】:
期刊论文
[1]微服务架构研究概述[J]. 李春霞. 软件导刊. 2019(08)
[2]基于git工具的多分支并行开发上线流程[J]. 田江涛. 电子技术与软件工程. 2019(05)
[3]现代跨平台开发技术在移动终端层面的应用[J]. 周雪. 现代工业经济和信息化. 2019(01)
[4]互联网时代的口碑营销及应用策略[J]. 吕艳. 现代营销(下旬刊). 2019(02)
[5]移动云安全性问题初探[J]. 王志泉. 湖北第二师范学院学报. 2019(02)
[6]移动应用软件性能测试技术[J]. 罗勇. 电子技术与软件工程. 2019(03)
[7]基于UIkit和Foundation框架的移动短视频社交软件设计与实现[J]. 田阳光,李媛,王洁. 河南科技. 2018(31)
[8]基于移动终端的软件测试技术与应用[J]. 陈晓春,汪瑛. 福建电脑. 2018(12)
[9]茧房效应下的新闻APP用户行为分析——以“今日头条”为例[J]. 谷羽,丁梦婷. 华中传播研究. 2018(02)
[10]组件化WEB前端架构设计与实现[J]. 王萌,田杨,李宁宁. 电脑知识与技术. 2018(30)
硕士论文
[1]基于改进MVC的京东商城主页iPhone客户端的设计与实现[D]. 王琦.东北大学 2016
本文编号:2960598
【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校
【文章页数】:83 页
【学位级别】:硕士
【部分图文】:
客户端传统MVC架构关系图
it尔.gg亚太學3:霉_学位论文????能够勉强进行开发,怛是这种紧耦合架构的缺陷会被持续放大,最终导致项??目质量失控《=??对于客户端应用的模块解耦而言,产业界最好的优化方案是过渡为松耦??合的组件化开发架构[7]。受微服务的组件化启发,产业界主流的客户端组件??化方案均是将模块拆分为组件并封裝成二进制的Pod库,这些Pod库采用??Cocoapods工具进行管理和导入(这里的主工程可以看作是一个规模较大的??Pod库)。借助于CocoaPods管理工具,每个Pod库都.是一个相对独龙的小??工程,开发者可以单独开发与部署并完成组件的单元测试,最终的组件化I??程会形成如图1-3所示的工程结构,客户端组件化的难点在于如何构建跨组??件通信机制以解决组件间的双向依赖,即从紧耦合架构过渡为松耦合架构,??需要开发者引入组件化框架来解决跨组件的调用带来的系统耦合问题。??
面三层结构是可以共用的,只有触摸层不闻。下层结构负贵基础服务如文件??管理、内存管理、磁盘I/O等,上晨结构建立在下层服务基础上提供UI控??间、用户交互、文件访问等,整体架构如图2-1所示。??Cocoa?Touch?(?UIKit?^??:?…?;?--?_??Media?「Core?Graphics?J??(?Core?Animation?J??V???-?V--?.'、??;?v?-????-?■?——J?-?J??.U-?-?-v:--'-?1;^??Core?Services?C?Core?Data?):??;.^?....??〔Foundation?)??r ̄???:???>??Core?OS??V?--?'?:???-??'???:?;?y??图2-1?iOS系统架构图[1G]??-11?-??
【参考文献】:
期刊论文
[1]微服务架构研究概述[J]. 李春霞. 软件导刊. 2019(08)
[2]基于git工具的多分支并行开发上线流程[J]. 田江涛. 电子技术与软件工程. 2019(05)
[3]现代跨平台开发技术在移动终端层面的应用[J]. 周雪. 现代工业经济和信息化. 2019(01)
[4]互联网时代的口碑营销及应用策略[J]. 吕艳. 现代营销(下旬刊). 2019(02)
[5]移动云安全性问题初探[J]. 王志泉. 湖北第二师范学院学报. 2019(02)
[6]移动应用软件性能测试技术[J]. 罗勇. 电子技术与软件工程. 2019(03)
[7]基于UIkit和Foundation框架的移动短视频社交软件设计与实现[J]. 田阳光,李媛,王洁. 河南科技. 2018(31)
[8]基于移动终端的软件测试技术与应用[J]. 陈晓春,汪瑛. 福建电脑. 2018(12)
[9]茧房效应下的新闻APP用户行为分析——以“今日头条”为例[J]. 谷羽,丁梦婷. 华中传播研究. 2018(02)
[10]组件化WEB前端架构设计与实现[J]. 王萌,田杨,李宁宁. 电脑知识与技术. 2018(30)
硕士论文
[1]基于改进MVC的京东商城主页iPhone客户端的设计与实现[D]. 王琦.东北大学 2016
本文编号:2960598
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2960598.html