posts - 189,comments - 115,trackbacks - 0

 

Android开发的技术层次

 

 

http://blog.csdn.net/theorytree/article/details/6649825

 

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

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


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


1)应用层开发


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

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

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

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

再用一哈比如Gallery这样外行看起来表面上比较炫的类。


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

这类技术门槛很低,这类开发人员中的真正的熟手和高手,是充分熟悉官方文档的,已经过了什么都去GOOGLE的阶段,达到了查什么都直接去查

http://developer.android.com/reference/packages.html  的地步。

而且在大脑中已经形成了一个官方文档的索引,查什么都能达到几乎匀速的地步。


充分利用好官方文档,全部类库在大脑中有比较有条路的记忆,告别了短期杂乱无章的记忆。


成为了一个高级的“类库王子”。


2)中间层开发


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

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

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

熟悉android系统的Custom Building System.

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

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

定制一套系统的UI,制作点ROM

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


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


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

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

针对特定硬件的移植

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

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

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



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

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

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

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

这些多,多半也精通其他平台,比如Symbian,Meego,IOS,WP

甚至Windows NT, Linux  edition for Server.


posted on 2011-08-02 09:36 MEYE 阅读(300) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: