《App架构师实践指南》:移动开发的进阶指南

文章主要内容:程序员

什么是 app 架构师算法

这本书主要内容编程

读完感觉设计模式

什么是 App 架构师

成为“架构师”是许多程序员的梦想,固然也包括我,在工做的几年里,我见过不少架构师,他们在设计某个大型系统时具有很大的话语权,能够说开发前的架构设计、开发时的技术选型、开发中的规范和性能等,他们都有权来决定。安全

那什么是架构师呢?根据维基百科对架构师的定义:性能优化

系统架构师(System Architect,简称SA或SAr),是在信息系统研发中,负责依据需求来肯定主要的技术选择、设计系统的主体框架结构,并负责搭建实施的人。他们确立系统的主体架构和实现方向,并负责指导软件工程师等开发人员的编码开发工做。网络

能够看到,若是说普通程序员是搬砖工,那架构师就是工程设计师,他的责任就是解决软件系统复杂性带来的问题。架构

通常咱们说的架构师主要是指后台架构,但因为移动互联网技术的发展,手机应用功能愈来愈多,项目愈来愈复杂,稍微知名些的 App 开发团队就有十几我的,在这种状况下,不少公司设置了 Android 架构师、iOS 架构师一职位(统称为 App 架构师)。app

App 架构师的核心职责包括:框架

选型规划

架构设计

技术攻关

沟通协调

疑难攻略等

这些对架构师来讲应该都是通用的。对效率、性能的追求,我认为是架构师最崇高的目标。

如今市面上针对 Android/iOS 开发的基础、进阶知识书有很多,但还几乎没有一本书探讨关于如何成为 APP 架构师的。所以看到这本书出版后我很兴奋,第一时间阅读了一下,读完后写下这篇记录总结。

这本书的主要内容

这本 《App架构师实践指南》是由前阿里资深软件工程师/图像算法工程师 SkySeraph 所著,通读全文后,能够读得出做者在 Android iOS 方面的技术功力以及在架构设计和管理方面的能力。

这本书主要分为四部分:

基础篇

核心篇

产品篇

拓展篇

基础篇

程序员如何成长为架构师?App 开发工程师须要具有什么基础知识?第一部分对这些进行了介绍。

基础篇主要介绍了架构师的职责以及成为架构的路线,而后对比 Android 和 iOS 给出了开发的基础知识和经常使用工具,Android 部分我比较熟悉,这部分读下来主要是了解了开发 iOS 须要具有的能力和工具如何选择,后面若是考虑写 iOS 应用时应该有帮助。

主要内容以下:

 

 

功能、安全、性能、稳定,架构是一种折中

资深开发须要技术的广度和深度,架构师须要技术和业务并重

 

 

这节介绍了 Android 开发的一些核心基础,包括:继承封装多态、内部类、进程线程、反射注解泛型等

iOS 对应的基础知识

开源库的选择和使用

核心篇

做为架构师,只完成产品需求是远远不够的,须要用方便拓展的模式设计项目,同时也要关心应用的稳定性,更要对 App 测试相关的知识有所了解,另外安全方面的问题也必须关注。

第二篇核心篇是整本书的精华部分,除了平常开发的知识之外,更是对咱们常常忽略的架构模式、应用质量和稳定性监控处理、测试相关知识作了介绍,读完后对平时测试开发作的事有了个大概了解;此外还对 App 的性能优化进行了多方面介绍,其中几个部分除了工具还讲解了背后的原理,解答了我平时的几个疑惑;而后还介绍了安全逆向的一些知识;最后对一些热门知识进行了简单的介绍。

主要内容以下:

经常使用模块的设计思路

基础组件、必备的基础业务模块如何设计

App 架构的基本功

组件和模块

UML 基本功、设计模式概览

接口设计、常见架构模式等

App 质量和稳定

衡量指标、处理手段

测试相关知识点介绍

App 性能优化

硬件、UI、CPU、内存、网络、安装包体积、启动优化

App 安全逆向

逆向的基本介绍

混淆和加固的原理

Proguard 配置详细例子

产品篇

要进阶不能只是简单地写代码,咱们要以作产品的心态去编码,常思考技术之外的东西。

第三部分产品篇对 App 的项目管理、产品思路、设计理念和推广运营给了基本介绍,而后还分享了做者如何维护团队的高效,包括编码规范、敏捷 Scrum 相关等知识。

拓展篇

最后这部分比较短,主要是分享了做者对架构师思惟的理解。

架构思惟:以产品和业务为驱动的顶层解决问题的思惟,须要同时考虑产品、技术和人三重关系。

架构师常常作的是“分”和“合”,即所谓的系统拆分和从新组合,这要求他的综合能力要很高,须要同时具有思惟的高度和深度:

具有技术思惟的广度和深度,涉猎多领域时可以有足够的技术前瞻思惟

具有沟通协调能力,更懂得平衡

读完感觉

这本 App 架构师的学习指南书,不限于介绍具体技术层面的知识,更可能是技术高度、技术视野以及技术人生的思考。

正如文中提到的“关键词学习法”同样,这本书给我最大的帮助是提供了成为架构师须要学习的一些基础知识点体系,虽然由于篇幅限制不少细节没有描述清楚,但通过阅读我算是有了基本认识,书中提供的“关键技术点”和参考学习资料方便我继续深刻研究。

须要注意的是,这本书的知识点是成为 App 架构师必备的基础,但还有许多架构师须要掌握的技术知识点没有涉及到,好比各类第三方框架的介绍和对比、插件化和组件化的详细内容,安卓 framework 相关知识,JNI NDK 相关内容,这些知识据我所知也是成为架构师须要掌握的。

一句话描述下这本书:这本《App架构师实践指南》适合做为有意愿成为 App 架构师的程序员查漏补缺的参考书。整本书涉及的知识点仍是很多的,读完能够确认下本身的基础能力有哪些不足,掌握了这些基础,再继续学习我刚才提到的内容会比较顺利。

9ccc0ca9ly1frnnueu3ukj206t07wmx7.jpg

《App架构师实践指南 

  SkySeraph 潘旭玲 著

点此连接购买纸书

 

一本讲解从程序员转变为架构师须要了解的技能和思想,明确地给程序员指引了移动架构师成长的路线,是想成为架构师的程序员实用指南。

全面介绍了在移动应用开发的架构设计和性能优化方面的知识,是架构师的必备书籍 。讲述了移动应用架构师须要了解的技能、思想等总体的发展方向,是移动架构师成长的路线图。

读者不只能够学习到移动应用的开发技术,更能收获到在实战项目中会用到的各类工程化的知识,是架构师的学习宝典 。

9ccc0ca9ly1frnnthxr0xg20hs01pt93.gif

推荐阅读

2018年5月新书书单(文末福利)

2018年4月新书书单

异步图书最全Python书单

一份程序员必备的算法书单

第一本Python神经网络编程图书

9ccc0ca9ly1frnnr6rnvyj209k09k74a.jpg

​长按二维码,能够关注咱们哟

天天与你分享IT好文。

相关文章
相关标签/搜索