对Android系统"开源"的一些看法,和对我国安卓开发者未来的担忧

标题的可能会让一部分人不爽,但我事先申明:

1.下文的一切全是我的有感而发,诚意满满,抵制五毛

2.本人至今仍然热爱安卓应用开发,只是结合我国国情,产生了担忧和迷茫,如果有高手认为这很没必有,请告知原因

3.本人在开发者中只是一个超级菜鸟,截至到我写这篇博客,我做开发者一共才1年2个月,刚毕业就开始做安卓应用开发了,所以可能看到的,接触到的关于Android方面的信息会很不足。如有错误,希望指正。我会修改的(我做安卓时,安卓是4.0左右)


我第一次接触安卓应用开发是在我毕业前半年,那时因为找工作的因素,去参加了快餐式培训班,那时我的手机是诺基亚E66,对安卓是一点都不了解,再选培训课程时(Android/IOS)因为安卓的开源听起来不错,所以选了安卓开发。(我不是计算机专业的)结果就在最近,我发现我入了一个超级大坑中!


有如下几点原因

1.碎片化

这其实根本不是个大问题,只是正好说到了,就提一提,做个开胃菜:安卓设备的各种硬件性能;各种系统版本;各种屏幕分辨率;各种粗制滥造的room。


硬件性能是游戏开发者碰到的问题,硬件太差,高性能游戏引擎跑不起来,用低性能引擎,体验不好,不过这只是很小一小部分高质量游戏可能碰上的问题,但做高质量游戏的开发者水准一定不低,说不准对他们来说这根本就不是问题


各种系统版本,其实系统api没太大的变动,正真实用的高版本api大都在suppoutV4包中,开发者只要不是纯新手就能解决。造成这种现象的原因和解决方案下文会说,这也是我写这篇博客的原因


各种屏幕分辨率,也不是很大的问题,安卓本身就提供了解决方案,只是增加了开发者的工作量,不足为道


各种粗制滥造的room:不知道别人碰到过没,有一次用同事的手机做测试,结果系统api调用没反应!一开始以为是代码出问题了,调试了一头汗,才发现是他刷的系统有问题(虚拟机,其他手机没问题),一个api没实现,怎么调用都没反应。当时我就XXX了


上述都是些小问题,基本连我这新手都能解决,其他人更别说了下面的才是重头戏


在去年看了一篇文章,是说安卓不可分支,并不开源的,当时只是一飘而过,没重视。文章大意是说:

谷歌把安卓分成了两部分,一是Android开源平台(AOSP)底层代码,也就是可下载的源码,我们一般的用java的应用开发就是使用AndroidFramwork提供的api进行开发,ndk开发是跳过AndroidFramwork用java代码直接调用C/C++库,在通过jni技术开发。二是「Google服务套件(GMS)」,它包括所有"谷歌"开头的安卓系统级应用,当然在中国大陆,安卓手机是没有的,需要root手机后自己安装,GMS提供了一大堆十分实用的系统级功能和可调用的api。这也是谷歌解决安卓碎片化的方法,在安卓系统api上不做太多重大更新,新的系统级功能全通过GMS来实现!而GMS是应用,尽管是系统级应用,但它可以不开源!有了GMS安卓手机才称得上是智能手机!在我国很多人一旦使用了苹果手机后就对安卓手机不屑一顾大多是因为安卓手机在功能上没苹果好,我国因为国情,安卓手机没有GMS,比起苹果手机,更像一个工程机!!!这也是在中国明明苹果手机“看起来”比安卓手机好用,但在全球安卓手机占有比例更大的原因,在国外安装了GMS的安卓手机一点也不必苹果手机差多少!

至于「Google服务套件(GMS)」是什么,我就不复制剪贴了,网上一大堆资料

GMS的存在是谷歌一开始的计划,也是谷歌控制安卓发展的利器,所以系统碎片化什么的一开始就是谷歌的计划,有了GMS,即使是2.x的系统,用户体验也不比4.x的系统差

很多国外开发者开发的高级安卓应用是使用系统api+GMSAPI开发的,他们不是抱安卓系统的大腿,是抱谷歌的大腿!

这种应用在没GMS的手机上是跑不起来的,我也是为了玩coc才了解这些的,否则都每个概念啊

然后有人就要问了GMS的存在只是把安卓变得不开源,api被谷歌控制而已,没太大的问题或者说不会影响到不同开发者啊。没错,GMS主要是针对其他公司的(参考Amazon的Kindle Fire),对国外其他开发者没太多关系,他们可以选择不用gmsapi,用了也没事,外国手机大多数都安装了GMS。但是在中国不同啊!


今年大约5月吧(我以前不怎么关心谷歌的事)具体时间忘了,谷歌在中国的所有服务,除了谷歌地图/翻译,都不可用了,安卓开发者官网也不能用了,央视指名谷歌帮助美国窃取中国情报,再加上GMS是一堆云服务。通过以上现象,你们能得出什么结论?中国默认不允许开发使用谷歌云服务。所以在中国大陆,安卓手机只是一台可以使用安卓app的工程机。对于开发者来说什么vpn,root都没问题。但是一般用户是不会去做这么麻烦的事的,应用开发出来是给人用的,用户不会去vpn,root,所以开发依赖GMS的应用也没意义。


那么缺少了GMS的安卓api是不完整的!从很多信息中我看到中国对谷歌的决心,谷歌服务在中国可能永远不可用了,及时解封了,你们还敢用吗?


对于我国安卓开发者来说,安卓系统是不可升级的,想2.x到3.0的大升级(为了支持平板电脑Fragment)很难在出现了,一想到这,我就觉得前途渺茫!


我认为尽管GMS不是开源的,但api确是公开的,我们为什么不去制作一套开源的app来实现GMS的api?

依靠个人或公司来实现GMS API是不可能的,Amazon就是前车之鉴,但可以通过开源社区的形式实现啊!特别是有些功能,没必要重新实现,例如百度地图,完全可以开发一个开源的中间层app来连接GoogleMapApi和百度地图!


安卓的成功不是建立在开源上的,是对硬件的抽象和AndroidFramwork的公共的API才造就了安卓的辉煌,对硬件的抽象使生产商只要提供符合接口的硬件驱动,公共API使开发者的app兼容符合AndroidFramwork的所有安卓系统


谷歌的安卓系统不能有分支,是因为开出一条功能齐全api完整的安卓分支代价太大,而安卓有近一半的系统级api是不开源的,个人或公司没有这成本去实现不开源的系统级api,但可以开发开发开源的中间层app,让已有的app去兼容那一半的api啊!






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值