美文网首页
《App架构师》笔记和想法1

《App架构师》笔记和想法1

作者: 勇往直前888 | 来源:发表于2021-02-02 17:38 被阅读0次

    1. App架构师成长路线

    1.1架构师定义

    • 架构的核心功能就是功能、安全、性能和稳定。架构师玩的是折中游戏。

    • 架构师的核心职责包括选型规划、架构设计、技术攻关、沟通协调、疑难攻略等等。

    1.2程序员发展路线

    • 程序员的发展路线主要有两条:专家线和管理线;经理一般是管理线;架构师一般是专家线;

    • 百度、阿里、腾讯、华为的职级体系是不一样的。在杭州这边,阿里系的影响应该最大。P6还是干活为主,P7就是所谓的“架构师”了。

    2. APP基础语法系列

    2.1 编程语言

    • C语言:这是起点和基础;这是最简洁高效的语言,没有之一;是起步,但是实际用的不多;依然很重要,用来实现算法的理想语言。

    • Object-C:虽然swift被苹果内定为下一代主流语言,不过目前仍然是Object-C为主流。
      蚂蚁的React-Native是基于Object-C的;阿里的weex也是基于Object-C的;最近接触的阿里的金融mPaaS也是基于Object-C的;

    • Java:目前接触的Android工程都是基于Java的。并且,后台也是基于Java的比较多。

    • Swift、Kotlin、JavaScript,从语法上看这三者很相似,当然本质是完全不一样的。这三者也被认为是各自领域的未来。直接用也是完全没有问题的。

    2.2 面向对象思想

    • 编程范式:
      过程化编程;比如C语言
      事件驱动编程;Android和iOS的事件响应机制
      面向对象编程OOP;Java; Object-C
      函数编程:Swift,kotlin
      面向切片编程AOP:Java后台Spring框架的日志系统

    • 封装、继承、多态是面向对象编程OOP的三大支柱;
      可以考虑用多态来代替if条件语句,更容易维护和扩展;

    2.3 线程与进程

    • 假如计算机是一间工厂,进程就是一个车间,线程就是工人;

    • iOS13以前,一个APP就是一个进程;iOS13引入了多进程;Android一直是有多进程概念的;不过大多数时候,一个APP就是一个进程,没有必要搞得很复杂。
      而线程的引入,一般是区分UI(主线程),这部分比较慢,负责人机交互;下载等耗时任务就需要另外开辟工作者线程来做,不然的话会导致界面卡顿;

    2.3 反射、注解、泛型

    • Java中是有反射的,Object-C中对应的特性应该是Runtime。简单说,就是将字符串转化为相应的类,这样的话就能够根据不同的场景,修改字符串,运行不同的类对象,实现动态特性;
      Swift中也是有反射的;

    • Java中是有泛型的,Object-C中对应的特性应该也是Runtime。最常用的就是数组,字典等容器类型,里面可以装任何类型的数据。
      泛型在写基础框架的时候特别有用;平时反而用得不多。
      Swift中也是有泛型的;

    • 注解比较特殊,比如@selector之类的,不像代码,却起到了代码的作用。理解为宏定义也未尝不可,理解为一种特定的代码结构也行。

    相关文章

      网友评论

          本文标题:《App架构师》笔记和想法1

          本文链接:https://www.haomeiwen.com/subject/lbmytltx.html