苹果系统是闭源的,为啥它的生态那么好,那么多开发者被限制还愿意去开发,怎么发展的?
苹果手机是成也闭源,败也闭源。我前几天刚刚换掉苹果改用安卓系统的手机。首先苹果手机确实没有卡顿等问题,用起来确实流畅舒服。但用久了就会发现一个问题,我也不知道怎么形容,简单来说就是不自由,就好像我自己就是个木偶,我想怎么用手机都要完全听从苹果公司的安排。这就是闭源的缺陷。
这个我想您可能是弄错了,没有开发者"愿意"去开发苹果应用,他们只是想赚钱罢了。
尽管近几年苹果手机的市场份额一直在下跌,但他依然是全球前三的存在,用户数非常庞大,最保守的估计应该也超过7亿。而且众所周知,由于苹果产品一贯的高价,所以苹果用户相对比较富裕,挣他们的钱比较好挣。应用开发者本身是没有信仰没有立场的,他们只是为了追逐钞票而已。
您同时还提到了一个问题,它是怎么发展起来的?这就不能不提到苹果教父乔布斯。他不仅是个设计上的奇才,也是一个营销上的天才,它将苹果手机由一种电子产品发展为一种宗教,直到他去世多年之后,全世界还有千万果粉在怀念他们的教主。
当乔布斯发布革命性的第一代iphone时,其实在手机市场上是没有对手的,那时候诺基亚还没有完成对塞班的收购,微软对移动市场漫不经心,安卓当时还是一家初创公司,与谷歌毫无关系。当iPhone 3G全球大卖的时候,苹果其实是没有对手的,处于独孤求败的位置。个人感觉一直到iphone 6,苹果都是智能手机市场中独一档的存在。
其实我相信大多数ios开发者都不喜欢苹果,先不说语焉不详的审核制度,用户付费要被抽成还要被压款,不允许使用第三方支付,不提供对账单,开发者志愿承担坏账损失……槽点不是一般的多。没办法,大家都是要吃饭的,为了挣iOS用户一点钱,咬着牙认了而已。
主要是先入为主而已,苹果是最早的智能手机,没实体键盘,积累到一定用户群后,用户多了加闭源正版率高,开发者就更愿意去投入,安卓和早前的PC游戏破解盗版高,开发者,游戏商就更愿意把游戏放到电视主机游戏上独占。
这个问题就相当于问单机游戏开发者"steam抽提成这么多,为什么你们还要上架steam啊"。
傻子都知道,上架app Store和steam都是为了将开发者利润最大化!
世界上有两个苹果改变了世界,一个是牛顿的苹果,一个是乔帮主(乔布斯)的苹果。
正是因为苹果初期在系统和手机硬件方面都给消费者耳目一新的感觉,让iPhone4以及iPhone4s爆火,吸引了大批优质消费者。
相比于当时搭载塞班系统手机的厂商,其手机性能以及系统层面来看都比iPhone系列的手机弱了不少。
这对于开发者而言,硬件的限制比人为的限制还要难受(毕竟人为的限制还能钻漏洞,如后来APP store常年搞***)
除此之外,开发者是靠着用户活的!没有用户使用软件,就等于没有收入来源,而当时的iPhone也没有那么多的人为限制,对于开发者而言就是一片蓝海。
题主好,很高兴能回答这个问题!
苹果的生态是大家有目共睹的,但是生态的好坏和开不开源并没有必然的联系。我认为苹果的良好生态得益于以下几个方面:
一、闭源
对,你没有看错,就是闭源。为什么这么说呢?我们不妨来分析一下。相对开源来说,闭源最大的优势就是规范。做过Android原生开发的同学或许对这一条深有体会,这种体会主要来源于做适配和兼容。不论从机型,还是从操作系统的版本上来看,IOS和Android都不是同一个数量级的。此外,由于Android的开源,很多厂商会对其进行二次开发和定制,在这样的一个基础上做开发,是不是会很累?
二、用户群大
苹果的生态和苹果用户是密不可分的,所谓有需求才有市场,有市场才有发展。如果某一天苹果没有了用户,一个开发者都不需要了,那也就谈不到生态了。至于为什么会有那么多小伙伴选择进行IOS开发,我想和前些年的前端开发热度有很大的关系。学什么不是学,为啥不学个挣钱多的,您说是吧!
三、规范
开发一个***有多难?
先说一点,我是前端工程师,所以开发***使用的是H5的东西,不是原生安卓和IOS,当然还有个很火热的Flutter,虽然没完全投入使用。所以我以下说的只针对前端的想开发***的朋友。当然我也刚开发了几个,还有很多经验不足,如果写的有问题希望指正。
其实我做开发刚刚一年多的时间,说实话我感觉如果只是开发市面上已经有的东西,还是相对容易的,[_a***_]有很多成熟的框架,有很不错的api借鉴,网上也有很多***,很多时候都可以查找到。你遇到问题之前没准有很多前辈已经遇到过,多多上官方论坛,跟大家交流学习。我感觉真正困难的东西是你能不能做下去,不是说碰到个问题想都不想就找人问,这样的态度我不推荐。即使你的问题很简单,最后发现原来只是两行代码的事,但是这个结果也源于你之前的不断追问,知识学到了才是自己的。
跟大家简单分享下我的经历。第一个***是用的mui开发物流手持,简单说就是接单完单上传信息,查找历史单等等。公司就我一个前端,做项目之前mui我也才看了一周左右。确实只不过是页面而已,但是也有很多调用原生的东西。记得那个时候每天都工作到很晚,简单的登录列表显示页面,这些还是好写的。晚上下班之后我就留在公司查阅怎么调用系统摄像头,怎么使用二维码,怎么调用支付收款。也很紧张,自己从零开始做没人带。后来看了官方集成的html5+,很多都有样例,当然也会结合自己的功能稍作改动。也加入了几个qq群,虽然说有很多扯淡,但是也有很多人在探讨技术。所以***很多,自己主动去找。后来在开发的时候,开发效率就很快了。
当时有个很麻烦的事是调用地图。我是pc和***同时做的,pc派送,***接单,用的都是高德地图jsapi。但是到手机上就不好使了,我也不知为什么。也找了很多东西,但是打包出来的基本是地图不显示。问了有个人的显示,再细问他呢,他就说我也是刚弄,我的就能出来,人家厉害,我能说什么,自己捅咕呗。我清晰地记得弄了三周,别的布局什么写的也很快,所以经常弄地图了。最后真的是瞎猫碰上死耗子了,我真的不懂为什么是不是跟软件版本还是什么有关系。我没用sdk但是引了百度的地图sdk,jsapi使用的高德的,显示成功。当然很多人会疑问,你们不要纠结这个,重要的是效果一定要出来,我说出来可能很容易,也可能是运气,但是这一些都是建立在前期自己的努力思考,查阅资料。原来是看书明白了稻盛和夫,现在是实践中理解了稻盛和夫先生。
现在我在使用mui团队开发的另一个框架uni***开发一个简易版的头条。也是文章,专家,订阅,评论等等内容。开始时候自己慢慢看文档,看官方例子,动手去书写,深入了一下flex布局。公用的分装,优化promise请求。当然也遇到很多坑,像软键盘弹出对布局的挤压,这里面没有window,document这些浏览器的对象了。像富文本解析,还要对解析出来的文本字体放大缩小,图片点击,复制粘贴。uni***基本是基于微信小程序的api 语法,所以自己也去搞去找,上个月忙了整月,现在基本都可以了。不怕走歪路,走多了就知道怎么思考了,怎么解决问题了。