Android程序员

Android程序员需要知道,Android系统的整体结构是LINUX+JAVA+ANDROID FRAMEWORK。并且必须还在这个基础上知道,ANDROID FRAMEWORK并不负责应用落地的事情,所有应用落地的事情都是通过进程与线程实现的,与ANDROID没有任何关系。

ANDROID框架的问题域是用户体验,而不是系统性能。ANDROID整个架构的核心理念全部都是围绕着以用户为中心而推出的。

知道所有的东西都是用线程做的,这个可以帮助你写程序。因为已经说过的,ANDROID的问题域是用户体验,所以如ACTIVITY,TASK这些东西,全部都是为了用户设计的。而之所以提出这样的组件或概念,原因是为了让人构建更人性化的应用或者说构成一个更人性化的应用体系,它们只是指导策略,并不构成ANDROID编程的全部。

写ANDROID的程序,比与服务器端的程序虽然压力要小一点,事情要相对简单一点。因为客户端环境无论如何不象服务器端环境那么苛刻,不容许犯错误。但容许服务器端的错误不意味着它容许所有的错误。

客户端即本地应用最大的挑战还是在于状态管理。

ANDROID APP拥 有极其复杂的生命周期,以及相互关系。可以这么说,ANDROID上面的应用就像一张庞大的网,你必须知晓这张网上一切的细节才可能写出象样的程序。并且除了这些,你还要保证你的应用有人下载,这又意味着你必须保证它有人一看就懂并且然后喜欢上它。还要保证它的体验是好的。这些体验特性一方面受到移动特性的要求比如移动终端的计算能力偏弱,续航能力差,屏幕面积小,客户耐心更小,再加上不稳定的客户环境以及用户隐私的保护考虑(手机上拥 有最多的用户隐私)......所有这些挑战,加起来的话,怎么说呢?它并没有什么深度,正好相反,它们都很具体。但再具体也要求你懂,你不花时间的话就不会懂。比如它的事件机制,生命周期,线程模型,UI哲学,以及应用之间相互交互的模式,以及在很多应用中必不可少的I/O,尤其是网络I/O。

ANDROID是面向用户编程的典范,学会它,研究它,精通它肯定是不会吃“亏”的。

对一个程序员来说,跟做人一样,最重要的是道德。这个道德的具体怎么说都好,总结起来就是要做个好人。不要欺骗用户,不要欺骗客户,不要欺骗公司,上司,也不要欺骗自己。其中最后一条是最重要的一条!

另外,一个真正的ANDROID应用肯定是面向WEB的。我觉得,未来的编程趋势不会是比谁服务器端写得好,也不会是比谁客户端写得好,而是比谁两边都写得好或者说一起写得好。而你,对于这个现在有任何想法吗?

 

你可能感兴趣的:(Android程序员)