五千年(敝帚自珍)

主题:从曾经的Android组成员的角度来说说Android吧 -- zllwy

共:💬137 🌺380
分页树展主题 · 全看首页 上页
/ 10
下页 末页
    • 家园 支持一下。
    • 家园 请教一下,RelativeLayout现在谁维护啊

      用它调layout遇到bug,看代码里有“// FIXME uh oh...”,好像很久了。

      另外GestureDetector实现有点偏上层了,实际中发现好像总慢“半拍”,效果没有apple的好。Google在这方面有没有什么计划?

      • 家园 Romain Guy?

        Layout这块好像Romain Guy很活跃。其实老实话我也不知道。我做的基本都在networking和service这块,一点点底层的系统。UI系统一点都不懂。

        另外我瞎说啊。界面上的滞后感我觉得更多是因为VM的缘故。毕竟没有native code来得快。最近玩了一下WP7,很流畅很好看。就是应用少了点。而且还是不能接受半个字的效果。

        • 家园 thanks

          滞后有vm的缘故,我个人认为与设计有点关系吧。起码touch event和gesture不在同一级别有点怪怪的,不知apple是怎么设计的。

          另外不知是否方便讲些google maps server端的一些设计和技术?这方面资料不是很多,想实现个百万用户级别的案子,心里没底。

          • thanks
            家园 这个不知道

            很多Google应用都不是Android team做的。当然就是我知道也不能说。Google这方面很严的。:-)

            • 家园 那就说点你知道而且能说的吧。

              对GOOGLE后台扩展性的架构和经验很感兴趣。

              • 家园 同好

                我对map backend真的一点都不知道啊。

                说来好笑,自从离开Google以后,对Google的技术反而越来越有兴趣。可惜现在都只能从公开信息去学了。最近在研究分布式存储方面的东西。Google的Spanner大家都听说了吧(看Jeff Dean的talk: http://www.stanford.edu/class/ee380/Abstracts/101110.html),bigtable的后继。有一个细节是(公开的信息),Google越来越多的使用strong consistency的replication,看App engine最近新推出的datastore就知道了。其中最重要的一个算法就是Paxos算法,这是唯一一个被证明了理论上正确的consensus algorithm。很多系统都有自己一套的replication算法,但其实都是一些经验性的,没有理论上的基础,在很多情况下不能正确地保证Consensus。Paxos最初在Google的chubby里面用。现在看来扩展到bigtable replication了。不知道spanner是不是已经可以用了。说起Paxos还是很有意思的。以前分布式系统里面consensus都是用2-stage commit或者3-stage commit。虽然很直观,其实不能处理所有的情况。就这么个看起来很简单的问题,一直到80年代的时候,Leslie Lamport(理论大牛,在微软),写了一篇考古文章,发掘出公元1000年的时候,有一个希腊的小岛上的城市国家的议会用了一个算法解决了他们在法令上达成一致意见的问题。而这个方法,正好解决了异步分布式系统中达成一致的问题。本来Lamport可以用学术界通常的文笔写这个问题的,不过为了轻松气氛,他仿照byzantine failure的那篇文章,以考古的手法描述这个问题,只在文章的最后一笔带过和分布式系统的关系。他把文章投了一个著名的杂志,结果被退稿了,编辑说你把考古那部分去掉吧。看来不是所有人都有幽默感的。大牛就是大牛,不发就不发呗。他就把文章锁抽屉里了。不过文章还是在学术界私下传开了。很多年以后,90年代中期吧,微软一个人写了篇文章解释了Lamport的算法,讨论了证明和如何使用。这下这个算法终于火了,大家意识到这是唯一理论上正确的算法。这下Lamport的那篇考古文一字不改地发表了。然后一直到2001年,Lamport终于受不了了,写了一篇Paxos made simple,说看来我的前一篇文章大家看着像希腊文写的,那我就简单地描述一下吧。Google的Chubby可能是第一个大规模在production system里面使用这个算法的。现在Hadoop的zookeeper也是类似的,不过他们不是严格的paxos算法,我不知道是否还是paxos的一种,以及理论上是否正确。

                扯远了。说正经的。Google的backend的确是非常重视scalability的。在这方面做了大量的研究和实践。要是能把这套系统推广开去,应该会很有意义。Hadoop在这个方面有很大贡献。你说到对经验和架构的兴趣,这个得具体谈了。随便说几个,不知道对不对。

                1 分布式存储/数据库。基本上就是摆脱传统的database model,所谓的NoSQL潮流。具体到技术就是Bigtable和GFS。

                2 和存储相适应的就是map/reduce。

                3 分布式协调。就是chubby distributed lock service。Chubby用得很广泛。

                4 Stateless application logic。所有的app(特殊的除外)都是stateless的。随demand的变化可以增加减少instances。

                5 Load balancing

                这里一下也说不清。有兴趣私下聊吧。给我发站内信交换联系方式。

                通宝推:唐家山,
                • 同好
                  家园 遇到高手了。这些也都是我感兴趣的。

                  09年比较闲的时候曾经研究了一下Flickr Flickr 网站架构研究作为练手和入门,感觉在大规模架构和扩展性方面,Amazon,Google和Facebook是最有经验和技术积累的,而Google应该功力最深吧。你列的这5个方面,相信很多人都会感兴趣,如果zllwy兄写出来,一起讨论,相互启发,大家都会受益匪浅吧。

                  09年之后一直比较忙,看看今年有没有空,争取挖个万年深坑,写写Facebook,到时再请兄台指教。

                  • 家园 早已拜读过了

                    写得很好。期待你的facebook篇。

                    说到技术,其实我觉得也很难说哪个最好。各个公司要解决的问题不一样,所以积累也在不同的方面。我个人可能有先入为主的印象问题,一直还是觉得Google的技术最对我的胃口,而且感觉上Google更有进取心。

                    我尤其希望的是我们国内自己有自己的技术创新。最近出现的像新浪,淘宝都有一些尝试,感觉很振奋。我不是高手。希望大家一起讨论,一起提高。最近想尝试分布式存储的东西,有体会来跟大家汇报。

                    • 家园 期待大作

                      另外据说国内一些大网站在可扩展方面的技术也很强,毕竟我们有世界最多的网民,只是很少看到这方面的报到,感觉可能是国人在技术共享和开放这方面还是有些保守。

                      • 家园 有一些

                        淘宝的TAIR和TFS

                        http://code.taobao.org

                        淘宝也open source他们的技术,值得鼓励。

                        新浪的 sina app engine

                        http://sae.sina.com.cn

                        很有意思的架构。

            • 家园 哈哈
    • 家园 宝推googler

      ,作者,声望:4;铢钱:4。你,乐善:4;铢钱:-32。本帖花:4

      • 家园 问lz一个问题

        楼主提到Android的优势在于open和后台强大的服务,但我的问题是:目前在IPhone平台上,任何一项你提到的google服务,都能找到对应的前端程序来使用,比如很多RSS reader就是基于Google Reader service的。在此情况下,Android还有你提到的这些优势吗?

        • 家园 很尖锐的问题

          试着回答一下啊。不一定能说服你。

          其实Google本身声称是没有对Android偏心的。比如有一次Google推出一个iPhone app,不记得是哪个了,那时Android还没有。我们还觉得挺不能理解的。其实我个人感觉Google开始的时候对Android也没有那么commit,据说其中一个cofounder是不喜欢Android的(谣言谣言,不要当真)。而且从Google角度来说,Android的最终目的不是dominate,而是disrupt,不能让一家(大家都知道谁)独大。最终的目的是让mobile web流行起来,Google的Ads revenue自然就上去了。现在看目的达到了。

          回到Android的优势上来,我想尽管不是出于故意,Android在提供比iOS更好的Google service的支持上还是有优势。一个是平台的开放性,很多app就是在Android更容易实现,少了很多限制。另外一个就是Android可以和Google backend service的紧密结合可以更好地去实现一些应用。从内部合作方面来说,大家都知道Google内部的startup气氛。很多开发者会优先考虑支持Android,更不要说Android team本身得天独厚的条件了。岔开去一下,我最喜欢Google的一点就是内部小组之间的交流极其有效,大家都非常乐意帮助其他的组。Android team或者其他Google service的team可以比较方便地得到互相之间的帮助。自然可以比较快速有效地推出apps。从技术角度来说,Google可以很容易在client和server端同时做出优化,提供最好的用户体验。比如说google talk,我们从Android本身和google talk service两端都做了很多改进和优化以便省电,减少latency。这个绝对是iPhone上做不到的。就我最喜欢的Google navigation来说,iPhone现在还没有。好像iPhone上也没有native的Gmail app。很多service app你当然任何人都可以写,只要有API,但你要达到最好的性能和功能,没有server side的配合就很难了。Apple就要依赖第三方的service和developer来帮它做。

          当然这种优势也是相对和有限的。对于Google来说,只要没有一个绝对的dominant player,它就没有损失。但对Apple来说,这就是全部了。对于我们用户来说,爱用那个用那个,没有绝对好坏。对于开发人员来说,哪个赚钱就学哪个。目前我是建议给iphone写app的,如果你想赚钱的话。:-)

分页树展主题 · 全看首页 上页
/ 10
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河