前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技术建设漫谈

技术建设漫谈

作者头像
落影
发布2022-09-23 10:04:43
6200
发布2022-09-23 10:04:43
举报
文章被收录于专栏:落影的专栏落影的专栏

前言

从事客户端开发已经有不少时间,期间经历过小规模的创业公司和大规模的成熟公司,对于客户端也有了更深的感受,也积累了一些App研发体系的建设经验,这里来分享下过去一段时间所做技术建设的思路和做法。

正文

作为客户端开发工程师,最重要的事情就是做产品需求。但是,这个岗位又不能只着眼于完成产品需求:一方面完成60分也是完成,完成80分、90分也是完成,不同交付标准带来的参差不齐的质量问题;另外一方面随着业务发展,逻辑必然会逐渐复杂,效率也会逐步下降。 所以除了需要参与产品迭代流程、跟进用户反馈和关注线上问题,还要做好技术方案、维护好稳定高效的App架构、处理安全合规问题、追赶竞品体验和探索新技术等等。这么多事情如果没有一定的推进思路,那么很容易就顾此失彼。 首先明确我们最终的目标是为了更好服务于业务迭代,那么上述的事情可以拆分为研发质量、研发效率和技术实践这三大方面。

研发质量

质量建设

质量建设的思路是交付可靠的产品质量,搭建完善质量保障体系。 首先是要持续做好指标优化,针对crash/OOM/卡死/卡顿的头部问题进行解决,也要及时跟进新增问题; 然后要建立质量监控体系,搭建异常告警、事件监控和消费机制,及时发现和解决异常; 也要做好稳定性保障,储备热修能力,安全模式保留修复空间,特定场景防御性编程。

很多公司都会有APM的基建,这个可以用来作为质量监控体系的基础。基于此先针对头部问题进行处理,拿到短期收益;然后再建立好告警和消费机制,及时发现问题同时做好防劣化;最后是针对各种异常情况的动态处理能力。

架构优化

架构优化的思路是提供稳定、高效的工程架构,支持业务快速迭代。 App框架持续维护和拓展是做好工程架构优化的第一步,从App层面来提供工程维度的设计与优化,组件化、容器化、平台化一步步建设。 各个业务模块内部的优化也要与时俱进,随着业务发展持续做好业务实现层的梳理,让各业务模块逐渐解耦,同时根据业务复杂度适当进行逻辑优化和实现重构。 同时技术规范统一也很重要,技术规范统一既包括代码规范完善,也要建立合适Review机制,让整个团队的技术风格保持一致从而降低理解和交流成本。

工程架构一定要和业务发展相匹配,在稳定和效率之间做好平衡。思路同样是从当前问题开始,一方面是追溯问题的源头,做好劣化源头的问题发现和治理;另外一方面是理解熵增原理,知道复杂度增加的必然性,尽量保证清晰的骨架,而把复杂度的增加表现在内部细节。

安全合规

安全合规的思路是保障APP符合各种安全合规要求。 随着互联网对信息安全和个人隐私重视力度加大,客户端开发需要重点关注安全合规——合规无小事。对于公司和官方的检测,要高度重视,及时完成合规整改,支持必要的合规功能包括基础功能模式、青少年模式等。 同时需要建设自动化检测能力,比如说合码pipeline检查和发布敏感词检查,在上线前发现问题。 最后也要做好业务安全,及时处理黑灰产对抗问题,也要注意漏洞修复避免安全隐患。

除了不断强调各种合规安全规范,更高效做法是将这些要求在流程中就体现出来。建设各类自动化发现合规质量问题,在上线前去动态发现。但是在做的时候,也要考虑投入产出比,必要时适当用人工介入。

研发效率

中台建设

中台建设的思路是多App能力复用提高研发效率。 App核心能力做好抽象设计和实现,在自己业务验证功能完备性和品质稳定性,最终将核心能力封装成SDK供多App复用。 一方面是方便对核心功能持续做质量建设和品质建设,另外一方面也是扩大团队的影响力。

SDK化其实就是强制做代码隔离,平时在做业务逻辑时,就必须分隔开业务具体细节和SDK具体逻辑。除了核心功能,一些功能性的组件其实也有很高的复用潜力。

流程与效率

流程与效率的思路是优化版本流程和研发流程,提升迭代效率。 成熟团队都会有逐渐建立起相应版本发布流程,比如说BM轮值发布制度,流程化的版本发布步骤,合适的灰度问题发现机制和数据统计以及准出,线上问题处理机制,合理patch发布流程。 研发环节也是重点优化对象,包括研发流程优化和研发效率提升。研发流程优化是完善需求迭代流程,推行和完善包括需求拆解、方案设计、技术评审和代码Review的需求迭代流程。 研发效率提升是从开发工具、编译优化、合码优化和pipeline处理,多方面提升研发整体研发效率。

研发流程需要随着业务迭代不断调整,固定版本、大小版本交替、双周版、单周版等,没有绝对优越的版本节奏。流程沉淀更是一种团队能力的体现,一个好的团队是不会不断去优化自身的迭代方式。

技术实践

品质优化

品质优化的思路是核心功能不断优化,赶超竞品体验。 品质优化是客户端开发绕不过去的坎,可以拆分为基础指标优化、功能体验优化和品质防劣化。 基础指标优化是启动速度、包大小、磁盘占用等基础指标优化,提升用户使用App的基础体验; 功能体验优化是对业务各个核心场景优化,提升关键场景的打开速度和使用流畅度; 品质防劣化是搭建核心品质监控看板,完善监控告警能力。

技术实践也叫技术赋能,其实就是把技术和业务结合在一起。品质优化是其中最直接的一步,能够把体验做到极致,这就是团队技术能力的体现。

技术探索

技术探索的思路是为业务迭代提供更多可能性。 技术贴近具体实现,也能接触到更多的新feature,比如说Push新特性、卸载挽留等。 同时技术也可以探索更丰富的实现手段,比如说动态化能力,在内容分发、电商、活动宣发等场景去做尝试,为业务迭代提供更多可能性。又比如说新新业务场景尝试,通过快速适配iPad、CarPlay来更好支扩展业务的使用场景。还有随着手机性能逐渐提升,端智能也走进了客户端开发的视野,通过端智能可以辅助各业务场景更好做出更好判断。

不要盲目引入技术,而是看这个技术能给业务带来的可能性,评估是否有和业务结合的价值。

总结

将各个模块划分进行汇总,可以得到技术建设的大致蓝图。 技术建设除了要做好规划,在具体落地过程中的还会有各种挑战:既要解决技术中遇到的难题,也要平衡好业务迭代与技术建设。但是做好技术建设,于业务而言能够更加高效迭代,于团队而言能够不断进步,于自己而言能够收获好的沉淀。

以上是自己的经验之谈,希望对你有所帮助。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 正文
    • 研发质量
      • 质量建设
      • 架构优化
      • 安全合规
    • 研发效率
      • 中台建设
      • 流程与效率
    • 技术实践
      • 品质优化
      • 技术探索
  • 总结
相关产品与服务
业务风险情报
业务风险情报(Business Risk Intelligence,BRI)为您提供全面、实时、精准的业务风险情报服务。通过简单的 API 接入,您即可获取业务中 IP、号码、APP、URL 等的画像数据,对其风险进行精确评估,做到对业务风险、黑产攻击实时感知、评估、应对、止损。您也可利用业务风险情报服务搭建或完善自身的风控体系,补充自身风险情报数据,提升对风险的感知、应对能力。BRI 支持按需付费,您可根据您的需求,选取不同的套餐,更易优化成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档