客户端架构

Posted Icarus_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户端架构相关的知识,希望对你有一定的参考价值。

  1. 1、了解移动端架构师需要具备的技术栈与能力
  2. 2、如何从0开始架构一个中大型APP
  3. 3、如何做好项目的技术选型
  4. 4、认识为“好物”项目量身定制的开发套件
  5. 5、HiLog库疑难点分析与架构设计
  6. 6、HiLog基础框架搭建
  7. 7、HiLog堆栈信息打印与日志格式化功能实现
  8. 8、基于HiLogPrinter实现日志可视化模块
  1. 1、HiTabBottom组件疑难点分析与架构设计
  2. 2、HiTabBottom的单Tab组件封装
  3. 3、HiTabBottomLayout封装与应用
  4. 4、APP基础框架结构设计
  5. 5、基于HiTabBottom实现APP底部导航框架
  6. 6、Fragment常见问题解决
  7. 7、HiTabTop架构设计与功能实现
  8. 8、HiTabTop自动滚动功能分析与实现
  1. 1、打造下拉刷新HiOverView视图
  2. 2、实现下拉刷新HiRefreshLayout
  3. 3、HiRefreshLayout调试完善
  4. 4、HiBanner架构设计与ViewPager定制
  5. 5、打造高通用的HiBannerAdapter
  6. 6、实现HiBanner的高度定制
  7. 7、HiBannerDelegate封装与指示器HiIndicator定制
  1. 1、以架构师角度认识Kotlin
  2. 2、Kotlin开发环境搭建技巧
  3. 3、Kotlin必备基础
  4. 4、Kotlin方法与Lambda表达式
  5. 5、Kotlin方法进阶
  6. 6、Kotlin构造方法与继承
  7. 7、深入理解Kotlin抽象类与接口
  8. 8、深入理解Kotlin泛型和注解
  9. 9、让人爱不释手的Kotlin扩展(Extensions)技术探秘与应用
  10. 10、Kotlin扩展案例
  11. 11、Kotlin重构HiCircleIndicator
  12. 12、Kotlin实用技巧
  1. 1、从开机到SystemServer进程及服务创建流程分析【高能预警】
  2. 2、Launcher应用启动之进程启动
  3. 3、ActivityThread源码分析【见微知著】
  4. 4、View树测绘流程分析
  5. 5、页面刷新机制分析
  6. 6、手势分发来源
  7. 7、Activity任务栈管理
  8. 8、FragmentTransaction事务执行流程分析【见微知著】
  9. 9、Fragment页面重叠与新版懒加载
  10. 10、RecyclerView家族图谱分析
  11. 11、RecyclerView源码解析【见微知著】
  12. 12、RecyclerView优化之回收复用机制探秘
  13. 13、高易用HiDataItem组件封装之需求分析
  14. 14、高易用HiDataItem组件封装
  1. 1、架构师该如何选择导航框架
  2. 2、对比Jetpack Navigation和ARouter的差异
  3. 3、架构师如何做好技术选型
  4. 4、Jetpack Navigation架构解析
  5. 5、Jetpack Navigation原理探秘
  6. 6、Jetpack Navigation自定义注解处理器
  7. 7、Jetpack Navigation进阶改造
  8. 8、ARouter的配置用法
  9. 9、ARouter编译时原理分析
  10. 10、ARouter运行时原理剖析
  11. 11、需求疑难点分析及成果展示
  12. 12、基于ARouter实现登录拦截与全局降级策略
  1. 1、多种线程创建方式与对比
  2. 2、线程优先级核心及应用技巧
  3. 3、线程状态剖析及四种方法应用
  4. 4、线程间通信核心
  5. 5、线程安全的本质
  6. 6、线程安全之原子类
  7. 7、线程安全之Synchronized
  8. 8、线程安全之ReentrantLock案例详解
  9. 9、线程安全之共享锁排他锁及锁的设计优化
  10. 10、线程池实现原理剖析
  11. 11、线程池源码分析
  12. 12、线程池中线程复用原理
  13. 13、简洁易用的多线程操作框架HiExecutor封装
  14. 14、探秘Kotlin协程机制
  15. 15、Kotlin协程挂起与恢复原理,逆向剖析还原
  16. 16、Kotlin协程应用
  17. 17、架构师如何做多线程优化
  1. 1、android网络编程核心技术
  2. 2、HiRestful设计思想分析
  3. 3、HiRestful之方法解析器
  4. 4、HiRestful之拦截器派发
  5. 5、从源码到原理剖析Retrofit核心技能 【见微知著】
  6. 6、为HiRestful添加Retrofit支持
  7. 7、自定义View之InputItemLayout
  8. 8、登录模块开发
  9. 9、注册模块开发
  10. 10、接口拦截与路由处理
  11. 11、个人中心模块开发
  1. 1、HiAdapter搭建首页架构需求及疑难点分析
  2. 2、HiAdapter能力升级
  3. 3、HiRecyclerView风骚实现分页预加载
  4. 4、基于HiRecyclerView架构通用列表
  5. 5、首页模块导航与内容需求及疑难点分析
  6. 6、首页模块顶部导航栏与内容区域联动
  7. 7、基于约束布局ConstraintLayout搭建列表Item
  8. 8、首页模块列表数据绑定
  9. 9、首页列表性能优化
  10. 10、用户体验优化之沉浸式
  1. 1、侧边导航菜单HiSlider样式定制
  2. 2、HiSlider数据适配
  3. 3、SpanSizeLoopUp不同寻常实现分组思路
  4. 4、SpanSizeLookUp不同寻常实现分组效果
  5. 5、ItemDecoration实现分组标题
  6. 6、基于HIAbsListFragment快速构建商品列表页
  7. 7、设计开发者支撑工具HiDebugTool并支持Https网络调试能力
  8. 8、Https抓包原理与弱网络场景模拟
  1. 1、Jetpack架构组件库解析
  2. 2、Lifecycle组件架构实现原理
  3. 3、LiveData组件架构实现原理
  4. 4、实现不用反注册,不会内存泄露的消息总线
  5. 5、ViewModel实例复用原理新解析
  6. 6、SavedState组件数据存储与复用原理全解析
  7. 7、Room架构组件原理解析
  8. 8、Room+LiveData监听数据库数据变更刷新页面原理分析
  9. 9、基于Room封装APP离线缓存框架HiStorage
  10. 10、基于HiStorage拓展HiRestful实现接口缓存能力
  11. 11、首页缓存适配和ViewPager刷新调优
  12. 12、基于LiveData实现登陆结果通知和账户信息管理
  1. 1、Android消息机制之消息生产
  2. 2、Android消息机制之消息消费
  3. 3、Android消息机制之ThreadLocal
  4. 4、Android类加载之双亲委派
  5. 5、Android类加载之高阶面试题与源码分析
  6. 6、走进Android热修复世界
  7. 7、Tinker的实战应用
  8. 8、Tinker实现原理之补丁全量合成流程分析
  9. 9、Tinker实现原理分析之动态加载dex实现热修复流程分析

 主流架构演进与项目架构改造

  1. 1、走进Kotlin x Java 设计模式
  2. 2、深入理解Kotlin 与 Java 单例模式
  3. 3、别有洞天的Kotlin装饰器模式
  4. 4、深入理解Kotlin 与 Java 建造者模式
  5. 5、深入理解Kotlin 与 Java 适配器模式
  6. 6、如何利用设计模式进行App架构的设计
  7. 7、通知列表接口系分与资源获取工具HiRes封装
  8. 8、通知列表模块实现
  1. 1、如何理解架构设计
  2. 2、MVC和MVP分析及手写实现
  3. 3、传统MVVM分析及手写实现
  4. 4、Jetpack下的MVVM及手写实现
  5. 5、DataBinding高频用法及传经送宝
  6. 6、基于MVVM模式重构首页模块
  7. 7、从架构师角度理解模块化、组件化
  8. 8、单一工程、模块化、组件化、插件化及容器化分析
  9. 9、基于模块化重构工程结构
  10. 10、从插件化到回归Android标准化
  11. 11、组件化实战封装HiNavigationBar
  12. 12、HiNavBar设计及实现思路分析
  13. 13、HiNavBar实现动态添加按钮&解决标题溢出
  1. 1、高易用高扩展搜索组件HiSearchBar封装
  2. 2、HiSearhView之思路讲解与初始态实现
  3. 3、HiSearhView之关键词实现
  4. 4、搜索模块功能细分与架构搭建
  5. 5、基于MVVM实现实时搜索与商品搜索状态
  6. 6、历史搜索状态设计与实现
  1. 1、走进IOC架构世界
  2. 2、Hilt DI库高频用法传经送宝
  3. 3、Hilt运行时依赖注入实现原理分析
  4. 4、AmountView通用计数器组件设计与实现
  5. 5、设计与实现下单模块
  6. 6、拓展HiRestful支持PUT,DELETE请求
  7. 7、基于Hilt实现收货地址模块
  8. 8、城市选择器组件结构设计实现思路分析
  9. 9、城市数据预处理与持久化
  10. 10、基于HiStorage实现城市选择器组件
  11. 11、地址列表页设计与实现
  12. 12、城市选择组件HiCity封装
  1. 1、如何高效的构建渠道包?
  2. 2、Gradle项目构建基础
  3. 3、Gradle项目构建之Task任务
  4. 4、Gradle 插件开发之Transform
  5. 5、Javassist字节码插桩技术实战
  6. 6、发布Gradle插件到JCenter
  7. 7、基于Jenkins实现持续集成与自动打包、发布及通知
  8. 8、Android library 发布与JCenter
  9. 9、v1、v2签名原理
  10. 10、直面底层还原apk打包流程
  11. 11、APK安全的攻与守

 混合架构设计与开发

  1. 1、架构师该如何高效的学习Flutter
  2. 2、Flutter开发环境搭建及常见问题
  3. 3、走进Flutter的Widget世界
  4. 4、如何进行Flutter布局开发
  5. 5、轻松掌握Flutter调试技巧
  6. 6、基于http库封装Flutter网络层框架
  7. 7、基于dio扩展网络层框架并编写单元测试
  8. 8、推荐模块接口系分与Dao层设计
  9. 9、推荐模块结构框架搭建
  10. 10、推荐模块Item实现
  1. 1、Flutter框架和原理剖析
  2. 2、探析Flutter渲染机制之三棵树
  3. 3、如何在原有的项目中集成Flutter?
  4. 4、复杂场景下的Flutter混合架构设计【秒开性能0损耗】
  5. 5、Flutter与Native通信原理剖析
  6. 6、基于MethodChannel实现Flutter与Naitive通信架构HiFlutterBridge
  7. 7、Flutter推荐模块集成
  8. 8、基于Flutter实现主流的首页架构
  1. 1、Flutter侧鉴权功能实现与登录态同步
  2. 2、收藏模块接口系分与Dao层设计
  3. 3、收藏模块结构框架搭建
  4. 4、收藏模块Item实现
  5. 5、复杂场景下Flutter嵌入Native组件实战
  6. 6、Flutter Native组件的通信功原理与实现
  7. 7、playground模块设计
  8. 8、Flutter性能调优
  9. 9、Flutter引擎加载机制与热更新方案探索
  10. 10、Flutter热更新方案实现与应用
  1. 1、架构师该如何高效的学习RN
  2. 2、RN开发环境搭建及常见问题
  3. 3、RN自定义组件封装
  4. 4、轻松掌握RN调试技巧
  5. 5、基于fetch+promise库封装RN网络层框架
  6. 6、浏览历史模块接口系分与Dao层设计
  7. 7、浏览历史模块结构框架搭建
  8. 8、浏览历史模块Item实现
  9. 9、走进RN社区和其常见组件
  1. 1、RN框架和原理剖析
  2. 2、如何在原有的项目中集成RN?
  3. 3、RN混合架构开发实战技巧【传经送宝】
  4. 4、RN与Native通信原理剖析
  5. 5、基于NativeModule实现RN与Native通信架构HiRNBridge
  6. 6、RN历史浏览模块集成
  7. 7、RN引擎预加载管理框架开发
  8. 8、Native UI组件开发实战
  9. 9、Native UI组件的事件通信指南
  10. 10、RN性能调优

 稳定性及性能调优

  1. 1、作为架构师该如何提升应用的稳定性?
  2. 2、如何提升应用代码质量?
  3. 3、建立有效的Code Review机制
  4. 4、Crash监控与排查
  5. 5、Java混淆代码还原
  6. 6、如何做好Crash防护来实现一个“永不”Crash的App
  7. 7、Native Crash监控
  8. 8、addr2line堆栈还原
  9. 9、HiDebugTool能力扩展
  1. 1、性能优化的重要性及意义
  2. 2、启动优化之耗时统计&启动白屏优化
  3. 3、从0到1设计实现异步并发启动框架TaskFlow
  4. 4、TaskFlow筑基之Task任务
  5. 5、TaskFlow合体之Project任务组
  6. 6、TaskFlow灵魂之TaskRuntime调度器
  7. 7、TaskFlow涅槃之TaskRuntime依赖树检查
  8. 8、TaskFlow大乘之TaskFlowManager启动器
  9. 9、页面加载耗时优化实战
  10. 10、页面滑动流畅度FPS优化实战
  11. 11、内存泄漏排查定位
  12. 12、不合理大图检测插件
  13. 13、如何进行APK包大小瘦身
  1. 1、AndroidX升级适配的必要性
  2. 2、如何在老项目中使用AndroidX
  3. 3、升级适配常见问题解决
  4. 4、升级之后如何配置混淆
  5. 5、实战老项目升级适配
  6. 6、折叠屏适配实战
  7. 7、Android Q暗黑模式适配
  8. 8、新一代组件化动态化方案App Bundle使用场景和优势
  9. 9、AppBundle动态交付原理
  10. 10、AppBundle文件结构分析
  11. 11、使用Bundletool测试AppBundle
  12. 12、AppBundle拆分注意事项
  13. 13、架构师必须要掌握的权限治理

 

BS架构和CS架构的区别

C/S架构的优缺点:
*优点:
1.客户端因为是独立设计,所以可以实现个性化
2.因为客户端是需要进行安装的,可以不需要重复安装和加载
3.因为客户端是独立开发的,所以有能力对客户端进行安全设计
4.如果遇到不同的操作系统,需要为不同的操作系统各开发一套客户端
*缺点:
1.因为客户端是不需要重复安装,所以用户可以不更新与升级,增加了维护成本。
2.因为需要开发客户端和服务器两套程序,所以开发成本会增加
B/S架构的优缺点:
*优点:
1.因为B/S架构具备通用性,所以开发成本较低。
2.因为不需要安装客户端,所以客户端不需要进行升级,只需要更新后台代码即可实现所有客户端的更新。
3.因为B/S架构多用WEB网页进行开发,所以增、删功能也非常容易,只需要修改网页即可完成
*缺点:
1.耗流量,每次都要加载全部的内容(不过有缓存可以降低流量损耗)
2.因为没有独立的客户端,所以无法实现个性化(通过账号体系可以实现)
3.因为没有独立设计客户端,所以客户端难以实现安全控制(HTTPS、控件)。
4.难以实现特殊的操作(删本地文件),所以所有的杀毒软件都是C/S架构的。
B/S架构更多的时候是使用了HTTP协议、而C/S架构更多的时候使用的WinSocket协议(TCP、UDP)

以上是关于客户端架构的主要内容,如果未能解决你的问题,请参考以下文章

通用的 Android 客户端架构设计

在 Android 应用程序中实现客户端 <-> 服务器 <-> 数据库架构的最佳方式?

java web

Android 客户端应用开发的架构

Android系统架构(图解)

直播客户端架构设计与开发-DQLive for Android