首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Ginhoor
掘友等级
独立开发者
技术改变生活,还是生活改变技术?
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
28
文章 28
沸点 0
赞
28
返回
|
搜索文章
最新
热门
App数据持久化管理设计
在迭代过程中,我们碰到了不少持久化相关的问题,经历了数据模型逻辑爆炸,数据库API使用混乱,以及业务对数据库框架产生了强依赖。
App数据埋点模块设计 2.0
概述 在项目开发初期,我为产品设计了一套简易的埋点框架,主要解决了如何定义埋点,以及如何管理埋点的配置。随着项目能力不断的扩展,简易的AOP采集以及手工埋点方式在迭代速度上逐渐无法满足。
Hybrid容器模块设计
这个方案是提供类似小程序的能力,让App成为平台,使其他业务可以通过H5的形式为App赋能。 容器方案选用H5方式实现,搭建JS通信桥,H5通过通信桥与WKWebview进行通信。 App通过JS API为H5提供如文件上传下载,部分Native页面的路由支持(如扫码,聊天会话…
App路由模块设计
开发客户端路由,一是为了管理客户端内部的模块通信,二是为客户端外部提供与客户端通信的渠道。 内部通信的使用目的是解耦模块之间的依赖,避免引入模块导致的多余维护工作,也可以解决在可能出现循环依赖的模块之间通信问题。同时,引入路由方案,能更好的维护与管理模块的API。 外部通信的使…
App数据埋点模块设计
一款App的运营离不开数据的支撑,数据可以直观的体现产品力。运营需要的数据非常多,所以会设计大量的埋点采集数据,甚至某些指标需要一系列的的埋点才能提供可供分析的结果。 作为运营人员,需要设计与配置埋点足够的快捷。所以需要设计一套埋点规则,使他们可以根据需求来制作数据埋点规则。 …
关于IM通讯模块的架构设计经验
IM模块承载着复杂功能,需要提供通讯支持,数据支持,以及页面的支持。随着项目的进度推进,业务信令,以及数据类型会增加的非常快,对业务功能的快速响应尤为重要。 思路可以沿用MVVM的思路,通过VM来驱动UI的更新,通过实现不同的VM协议来制定不同的UI展示规则。 需要注意的是尽量…
开发IM客户端的架构设计思路
我目前负责一个办公类App开发,为用户提供在线聊天,音视频通话,文件传输,以及办公小程序容器等功能,同时还提供PC、Pad、Phone三个平台设备客户端。RD们需要提供的能力有:IM基础通讯,IM消息端对端加密,OSS文件存储与上传下载管理,用户权限控制等等功能。 从功能复杂度…
iOS中C++静态全局变量的动态初始化时序
最终的报错位置在这里,可以看出s_realmCacheMutex是一个空对象,能看出是初始化出了问题。 static initialization: 静态初始化指的是用常量来对变量进行初始化,主要包括 zero initialization 和 const initializa…
iOS主线程耗时检测方案
主线程耗时是一个App性能的重要指标。主线程阻塞,立马会引起用户操作的卡顿,这是最直接的反应,所以是我们必须关注的一个性能点。 Time Profiler模板使用Time Profiler工具对系统CPU上运行的进程执行低开销,基于时间的采样,显示App对多核CPU和线程的使用…
App启动之Dyld在做什么
这里主要剖析一下一个App从点击图标,到展现首页的整个过程。 执行AppDelegate的代理方法(如:didFinishLaunchingWithOptions)。 根据业务注册SDK,获取数据库数据等。 初始化Windows,初始化ViewController。 Apple…
下一页
个人成就
文章被点赞
295
文章被阅读
111,852
掘力值
2,367
关注了
17
关注者
928
收藏集
4
关注标签
3
加入于
2019-01-08