开园第一篇 - 论移动开发环境 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开始逐渐开放生态。
以上纯为个人观点,不代表任何公司或组织
开园第一篇 - 论移动开发环境 IOS与Android的差异的更多相关文章
- android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序
一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...
- 开园第一篇---有关tensorflow加载不同模型的问题
写在前面 今天刚刚开通博客,主要想法跟之前某位博主说的一样,希望通过博客园把每天努力的点滴记录下来,也算一种坚持的动力.我是小白一枚,有啥问题欢迎各位大神指教,鞠躬~~ 换了新工作,目前手头是OCR项 ...
- bookStore案例第一篇【部署开发环境、解决分类模块】
前言 巩固Servlet+JSP开发模式,做一个比较完整的小项目 成果图 该项目包含了两个部分,前台和后台. 前台用于显示 后台用于管理 该项目可分为5个模块来组成:分类模块,用户模块,图书模块,购买 ...
- 第一篇:php开发环境
Window: 1.XAMPPhttps://www.apachefriends.org/index.html 2.WampServerhttp://www.wampserver.com/ Linux ...
- 第一篇 Windows 8 开发Windows Metro style app环境配置
半 饱问 题 到 我 这 里 为 止! 第一篇 Windows 8 开发Windows Metro style app环境配置 2012-09-24 08:24 by 半饱, 1289 阅读, 3 ...
- 第一章 搭建Qt开发环境
第一章 搭建Qt开发环境 1.到http://download.qt-project.org/archive/上下载Qt的源码包.我下载的是qt-everywhere-opensource-src-4 ...
- 第一篇:打造专属开发工具Eclipse篇
第一篇:打造专属开发工具Eclipse篇 eclipse 优化 1.动画很酷,但如果可以的话,我总是在所有的工具中禁用动画.所以classic或者window classic主题是我最常用的主题 , ...
- Eclipse搭建Android开发环境并运行Android项目
Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...
- [Android] 环境配置之基础开发环境(SDK/Android Studio)(转)
[Android] 环境配置之基础开发环境(SDK/Android Studio) 博客: blog.csdn.net/qiujuer 网站: www.qiujuer.net 开源库: Geniu ...
随机推荐
- 9.5.8 Optimizing InnoDB Disk I/O
如果你数据库设计以及sq操作都是最佳实践,但是你数据库仍然被较重的io活动拖累的较慢,那么试一试看看top或者windows的任务管理器,cpu使用率和工作量低于70%,那么或许是您的硬盘较慢. 1 ...
- php返回数据库查询时出现Resource id #2
1.使用php调用MySQL数据库的过程是不是先用mysql_query(SELECT*...)或mysql_list_dbs()等查询函数返回结果指针(mysql查询函数中还有没有这样的返回指针函数 ...
- 配置BUG-Linux系统下ssh登陆很慢的解决办法
很多的Linux用户发现连接上Linux服务器在输入用户名之后还要再等一下才能输入密码,时间过长了,现在小编与大家分享一下如何解决ssh登陆问题的问题,希望对您有所帮助 . 1.我们平时登陆Linux ...
- oracle 数据库的学习1
1.oracle 数据库常用的基本类型 char(10) -->存储固定长度的字符串 varchar2(10)-->存储可变长的字符串 Date INTEGER -->存储整数 N ...
- [译]ABP框架使用AngularJs,ASP.NET MVC,Web API和EntityFramework构建N层架构的SPA应用程序
本文转自:http://www.skcode.cn/archives/281 本文演示ABP框架如何使用AngularJs,ASP.NET MVC,Web API 和EntityFramework构建 ...
- history对象的一些知识点
history对象可以保存用户的上网的历史记录,即从窗口被打开的那一刻算起.这里有个比较纠结的问题,出于安全因素的考虑,开发人员无法得知用户浏览过的URL, 只能通过用户访问过的页面列表,实现后退和前 ...
- Spring实现文件上传
(别人的见解) 在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传.但如果你想使用springMVC对文件上传的解 ...
- 《Breakfast At Tiffanys》
"生活中似乎有些男性想象着能拯救和引导一个年轻美丽纯洁善良却迷茫的女子,有些女性也想象着能用自己的善良与包容来安慰一个才华横溢却饱经苦闷与贫穷的男子,老实说,这很有成就感.虽然我的语气有些讽 ...
- ios第三方库和工具类
下面的是使用苹果电脑后,自己的一下积累吧.有好用的第三方库和工具,肯定会第一时间和大家分享的. 自己平时写的一些分类和工具库 SSTools已经在github上面开始更新了,欢迎大家来指正和补充 一. ...
- C/C++入门基础----指针(1)
指针其实就是一个变量, 和其他类型的变量一样.在32位计算机上, 指针占用四字节的变量.指针与其他变量的不同就在于它的值是一个内存地址,指向内存的另外一个地方, 指针能够直接访问内存和操作底层的数据, ...