上一篇从框架的角度介绍了iOS开发,本来这一节是要讲autolayout的,但是由于刚开始,可能很多移动端开发的同学,有的学android的,有的是从事iOS的,根据公司业务的调整,可能会存在互相的转型,因此,这篇文章就带领大家一起看看安卓和iOS的区别。

本人在刚开始接触移动开发是在android平台上的。很多人选择安卓和苹果两个平台可能是基于日后的薪资问题,其实就我个人而言,根据自己的爱好选择其一即可,app开发整个的流程都是一样的,掌握了其中一个,只要在语言上下下功夫,上手是没有太大问题的。

接下来,我会从多个维度向大家介绍app开发在两个平台的不同。

1.前期准备

(1)安卓自然需要一台windows电脑(以windows为例),安装配置好eclipse环境,或者android studio(目前主推),然后就可以开发了,真机和模拟器都可以运行。

(2)iOS开发的成本相对高一点,一台mac本,一部苹果手机,当然模拟器也可以,还需要注册苹果开发者账号,然后安装好xcode就可以开发应用了。

2.编程语言

(1)安卓主要使用java编程,当然通过jni等一些方式可以直接调用c的代码。

(2)iOS使用objective-c或swift做开发,也支持c的调用。

(3)二者都是面向对象的编程,对变量、函数权限的控制基本一致,安卓采用自动垃圾回收机制,iOS也支持ARC自动释放。

3.框架

(1)安卓的框架如下:

android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
蓝色的代表java程序,黄色的代码为运行JAVA程序而实现的虚拟机,绿色部分为C/C++语言编写的程序库,红色的代码内核(linux内核+driver)。在Application Framework之下,由C/C++的程序库组成,通过JNI完成从JAVA到C的调用。app的开发主要在application framework层,调用系统api实现各种功能。

(2)iOS的框架如下:

iOS应用程序基于Foundation和UIKit框架
在你开发程序时,主要使用框架就是Foundation和UIKit,因为它们包含了你需要的大部分东西。Foundation框架为所有的应用程序提供基本系统服务你的应用程序,UIKit和其它的框架都是建立在Foundation框架上面的。Foundation框架是用Object-C对Core Foundation框架里许多特性的封装。Core Data框架管着理应用程序数据模型,Core Graphics框架帮助你创建图形,Core Animation允许你创建高级的动画和虚拟效果,OpenGL ES 框架提供2D和3D绘图工具。

4.开发流程

(1)项目的创建大家可以在网上自己找找,比较简单,重点说细节。

首先安卓的源文件都是放到src对应的目录下,可以新建包名,类名。视图的布局、屏幕的适配以及图片资源、字符串都放在res目录下。整个工程的activity、service、权限配置等都放在AndroidManifest文件里。如果需要包含第三方库,则新建到libs目录,配置即可。

(2)iOS的源文件可以自己定义文件夹,根据需要命名不同的类型。视图的布局可以直接写在代码内,也可以定义在xib或storyboard中,图片资源的适配区分不同屏幕使用2x,3x命名即可。iOS的配置主要放在plist文件里,包括权限,bundid等等。

今天先写到这里,下一节再详细介绍二者在开发细节的不同之处。大家有问题或者建议直接给我留言。

移动App开发(包含iOS和Android转型)相关推荐

  1. 0-2岁的app开发人员必读,Android开发APP前的准备事项

    2019独角兽企业重金招聘Python工程师标准>>> 随着移动互联网的兴起,各行各业对移动应用的需求越来越大,从事APP开发的人也越来越多,APP开发行业可以说是方兴未艾.APP开 ...

  2. Flutter 淘宝 App,支持 iOS、Android

    GZXTaoBaoAppFlutter 项目地址:GanZhiXiong/GZXTaoBaoAppFlutter  简介:Flutter 淘宝 App,支持 iOS.Android 更多:作者   提 ...

  3. 写给Android App开发人员看的Android底层知识合集(1-8)

    写给Android App开发人员看的Android底层知识合集(1-8) 转自包老师:http://www.cnblogs.com/Jax/p/6864103.html 写给Android App开 ...

  4. app测试中ios和Android的区别:

    app测试中ios和Android的区别: 1.Android长按home键呼出应用列表和切换应用,然后右滑则终止应用: 2.多分辨率测试,Android端20多种,ios较少: 3.机操作系统,An ...

  5. ios和android区别是什么,app测试中ios和Android的区别:

    今天偶然看到一个面试题,安卓和ios的测试区别,一下子只能想到几个基础的点,后面百度了一下,答案简单记录一下. app测试中ios和Android的区别: 1.安卓手机针对每一款手机有不一样的操作:苹 ...

  6. 新手学HTML 5移动开发——面向iOS和Android平台 完整pdf扫描版

    新手学html5 移动开发--面向ios 和android平台的第i部分从第1章~第8章.第1章首先介绍了html4.01的基本原理,第2章通过生动且复杂的教程介绍了html5,其中包含了大量实例和屏 ...

  7. App测试中ios和Android的区别1

    App测试中ios和Android的区别: 一.多分辨率测试 1.手机常见分辨率: 4:3 VGA     640*480 (Video Graphics Array) QVGA  320*240 ( ...

  8. 手机APP测试中iOS和Android有何区别?

    目录 前言 一.常识性区别 二.导航方式 三.单条item的操作 四.关于排版 五.实体键 六.动效 前言 今天给大家浅浅的分享一下手机APP测试中iOS和Android有何区别? 一.常识性区别 二 ...

  9. app测试中ios和Android的区别

    1.Android长按home键呼出应用列表和切换应用,然后右滑则终止应用: 2.多分辨率测试,Android端20多种,ios较少: 3.机操作系统,Android较多,ios较少且不能降级,只能单 ...

最新文章

  1. 迁移学习之MobileNet(88层)和MobileNetV2(88层)
  2. 向基于Linux的Oracle RAC 10g集群添加新节点
  3. Bundler 的作用及原理
  4. opencv图片全景拼接详解
  5. 让Android Studio代码提示不区分大小写的方法
  6. selenium-04-验证码问题
  7. asp.net 提取html div,asp.net – 将div固定在html中的某一点
  8. vspy如何在图形面板显示报文_盘点市售三款USBC 86型面板插座,支持iPhone 12快充...
  9. mysql内容_mysql 的基本内容
  10. SSD 超详细入门(代码+原文)
  11. 如何在mysql中创建学生信息表_数据库怎么创建学生信息表
  12. 导航网/广告位/导航分类/可运营
  13. 【SDCC 2016】微影时代、普元、亚信、Fit2Cloud、VMware、京东商城、优维科技畅聊自动化运维与容器...
  14. android简单计时器源码,Android计时器的三种实现方式(Chronometer、Timer、handler)...
  15. java 大小写转换函数_java字符串大小写转换的两种方法
  16. OPENCV函数介绍:normalize()
  17. 概率论与数理统计基础概念与重要定义汇总
  18. 高分一号PMS数据预处理
  19. 密集预测任务的多任务学习(Multi-Task Learning)研究综述 - 网络结构篇(上)
  20. 新安装Win7 Windows Update 错误 代码80072EE2 80072EFE

热门文章

  1. 51单片机——USART半双工模式通讯-波特率可选1.2版本
  2. 懂一点Python系列——快速入门
  3. 一文让你了解关于DAO的全部
  4. 传奇手游腾讯服务器和微信哪个好,传奇手游:对于传奇老玩家来说,玩的是氪金PK还是坚持情怀?...
  5. Fortran 双冒号的作用
  6. 我是程序员,我在深圳卖肉夹馍
  7. 你或许不知道PHP的这些坑
  8. ES6 Generator函数 深入应用
  9. 五步制作出人见人爱的数据仪表板
  10. 德扑AI之父:赢不赢柯洁 阿尔法狗都缺乏实际用处