无边界程序设计理念这个提法来自于这里。
“Android的应用只是一个虚的概念,并没有实际的入口,这个不像Window平台上的应用程序的概念,Android更多的是提供组件(Components)的概念。突出请求和服务,突出组件个体,弱化边界,系统的各个组件可以自由的无边界的交流,服务请求者直接发出请求,不论这个对象在何处和属于谁的,组件是自由独立的个体,一个应用程序可以直接请求使用其他的应用的的组件,这个是Android应用框架设计的核心理念,其他的一切都是在为这个核心理念服务。”
“让程序员忽略应用的概念,甚至彻底的抛弃进程这样的概念,程序员看到的就是一个一个的组件,应用程序员利用这些组件来架构成一个所谓的应用,那么设计者首先要考虑的是什么呢?我想应该是一个抽象的应用模型,在这个模型下产生概念和接口。”
“Android中你可以开始一个Activity,但是没有权利消灭一个Activity,这是个体权利的体现,个体的消灭是由系统决定的,这个就是Android中Activity蕴含的人文意义。”
这段总结说的非常好,从我近期对Android开发的一些基本了解来看,也确实是这样。在Android平台下开发,你不需要从头开始构建一个应用,你可以使用系统提供好的一些功能,或者是别人的应用程序中已实现的部分功能,拿来组装自己的应用,当然,你做好的应用也可以把部分功能暴露给别人来使用。具体说来,就是Activity与Intent的使用。
基于这样一种模式,Android开发更像是堆积木,当然,这是理想状态下的。Google最近不是就推出了一款通过web上的组件拖拽就能生成一个自定义的应用程序的工具么,当然,我只看了下介绍,还没有机会亲自体验,不过,这终将是未来的趋势。
当然,这对于开发人员来说是好事,你可以更加快速的把自己的想法变成现实,你不用亲力亲为的去做每一件细小的事情。
对于手机使用者来说,这同样是好事。使用统一的Activity构建出来的应用,不论是外观还是使用方式上都是完全统一的,用户拿到一个新应用时基本上不会有太大的使用方面的成本。
而对于Google来说,这当然也是好事。Google可以把他的云计算服务都做成一个个的组件,应用开发者们可以随意组合上自己的应用中,这对于Google推广自己的服务将会是一件非常有益的事。
当然,目前来说,组件的提供还并不算完美,现在来开发一个应用,还是需要自己做很多工作,仅有少部分服务可以直接调用Google提供的Intent,而调用别人的Activity很难得到保证,比如对别人的应用的依赖,比如接口的保证,等等。另外,目前各手机厂商在定制Android时都提供了自己的UI sence,而各家也都不一样,再加上Android原生的,这也使得UI的统一越发的难,不知道未来将会如何处理。