为什么 iOS 有那么多优秀的开源组件,而 Android 反而很少
3个回答
2015-12-04 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517170
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
要分清ios和android哪个开源组件多,看看github搜一下就一目了然
搜ios得到40938个项目
搜android得到112895个项目搜android得到112895个项目
作为最大的代码托管网站,github的数据绝对能体现这两个阵营的代码开源热度作为最大的代码托管网站,github的数据绝对能体现这两个阵营的代码开源热度
所以楼主的问题不成立
【锟斤拷的回答(33票)】:
----------谢邀,晚上来答了----------
我做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一样怕碰到虚拟键,我承认苹果做的非常非常棒,但是我决不承认安卓比苹果差,实在没有可比性。
【万宵的回答(13票)】:
泻药
个人理解题主说的开源组件是所谓的开源工程。其实如果说到开源,真的就和钱啥的扯不上关系了。生态,再过几年等4.0以下的都灭绝了,你们就不会说生态烂了其实Android有很多非常不错的开源工程,我这里说的开源工程是指那种作为依赖工程导入的的工程,下面介绍一下比较知名的android开源项目,都是造好的轮子,免去了我们很多麻烦
android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新
ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal
)ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好。
搜ios得到40938个项目
搜android得到112895个项目搜android得到112895个项目
作为最大的代码托管网站,github的数据绝对能体现这两个阵营的代码开源热度作为最大的代码托管网站,github的数据绝对能体现这两个阵营的代码开源热度
所以楼主的问题不成立
【锟斤拷的回答(33票)】:
----------谢邀,晚上来答了----------
我做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一样怕碰到虚拟键,我承认苹果做的非常非常棒,但是我决不承认安卓比苹果差,实在没有可比性。
【万宵的回答(13票)】:
泻药
个人理解题主说的开源组件是所谓的开源工程。其实如果说到开源,真的就和钱啥的扯不上关系了。生态,再过几年等4.0以下的都灭绝了,你们就不会说生态烂了其实Android有很多非常不错的开源工程,我这里说的开源工程是指那种作为依赖工程导入的的工程,下面介绍一下比较知名的android开源项目,都是造好的轮子,免去了我们很多麻烦
android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新
ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal
)ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好。
2015-11-30 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
github上面有很多优秀的开元框架
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Android的也不少啊,你去github上逛逛啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询