‘壹’ 学iOS开发和android开发哪个更有前途
学iOS开发和Android开发哪个更有前途?哪个更好学?这是目前很多想进入移动互联网开发行业的朋友尤为关心的问题。目前Android和iOS可谓是现在手机操作系统中的两大巨头。随着安卓手机和苹果手机的越来越火爆,现在从事手机开发的人员越来越多。而且现在越来越多的iOS培训机构、Android培训机构也如雨后春笋般涌现出来,也进一步反映出了这两个开发方向的主流趋势。对于许多想从事手机开发的人员,是选择学习iOS开发还是Android开发陷入了不能自拔的纠结当中,下面IT培训http://www.kmbdqn.cn/就从客观角度来为大家分析下这两个系统各自的利弊。
学iOS开发和Android开发哪个更有前途
ios培训机构认为,物以稀为贵,由于ios的开发比较封闭,要想深入的学iOS,不仅仅是有Objective-C开发基础,还要具备MacOS/Darwin、C/C++高级编程才能深入下去,所以入门相对难一些。不过,现在走在大街上,随处可见苹果手机,可以看出,苹果的覆盖率确实很高,虽然入门难,学习起来有一定的难度,但是iOS开发的高收入也是实在令人羡慕。
对于Android开发来讲,Android的程序是开源的,而且Android操作系统上的各种应用开发,绝大部分都是使用JAVA来开发的,跑在Dalvik虚拟机上,一小部分使用NDK,上手相对容易,在市场上,android的公司非常多,用人持续处于供不应求的状态,找工作相对比较容易。所以,在工资方面,Android开发的工资要低于iOS开发。对于基础不是很好的朋友,可以选择Android开发。
ios培训机构认为,对于Android开发和iOS开发哪个更有前景这个问题要具体情况具体分析,因人而异,不能光看薪水高低和外界乱评。如果你JAVA基础比较好,建议学Android;如果你C语言比较好,建议学iOS。不管你选择学什么,只要技术学扎实了,未来几年都会很吃香,尤其是iOS,市场规范管理有序,做应用开发比较省心。最后,套用一位网友所说:“你的兴趣才是你的心意,不可为做而做,那样你就只是工具了。”
对于一些基础比较差,但是又想从事Android开发或者iOS开发的朋友,小编建议大家可以考虑参加一些iOS培训的Android开发培训或者iOS开发培训班,这样可以让自己在更短的时间内掌握最精湛的技术。
‘贰’ Android和IOS开发图标、启动页尺寸
最近项目在做android和ios的项目,设计师让我给出图标的尺寸,于是查了一下尺寸。
第一步:产品经理和UI设计师制定好UI规范,然后开始做图标做颜色做尺寸等一系列和APP界面强相关的工作,以最常见的“back”按钮为例,UI设计师从无到有的具体实现步骤:
①在coreldraw或者Sketch中制作好“矢量图标“—返回,此时的长宽单位是毫米;
②保存输出为“PNG位图图片”—返回,此时的长宽单位是px(像素);
③指定好此图标的内外边距,此时的边距单位是px(像素);
④最终此图标图片交到开发者手中,做好图片的放置和内外边距的实现。开发这在这个过程中会遇到一个问题:内外边距是由px为单位的距离,但是在实际开发中“dp”做为单位的更加常见,所以就会涉及到“px”“dp”互转的封装类,专门用来实现这个过程,同时还要注意不同分辨率屏幕的适配。
(1)px,平常我们所说的手机的分辨率是1920×1080,这就是像素数量,也就是1920px×1080px,代表手机高度上有1920个像素点,宽度上有1080个像素点,每个像素点的单位是px。
(2)dp,dp是为了开发者便于做不同屏幕的适配而引入的开发单位,具体来说就是为了使得开发者设置的长度能够根据不同屏幕(分辨率/尺寸也就是dpi)获得不同的像素(px)数量。比如:我将一个控件设置长度为1dp,那么在160dpi上该控件长度为1px,在240dpi的屏幕上该控件的长度为1 240/160=1.5个px。也就是dp会随着不同屏幕而改变控件长度的像素数量。
(3)DPI,用户实际判别手机屏幕的显示好坏,除了分辨率还要考虑屏幕的宽高(英寸),也就是用dpi,即每英寸多少像素来评价屏幕的显示效果。(不然假如手机分辨率是1920×1080,但是屏幕是几十寸的,那显示效果将不会很好,甚至你有可能看到小的像素块,那将更影响视觉效果。)
三、Android开发中图标尺寸总结(务必掌握):
(1)dpi、分辨率与图标尺寸的关系L DPI ( 120 DPI )—分辨率240 320px,其启动图标大小为 36 x 36 pxM DPI (160 DPI )—分辨率320 480px,其启动图标大小为 48 x 48 pxH DPI ( 240 DPI )—分辨率480 800px,其启动图标大小为 72 x 72 pxXH DPI ( 320 DPI )—分辨率1280 720px,其启动图标大小为 96 x 96 pxXXH DPI( 480 DPI )—分辨率1920 1080px,其启动图标大小为144 x 144 pxXXXH DPI( 640 DPI )—分辨率3840*2160px,其启动图标大小为192 x 192 px
(2)开发中“px”到“dp”从 px 换算成 dp 要知道它是以什么 dpi 标准来设计的,换句话说,就是要根据不用分辨率的屏幕,根据换算关系表得到相应的 dp 。 例如: 以 xxhdpi 标准设计的 UI,其中一个切图的分辨率是 600 px * 360 px ,根据换算关系表可知,在 xxhdpi 标准下,1 dp = 3 px ,则其对应的 dp 是 200 dp * 120 dp 。换算关系表如下:(两次标红 请重点关注)
36 x 36 48 x 48 64 x 64 72 x 72 96 x 96 144 x 144 192 x 192
具体的图标尺寸可以打开xcode ,在项目目录下找到Assets.xcassets文件,这个文件里面标识出了所需要的图标尺寸,下面标识的是基本尺寸,2x就是底部尺寸x2 ,即下面的尺寸为80pt和120pt
看了一下新的苹果开发文档和Xcode给的AppIcon坑,发现又新增了一些尺寸的图标。在这里整理一下最新的最全的icon尺寸。
itunes中使用的icon
1024 * 1024
iPhone: iOS7-10桌面图标
60 * 60
120 * 120 @2x
180 * 180 @3x
iPhone: iOS5-6桌面App图标
57 * 57
114 * 114 @2x
iPad: iOS7-10桌面图标
76 * 76
152 * 152 @2x
iPad: iOS5-6桌面图标
72 * 72
144 * 144 @2x
iPhone: iOS5-6的搜索 iOS5-10的设置
iPad: iOS5-10的设置
29 * 29
58 * 58 @2x
87 * 87 @3x
iPad: iOS5-6系统搜索图标
50 * 50
100 * 100 @2x
iPhone、iPad: iOS7-10系统搜索图标
40 * 40
80 * 80 @2x
120 * 120 @3x
iPhone、iPad: iOS7-10通知栏图标
20 * 20
40 * 40 @2x
80 * 80 @3x
iPad Pro: App桌面图标
167 * 167 @2x
iPhone汇总:
1024 * 1024
120 * 120
180 * 180
20 * 20
40 * 40
80 * 80
29 * 29
58 * 58
87 * 87
57 * 57 (iOS5-6)
114 * 114 (iOS5-6)
iPad汇总:
1024 * 1024
76 * 76
152 * 152
20 * 20
40 * 40
80 * 80
120 * 120
29 * 29
58 * 58
72 * 72 (iOS5-6)
144 * 144 (iOS5-6)
50 * 50 (iOS5-6)
100 * 100 (iOS5-6)
167 * 167 (iPad Pro)
APP启动页,即LaunchImages,需要五张不同尺寸大小的图,切记一定要选择png格式,否则打包时报错,导致APP适配失败。
五张图的大小即:320 480、640 960、640 1136、750 1334、1242 2208 828 1792 1125 2436 1242 2688
分别对应的iphone屏幕尺寸:iphone 3GS、iphone4(s)、iphone5(c、s)、iphone6(s)、iphone 6(s) plus 、iphoneX(S)、iphoneXR、iphoneXs Max.
具体步骤:
第一步:
1.点击工程目录中的Images.xcassets,点击左侧边栏的LaunchImages(如果没有,在空白处右击创建一个)
2.然后在xcode最右侧的边栏处选择你的APP是否要对ipad、横竖屏、以及低版本的iOS系统做支持。
第二步:
将填好的图片配置到工程中的启动页选项中
点击项目目录的工程 -> target -> General -> App Icons And Launch Images
将Launch Images Source的选项设置为LaunchImages,切记当APP不是用LaunchScreen.xib来配置启动页时,LaunchScreen File的选择状态一定为空!否则编译无法通过
如果此时还没有显示的话,那么你先删除app,然后再运行一下项目看看
参考网站:
https://blog.csdn.net/weixin_41101173/article/details/79644613
https://blog.csdn.net/it_male/article/details/80434269
‘叁’ 苹果电脑(MacOS)上开发Android程序,兼容性如何
苹果电脑上开发Android程序兼容性还是非常不错的,具体开发步骤为:
1、安装eclipse
因mac系统里自带jdk,所以不需要再下载,也不需要在eclipse里配置jdk。
在eclipse官网上就有mac版的下载。网址是http://www.eclipse.org/downloads/.选择第一个Mac版的Eclipse IDE for Java EE Developers。
2、安装adt
可以网上查下离线安装adt
打开eclipse - Help - Install New Software
插件地址是: http://dl-ssl.google.com/android/eclipse/
以上跟windows下是一样的,就不多说了。
以前的eclipse并不支持retina屏幕,但目前最新的已经解决了这个问题。如果有同学还发现eclipse显示模糊的问题,可以用试试以下两种方法
一、在Eclipse.app上点击右键 选择“显示包内容” 然后打开Contents文件夹 编辑 Info.plist。在dict的结尾标签上添加一行
<key>NSHighResolutionCapable</key>
<true/>
二、可以使用神器,把所有不支持retina的app的改成支持retina,可以在威锋网上搜索“Retinizer”
4.下载和安装mac版的android tool
打开网站:http://developer.android.com/sdk/index.html 选择Mac OS X 的SDK版本进行下载。最好存放在英文目录下
剩下的都是跟windows一样的。启动后下载android各个版本的jar,并且在eclipse里配置
5.模拟器
因为android自带的模拟器非常慢,所有有些windows上的同学会选择第三方的模拟器。很不幸,mac上目前来说并没有第三方模拟器。
android自带模拟器因为是CPU是ARM的,所以才导致太慢。其实可以在android tools里下载Intel CPU的模拟器。
可以在android tools里选择Intel
新建模拟器的时候,选择Intel的CPU
实验下来,速度提升不少。基本已经满足日常开发(这一点也同样适应windows)
6.真机调试(关于驱动)
令人高兴的是,mac下的adt默认支持大部分的android手机,所以,一般手机连上mac,会自动在Device里显示。
但一些不常见的,就不能显示出来。而且mac跟windows不一样,很难找到mac下的该手机的驱动。其实这不是驱动问题,而是adt不知道该手机的USB Vendor ID。可以通过另外一个方法解决
一、首先要下载一个app:IORegistryExplorer。通过这个app可以查看连接上的USB设备的信息。选择IOUSB,可以看到名为“xxx”的设
备,找到idVendor
二、打开文件:~/.android/adb_usb.ini 。然后直接在最后一行加上idVendor的值
最后重启adt,就可以在Devices里看到该手机的信息了。
‘肆’ iOS+Android原生开发什么意思
你好,原生(native)开发一般是指用原生开发语言开发,原生开发语言就是开发整个系统时使用的编程语言.对于iOS来说就是Objective C,对于Android来说...不太好说,因为Android用的Linux内核是用C开发的,中间层的库是用C/C++开发的,但应用程序框架和应用程序都是用"Java"开发的,这个系统就是用一堆开源的工程拼起来的,真不太好说哪种语言算是它的原生开发语言原生App实际上是一种基于智能手机本地操作系统如Android、IOS和Windows Phone并且使用原生程序编写运行的第三方移动应用程序。开发原生App软件需要针对不同智能手机的操作系统来选择不同的App开发语言,如安卓App是Java开发语言、IOS APP是Objective-C语言、Windows Phone的APP开发是C##语言。
如今市面上多数的APP软件开发都是使用的原生程序编写的应用程序,也就是说大部分的手机APP属于原生APP应用软件。原生APP因为位于平台层上方,所以向下访问和兼容的能力也比较好,可以支持在线或者离线消息推送或是进行本地资源访问,以及摄像拨号功能的调取。
原生App
原生APP又称Native App,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
原生App
1、每一种移动操作系统都需要独立的开发项目。
2、每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等。
3、需要使用各自的软件开发包,开发工具以及各自的控件。
原生App仅供参考
‘伍’ iOS 开发好还是安卓开发好
iOS和Android各有各自的优势。在系统体验方面看个人的喜好选择。iOS与Android互有优势与劣势,以下是iOS和Android简单的比较:
1、iOS是封闭性系统,相对来说比Android安全,Android是开放系统,功能扩展强。
2、从配置过程来看iOS开发环境是非常完美,下载官方提供的Xcode之后直接安装即可就可以开发。Android需要先下载Java环境,然后去Windows里面做好配置环境,然后下载Eclipse这个环境再在里面做各种复杂的配置操作才可以配置好开发环境。谷歌推出Android Studio开发工具后可以缩减配置过程,现在主流还是复杂的Eclipse为主,因此从配置来看iOS是比较简单的,而Android是极其复杂的。
3、苹果的开发环境是非常霸道,必须要用Mac电脑的OS X系统才可以开发iOS,Windows是无法做iOS开发的,除非做虚拟机,真正做iOS开发的时候是不可能用虚拟机搭建OS X来做开发的,这样速度会及其缓慢,无法开发任何大型程序。Android虽安装起来复杂,但具有很好的适应性,不仅能够在Windows上开发,也能在Mac、Linux系统上开发,没有任何问题。
4、Android在真机调试上就远远优于苹果,Android开发者只需要打开调试开关就可以调试手机,iOS不同,iOS需要证书、描述文件、Apple ID、开发者账号,搞半天才可以进行调试。
5、iOS的触摸显示做的非常的好,滑动很流畅。但性价比iOS没有Android高。
iOS和Android平分秋色,哪一个也不可能独占市场的。可能在使用体验上,大家都会认为iOS会好一些。因iOS是开放的,会给大家一定的自由空间。就业薪资待遇方面iOS也是比Android偏高些的。
‘陆’ Android开发和iOS开发那个更有前景如何选择
就索性进行了一番调研,于是有了本文(本次不讨论越狱的iOS) 首先从情感上,你喜欢哪个就好,就像百事可乐和可口可乐,当然这个比喻不是很恰当,因为可乐喝起来几乎一样,但是Android和iOS还是有很大差别的。 iOS来源于Apple的OSX,是UNIX系统,OSX已经有差不多10年的历史,从内核底层到软件架构都是逐步发展过来的。iOS使用ObjectivC这个古老的语言来做开发。而Android是Google基于Linux搞来的,严格意义上讲Android并不是一个Linux系统,它没有Linux的xwin,没有glibc,缺乏一整套标准的Linux程序。Android应用绝大部分都是使用JAVA开发,跑在Dalvik虚拟机上(一小部分使用NDK)。 Google在底层也修改了很多东西。Android算是一个全新的操作系统。 所以: Android使用JAVA,上手容易很多,如果有很好的JAVA Lib加持,开发效率会高些 iOS没有虚拟机, 也没有GC,性能要好一些,当然这个差别会随着Google的改进越来越小 iOS的开发框架很成熟,而且和MAC上通用,同样的知识体系,也可以开发MAC应用,Android相比是全新的框架, 还会继续进化。 iOS和设备紧密集成。软硬件一家公司通吃。但是Android无法做到, 通常的情况是:Google放出源代码。 芯片厂商需要1-3个月来做自己的芯片方案, 手机厂商从芯片厂商处买到方案和代码, 进行自己的集成,定制工作,有时候还需要针对运营商进行定制。 所以: iOS的设备集成度和驱动优化都是最好的。电源管理一块就可见一斑,而Android厂商就鱼龙混杂。可能排头的厂商的旗舰机器会好些,但是由于Android工期一般都比iOS设备短(请看HTC和三星出机器的速度),所以整体上和iOS比是有差距的。 由于有多家厂商自己做定制,Android还存在设备的分裂问题(fragmentation), 作为过来人,我告诉你这个是很头痛的事情, 且不论调试时间和人力, 光买一大堆设备的成本就不小。最关键的是它会伤美工/UE的心。 iOS是被Apple严格控制的系统。 在大部分情况下, 第三方应用是无法拿到所有API的。 这意味系统级别的很多功能只有Apple能做(比如打电话,拦截短信)。此外一些涉及用户隐私的API还会导致系统弹出对话框询问用户。 同样第三方runtime做应用开发也是基本不可行的(Flash当初也是被这个条款拒过)。 反过来Android完全不一样,首先Android是开源的,在设计上Android就允许自由替换系统组件, Android也没有强制限制API的情况,(hidden API也可以call,没有人会找你麻烦)。 系统级别的权限是下放到厂商手中,如果厂商愿意给,那第三方开发者就可以做任何事情。 普通应用的权限认证也是在安装的时候就一次性授权完成。 之后不会骚扰用户。所以: Android平台可以做的事情远远比iOS多, 你可以做电话管理,地址簿,短信管理,可以自己跑后台service。 替换掉系统的组件非常容易 Android平台也可以跑其他系统的Runtime, 比如Flash, 有了NDK, 你要自己接入一个虚拟机也是可能的。Google不会管你 任何人可以拿Android自己改个独立的系统出来,也许这样做的意义和前景有问题,但是同样,没有人限制你 iOS上唯一的下载应用途径就是Appstore,开发者做应用上线还要通过Apple审核,就算通过了,如果挂羊头卖狗肉乱来或者调用了不该用的API, Apple一样随时可以下架。管理非常严格。反过来Android上非常松懈: 厂商可以内置应用。经常会扔一些莫名其妙的软件预装在手机上, 笔者在厂商的时候深刻体会到乱选软件是很好玩的事情。而且我们不会让你删除掉的。 Google的官方菜市场不做应用审核,开发者上传软件很随意,这是个自由市场。 国内还存在大量第三方软件菜市场。以及豌豆夹类似的PC端管理软件。 如果用户选择允许未知来源,那么通过web下载或者安装卡上的软件也是可以的。似乎国内用户都是允许的。所以: iOS上的精品软件多,竞争激烈但管理有序,开发者也容易挣钱。 Android上虽然也有精品软件,但是垃圾软件更多, 甚至有恶意软件。 因为无门槛,基本上软件都是免费,卖不起钱, 大部分都靠广告。 Android还有一堆杀毒软件,这是典型的没有困难,制造困难也要上的精神。 Android上还有一堆安慰剂软件,比如能帮你省电的或者是帮你杀后台进程的来提升性能的, 笔者作为做过底层开发的人,笑而不语。 如果你是普通用户,请关贴, 本文不是用来给普通用户选机的。 如果你是一个个人软件开发者, iOS适合你, 市场规范, 做应用省心。 如果你是一个软件和服务的创业公司, iOS也是适合你做demo的和第一个产品的, 产品靠谱了,用户在用了,有人给钱了,再往Android走也是可行的。 除非你做的应用要涉及硬件或者需要非常高的系统权限, 如果是那样你也只有选择Android。因为国内的厂商肯定要比苹果要容易谈下来。 如果你是一个要做硬件和系统定制的公司, 那么基本上你只有Android可以选。Android的解决方案的成本也在不断下降。 如果你是一个有中国特色的公司,想搞点移动业务玩玩, 还要瞒着用户做很多事情。 那么Android也是更好的, 就算你不作恶, 控制权在自己手中也会方便运作一点。所经如何选择,不用我多讲,这两个都是当今移动互联网开发的方向,但是一个开源学习起来更容易,做东西更快,有绝对的控制权。一个不开源,只能做上层应用,但也可活的很好,就是这样。