• 开园第一篇 论移动开发环境 IOS与Android的差异


        首先,在真正写技术之前做个自我简介。本人08年开始学c语言 一年后,转vc++。开始接触MFC MFC做了两年。转眼11年了我考上了一个不知名的大专。搞C++发现没有市场了因为当时酷狗腾讯的软件已经日益成熟。想去打市场已经十分艰难(当时,自己很天真以为自己会做出个东西然后出去创业)而后,我卖了我的诺基亚N73买了一部三星galaxy ace(5830)就这样我开始走上了我的Google不归路。2012年我终于做出了我的第一个精品应用(所谓的精品应用是以工程师思维来看的 至少在我的5830上是飞一样的运行)并上架了Google play。俩个月之后,我发现我被Google坑了。不在中国玩了。Google退出中国了。我X,不带这么玩的啊!之后出现了两家Android应用市场。当时我就决定哪家也不上。你看看现在的Android市场是不是很赞同我的做法?之后很长一段时间我都没碰过Android除了学校作业之外。然后我也没闲着,我在研究mfc+c++9自定义用户界面,现在发现directUI比自己写底层OpenGL简单多了。不知不觉大三了,经过一番挣扎之后,做了半年Android外包。实习自费去了某大城市生活。由于实习的工资你懂得。逼得无奈继续外包吧。某一天我接了一个cocos2dx的项目这个项目如同神一样,改变了我的整个职业生涯。让我接触了apple,它让我知道了,什么叫真正的一处编译到处执行。边做cocos2dx边学习这object-c就这样IOS做到了现在。本人会以swift为主,oc辅助来写这个博客外带一点服务器知识。

        好了,废话少说切入正题。目前的移动端开发真的是太乱了。如果说这样会加速市场的多元化那么Android市场真的是太多元化了。叫个手机公司就做应用市场之后靠隐私赚钱。上个应用求爷爷告奶奶的。这样的软件市场以个人开发者的角度来看真的太难了。我宁愿多花点时间去做苹果。苹果在软件方面方便太多了。不用去考虑屏幕适配问题。通常Android做完一个ui效果各种测试各种莫名其妙的崩溃还有奇葩的分辨率(note,note2)和奇葩的屏幕造型(s6 edge,note edge)真的烦死了。

       以上是两大阵营的用户体验差异,接下来是开发差异个人Android喜欢用原生API+jni C++11写Android这种方法优势在于源码效率高,不过缺点也很多。比如,调试难、入门要求高;分块测试内容太多的时候很容易遗忘某些库。相比之下我更喜欢oc+c++11的IOS应用。由于oc不是基于java机制,oc和c++11融合的时候比Android好太多了运行效率根本不在一个数量级(jni)原理再怎么优化也不可能比直接执行来的快。

      UI开发:两大阵营的ui方面都支持丰富的自定义扩展,几乎可以达到完全自定义每个控件

      下面我就来说一下Android和IOS的缺点,优点我就不说了看看IOS和Android的缺点你更能接受哪个阵营

       Android4.0我认为是Android的第一个正式版之前全是bata版各种卡 各种慢我就不多喷了 Android4.0不装Google play而是装的厂家应用商店。结果带来的问题就是AndroidAPP质量管理不严,很多APP靠隐私靠推送赚钱,Android的APP始终没有一个严格的管理办法。

      Android的内存管理4.0~4.3无论开发者怎么遵循Android desgin 也终究没有解决内存泄露问题。好在 Android4.3把这个问题解决了。

      再反过头来看5.0 5.0固然不错但除了Google亲儿子又有几个能用上呢?所以这就衍生出了另外一个问题,如何做好Android的兼容性?一提到这个问题估计很多开发者都很头疼吧?当然这不是今天的重点,关于这个问题以后有机会再聊。

      说说IOS的缺点吧,IOS国内的学习资料比较少。开发必须用Mac os x 这在一定程度上提升了开发入门的门槛。况且苹果在IOS7以前IOS的生态是封闭的。几乎很少看到IOS的周边产品。IOS7开始逐渐开放生态。

       以上纯为个人观点,不代表任何公司或组织

  • 相关阅读:
    Best Time to Buy and Sell Stock I II III
    数据挖掘算法面试题
    C# 从CIL代码了解委托,匿名方法,Lambda 表达式和闭包本质
    ASP.NET MVC 5
    net破解一(反编译,反混淆-剥壳,工具推荐)
    面试题及相关参考答案
    Linux 查看内核版本命令的相关说明
    c# 获取应用程序exe文件路径及退出应用程序的几种方法
    C# WebBrowser设置代理
    c# combobox控件的使用
  • 原文地址:https://www.cnblogs.com/dctechnology/p/4502213.html
Copyright © 2020-2023  润新知