开园第一篇 - 论移动开发环境 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 ...
随机推荐
- PRML
PRML 学习之 第一章 介绍 Introduction #欢迎共同学习和讨论,由于本文将不断修改,谢绝转载 模式识别问题具有重要且久远的历史.比如,16世纪开普勒发现行星运动定律,又如20世纪出发现 ...
- Android笔记之——消息Toast
java: package com.example.myapplication;import android.support.v7.app.AppCompatActivity;import andro ...
- Win32 RGB三原色
以前看到三原色的图案,一直很好奇是如何画出来.后来终于搞清楚了,其实很简单,实际上就是RGB三个分量的"位与"运算. 下面给出Win32绘制三原色图案的例子,特此记录在此: #in ...
- linux 定时执行php脚本
第一种方法: 1.编写shell脚本: shell文件:/home/www/shell/phpshell.php #!/bin/bash while [ true ]; do /bin/sleep 1 ...
- jquery 时间控件怎么能禁止输入只能选择日期?
jsp一个input输入框用的是easyui时间控件,现在问题是如何是这个input只能点击选择日期,而禁止手动输入 解决方法::: 在日期的input标签里面添加::::editable=" ...
- C++STL学习笔记_(1)vector知识
#include<iostream> using namespace std; #include "vector" //数组元素的 添加和删除 void main31( ...
- 在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib
为什么要CMake,这里我陈述自己的想法,作为一个刚使用opencv库的小白来说,有以下大概三点内容 1.由于在学习图像处理滤波器中,需要用到各种边缘保护滤波器(EPS)算法,但是这些算法在OpenC ...
- python——面向对象篇之异常和反射
内置函数isinstance和issubclass 1.1 isinstance用法: isinstance(string,str) 判断第一个参数是否是第二个参数的子集,例如: print isin ...
- Python3实现最小堆建堆算法
今天看Python CookBook中关于“求list中最大(最小)的N个元素”的内容,介绍了直接使用python的heapq模块的nlargest和nsmallest函数的解决方式,记得学习数据结构 ...
- 16.10.17学到的Java知识
1. 例:3-2.6==0.4的值是什么?可能乍一看,感觉是返回TRUE,因为3-2.6=0.4,0.4==0.4:所以返回TRUE. 然而,上面分析在JAVA中是错的. 由于浮点数的运算在JAVA中 ...