———-谢邀,晚上来答了———-
我做Android做了大约3年,做的虽然都是描绘Application层的小玩意,但是对整套生态圈应该感觉还是有点小了解;赶脚题主这个问题就有点黑安卓的意思,在我看来,这样的问题和“为什么C语言要比JAVA快”一样没有非常大的实际意义。所以感觉题主从主观上在做安卓的时候受到了挫折,哈哈。
首先我想说的是,Android上的开源组件并不少。
具体项目我就不多说了,各位同仁也在分享,而且git和group上多的一笔,像UIL(Universal Image Loader)这种神器,还有SherlockActionBar(已经被归入support v7,并且在最新版本的ADT中已经被强制填入),很强大的Zxing这个一维码、二维码通吃的好玩意;还有什么pull-to-refresh的lib等等,同样我也希望在这个主题里面能看到更多同僚的分享。
相比来说,就以一二维码为例,zxing对iOS的支持就不怎么样,同事在搞iOS上的条码扫描和生成的时候,费了很大的功夫,且效果不理想,条码二维码这个近几年很火吧?可是iOS上没有一套完整的东西,zbar什么的,看了几个,都不理想,或多或少有欠缺。

所以我的观点的话,就这件事上,我是不同意楼主的观点的,首先jdk&android都是开源的,所以不考虑难度和质量来说,更容易开发出来一套工具lib或者框架;其次Android有Google这个爹,本着Google精神,有很多人愿意去分享自己的东西;再者我们从实际开发来讲,又或许是我做的项目都很小、很白痴,我没有觉得Android的第三方开源小玩意少,很多玩意都能找到相关的解决办法(现成代码)。

于是我想了解下题主在什么契机下觉得Android的开源项目少呢?Android本身就是个开源项目呀。
我再试图研究研究其它同仁的看法:

  • 回报的问题

细讲讲工资,我姑且当大伙儿都跟我一样是给人打工的。我现在的工资不比同组做iOS的人低,我是做app开发的,感觉现在不知道谁传出来的都有这样一种误解,(不算适配的情况下)android开发简单,iOS开发困难。难道就因为oc入门比java削微复杂点么?或者说你以为会点java就随随便便地说Android一样,都能搞?别逗了。Android里面玩法很多,跑到实际运营上就能给产品提供各种各样的玩法,像运营商定制,流氓功能(当然我们不提倡),都是能给公司和团队带来其它方面的获益的;就拿互联网app来讲,关键网络层代码用NDK写好,UI实现Android和iOS同样都是随便交给一个成手就能搞定,又哪里来的优越感?在你灵活运用23甚至更多种设计模式,通读并精通算法导论和架构之美后,开发语言难道还有不同之处?这个是我觉得很不满的;
会java并不代表你会安卓,同样,你会用java更不代表你懂java,别用你从不知道哪里看到的资料说java烂,dalvik卡,我们讲纯技术,为何oc不做跨平台?
如果是做Android BSP这种相关的工程师,也可以叫Android工程师,这种价钱我就不用多说了吧,不是和做app一个级别的,至少在北方是。
其次是广告收入,你们不要再看个排名就说iOS收入多多牛逼,应用内支付收益多少多少了好么?前两天一个小伙计拿俩图片当杀毒软件挣好几万的事情你们当真是装傻屏蔽了么?放垃圾广告山寨app这种事App store会让你上么?你要是邢山虎拿着我叫MT来喷我我一点都不带还嘴,有多少人一个自己运营的APP都没搞过就开始大谈广告收入和排名算法了?我认为大部分人花几天做一个app扔在Google play上,一次性也不用运营,咱们先不要把自己考虑成拯救世界的人,一个月挣个几百刀广告费不够诸位加个油吃个饭的嘛?万一点子投机了当真辞了工作去36kr觅个投资也好。
我说的都是以我这种屌丝来说的大实话,没接触过在BAT中做的经理。

  • 碎片化的问题

这个的确是一个大问题且无法回避,硬要牵扯的话,和所谓“开源”项目也有点关系:
不够精:某些开源组件在某些特定机型上会报错,因为其可能改了原生的sdk;
不够多:现在对于Android程序员来讲“兼容到2.1(更有甚者到1.6)”已经和“兼容到IE6”一个级别地让人痛苦不堪;这也导致了最起码我就有时候不愿意写一个库给小组用,你要做的东西特别多,很恶心;
不够全:iOS其实一直贯彻的都是某些种特定的风格,至少和Android相比基本就可以看成只有一两种;我可以针对你的一两种来做一套工具框架,但是我肯定无法为你的未知种类做点什么(这里主要还是指UI,因为毕竟app开发的主要工作量还是在UI上)

  • 生态圈的问题

一个是市场占有率,有说Android市场占有率占有高,开源项目就应该多的,这种纯属敷衍答案,此处不表;其次是我们所说的应用商店,换句话说是应用个数,再换个词儿叫有效应用个数,这个就不用我多说了吧,上文也有提到,像我这样就图个广告费还个贷款的人大有人在,做做rom放点系统apk流氓捆绑的也大有人在,觉得不爽的同僚也没必要喷我,谁不为了活着;从审核机制来看,我忘了在哪个资料上看到了,iOS帮开发者做好了XXX事情,是为了让他们开发出更好、更优良的点子;而我们做Android的,甚至是Android本身,仍然在摸索。

我突然想到一个,也是我经常碰见的,不知道cocoachina什么的iOS论坛怎么样,反正Android这边网上资料都烂了,各种瞎胡转载,我们不要求你们转载、爬虫的时候署名了,你好歹把代码格式给帖过来;你格式没有也没关系,你能不能把代码给帖全了?

反正我在国内论坛上的时候,至少百度的时候,经常会心烦气躁,不知道题主是不是在搜某个实现的时候也碰见了这个问题?还是去stackoverflow上看看吧。

我个人做Android APP开发,却用OSX,包括最近开始看iOS相关的开发内容,有时候拿着手里的iPhone玩一玩,静音、音量、home、power键都是我的刚需,玩游戏的时候不用像nexus一样怕碰到虚拟键,我承认苹果做的非常非常棒,但是我决不承认安卓比苹果差,实在没有可比性。

— 完 —

本文作者:锟斤拷

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 20 个回答,查看全部。
延伸阅读:
Android上有哪些比较好的开源 UI 组件?
iOS 开发和 Android 开发,哪个更有前景?

分享到