任何一种移动开发生态系统其技术人员都是呈现金字塔式分布的。

也就是我们常说的大部分人都是开发人员,只有少数人是真正意义上的程序员。


android系统也是一样,在庞大的android开发人员群体中,我认为可以由低到高分为以下四个层次:


1)应用层开发


使用java语言,基于android的框架和类库,进行应用层程序的开发。

这类开发一般依赖于短期记忆,也就是我们所说的类库王子。

这类人员,只要熟悉UI布局设计,熟悉常用的widget,写几个消息回调函数.

鼓捣以下网络类,简单的数据库操作,调用一下播放器,发一下短消息。

再用一哈比如Gallery这样表面上比较炫的类。


这类开发人员一般自我感觉良好,比较自大,认为android开发也不过如此,


2)中间层开发


使用c/c++语言,基于NDK JNI方式的开发.

需要对android的整体框架机制和android系统codebase非常熟悉.

一般都会自己自己下载android的系统源代码,自己进行编译IMAGE.

熟悉android系统的Custom building system.

能修改和扩展android的框架和 服务.

移植和定制nativelibray 和框架 ,如opencore,opengl,webkit

定制一套系统的UI,也就是给系统换肤。

也就是我们国内所谓的自主研发的手机操作系统。


这类开发人员一般属于稍微资深一点的,一般都有强烈的技术饥饿感,觉得自己懂的很少,不停的去提高自己。


3)操作系统级别的开发,系统定制

熟悉Linux驱动开发,Linux内核结构

针对特定硬件的移植

这类开发的技术含量其实和中间层开发差不太多,从某种意义上还不如。

其实,驱动开发更主要的要求需要一定的硬件知识。

这类开发人员一般式各大手机厂家的开发人员,由于接触的面比较窄,技术饥饿感不如中间层开发人员。


4)找出Android的不足,帮助Google持续改进Android

这种人是真正意义上的android程序员,他们会有选择的去阅读android框架源代码,会认真的去阅读dalvik的源代码。

自身知识结构也比较成熟,知识面比较广。

会很多上面三类人都不具有的调试和跟踪技巧。



更多相关文章

  1. Android webview 实现h5中调用原生系统相册/相机并进行图片压缩
  2. 怎样写一个类似ROS的易用的android机器人框架(2)
  3. Android中使用开源框架EventBus3.0实现Fragment之间的通信交互
  4. Android系统定制和源码开发以及源码编译
  5. Android开发平台振动器系统详解
  6. 观摩Android的多层框架体系
  7. Binder子系统之调试分析(一)

随机推荐

  1. Android中禁用掉多点触控
  2. android 设置View
  3. 普林斯顿大学屏蔽Android设备
  4. videoview小例
  5. Android,通用ListAdapter
  6. Android中SQLite的增删改查
  7. Android Material Design按钮样式设计
  8. PopupWindow设置AnimationStyle
  9. android tcp server
  10. Android(安卓)属性动画看这篇就够了