Android客户端程序员的一些思考
最近在IT培训机构,到处都在贴“从java到android,实现高薪梦想”的广告。我一向对IT培训机构非常反感,可是从侧面也说明Android热。Google 的android平台的确带来了一场新的移动平台的革命。 Android 的开放性为这场革命注入了一个强针剂。
工作就像是闹革命,闹革命就要选择好组织,到底是android 或是 windows mobile,或是iphone 等等。我选择了android平台,而且是专注于android 应用程序开发。由于google 的android 在中国的本土化还远远不够,相当于人的骨架,而成为一个完整的人,还需要人的灵魂和文化。这样也给了中国本土公司很多机会。本土化平台就有像点心(创新工厂),秋实(百度),MMI(雷军投资的公司),Ophone, 还有很多厂商根据自身的特色量身定做的系统。还有基于该平台开发出来的很多的本土化有特色的应用。同样Android Market 的鱼龙混杂,也催化出很多本土化的市场,如安卓市场,机锋市场, 应用汇,还有手机厂商定制的市场。
还有很多android技术论坛,android手机论坛,共同推动整个android 产业链的发展。
闹革命就得会两下子,不会舞抢弄剑的就很快在战场上牺牲。Android 这个平台提供的武器可不少,视图容器的就有listView, gridView, gallery, 只要给这些容器上子弹的就可以(重写adapter), 同时还提供了很多布局的容器,有LineLayout, RetiveLayout, FrameLayout, TableLayout等, 还有简单如button, checkbox等视图,很好的MVC架构,简单的砖瓦堆砌(xml配置),就可以铸成一座堡垒。 Activity, service, receiver, provider成为android 的四大组件,构成了android 平台的基石,冲锋陷阵如activity,永远都是抛头露面,service幕后黑手,不知道干了些什么勾当,receiver情报的传递者,provider枪支弹药的提供者。这四大组件成就了android的一世英名。
Android组成了最广泛的统一战线,不但能用java, 发挥其语言特长(避免内存问题),而且也很好支持c/c++(JNI调用),发挥其效率特长,让很多其他平台的应用(尤其是游戏应用,大都都是用c/c++编写)很容易到移植到该平台。同时还支持adobe的flash技术,opengl,还有html5. 越来越多的开发者能够以较小代价进入该平台,为繁荣该平台做出自己的一份贡献。
作为android 开发者, 不但要熟练掌握android提供的武器,而且还要自力更生,才能丰衣足食。Android 提供了自定义View, 拿到View的Canvas,想画什么就画什么。我曾经对android客户端程序员的工作做了一个总结, “数据,画,拿数据来画”,这个就是android客户端工作的全部。是不是作为一个客户端程序员,很无聊啊……
作为一名Android 客户端程序员,我觉得,要加强自身数学(尤其是线性代数),图形图像技术(3D技术,图形处理)的功底,这样才能绘制出很炫很酷的特效(现在这世道,这个东西很值钱), 而不是成了一个拿着冲锋枪,堆砌瓦砖的工人。Android客户端程序员入门不是很难,难的还是对应用程序系统的架构。对Android的系统特性要足够了解和清楚(多看android源代码, 不断要求提升自己),优秀的程序设计(易扩展,易复用)。
最后,在路上。从事Android 应用程序已经有三年多了,感觉自己的知识还是很不够。希望多学习,弥补自己的不足。我相信,只要还站在IT程序员的第一线,就稳稳地站在IT世界的核心地带。一旦离开IT程序员的第一线,也许就会远离这块核心地带,IT的世界是否也就愈发遥远。 真的不知道,至少我现在还不缺激情,还在为自己的梦想而奋斗。