ios开发是什么语言
展开全部 iOS开发主流编程语言是Object-C以及Swift。
Objective-C主要用于iOS开发。
Objective-C在C的基础上,加入面向对象特性而成的编程语言。
Swift是苹果公司在2014上发布的全新开发语言。
Swift内在依然是Object-C,但Swift大大地降低了开发门槛。
常规的C和C++亦可用于iOS开发。
但使用C和C++做ios开发的人越来也少。
...
苹果ios系统里开发者是什么意思
第一步,学习开发语言Objective-C。
参考书看《Objective-C基础教程》这本书就行了。
书看到后来还需要补充一些关于面向对象的知识,一般计算机专业的学生都是在学C++的时候接触这类思想的。
我推荐的那本参考书里也会有一些讲解,进阶的学习需要以后再去看资料,没有特定教材,因为面向对象是一种编程思想,好在Objective-C本身就是这种思想的体现,以后写代码的时候可以慢慢体会。
学完《Objective-C基础教程》,就会对iOS开发中所用到的基础数据类有一个了解了,这时候应该就可以写简单的无界面程序了。
第二步,学习iOS开发的软件运行原理,软件开发思想、规范以及一些苹果公司提供的常用标准UI(User Interface,用户界面)控件的使用方法。
这个阶段推荐的参考书是《iPhone 4与iPad开发基础教程》,该书有中文译本,虽然不是最新的iOS教程(最新的教程应该是iOS7开发基础教程,但是该书没有中文译本,如果英文过硬,看这本书当然最好)。
第三步,熟悉常用第三方控件。
因为苹果本身开放性的局限,其提供的标准开发库会有一些功能局限,智慧无线的网友们开发了各种各样的第三方控件来实现他们想要的功能,可以使开发过程事半功倍。
此部分为进阶学习内容,需要在掌握前两步内容的基础上展开。
这一步主要是试用,学习第三方代码,要求阅读第三方开发文档以及代码多一些。
可以与开发同时进行,边学变进行软件开发。
除了参考书,这里推荐一个网站“Cocoachina苹果开发中文站”里面分享了很多网友的代码,并且可以对自己学习过程中遇到的问题进行讨论。
学习初期,中期以及后期进阶都可以在这个论坛找到相应的学习资料与代码,并且可以通过发帖得到大神的技术指点。
对应的英文网站是Stackflow,此网站偏重实际开发问题的解决,交流语言为英文。
另外,斯坦福大学每年都开设iOS开发的公开课,从Objective-C的学习到最后的控件使用以及开发思想,架构的学习,都有涉猎,是很好的视频教程。
网易公开课中有以往课程配中文字幕的视频,而最新的课程一般没有中文字幕,并且,该课程选择默认学生已经有C++编程基础,可能对于初学者会困难一些。
视频属于公开资源,在搜索引擎上搜索斯坦福、iOS等关键字,即可找到相应资源。
刚刚简单搜索了一下,优酷已经提供iOS7开发的高清视频专辑。
最后,无论学习哪个操作系统的软件开发,最关键还是要多多练习,因此大量的写练习代码,看别人的优秀代码很重要。
是否可以解决您的问题?
学ios app开发和学android开发那个比较有前途?
展开全部 您好,首先从情感上,你喜欢哪个就好,就像百事可乐和可口可乐,当然这个比喻不是很恰当,因为可乐喝起来几乎一样,但是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也是更好的, 就算你不作恶, 控制权在自己手中也会方便运作一点。
所经如何选择,不用我多讲,这两个都是当今...
想开发个软件,是自己组织团队好还是外包给软件公司?
展开全部 企业无论是选择自主开发还是把项目承包给外包公司,这两种开发方式都有自己的优势,企业在选择开发模式时要切实的根据企业自身的具体情况以及自身的发展策越,就APP应用软件在企业长期发展过程中价值所占的权重来看,一般可分为以下两种情况。
第一:纯粹的产品宣传可以选择外包公司;第二:大型企业可考虑自主进行手机APP开发;对于用户来说简单好用、达到的需求那就是完美的,所以一切都以站在用户的角度出发。
...
ios系统和Android区别?
IOS与安卓的区别:1、两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
2、两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。
3、IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。
iphone沙盒机制解释:应用程序位于文件系统的严格限制部分,程序不能直接访问其他应用程序。
以杀毒软件中的沙盒技术解释一下。
“沙盒”技术是发现可疑行为后让程序继续运行,当发现的确是病毒时才会终止。
“沙盒”技术的实践运用流程是:让疑似病毒文件的可疑行为在虚拟的“沙盒”里充分表演,“沙盒”会记下它的每一个动作;当疑似病毒充分暴露了其病毒属性后,“沙盒”就会执行“回滚”机制:将病毒的痕迹和动作抹去,恢复系统到正常状态。
安卓虚拟机机制解释:android本身不是为触摸屏打造的,所以所有的应用都是运行在一个虚拟的环境中,由底层传输数据到虚拟机中,再由虚拟机传递给用户UI,任何程序都就可以轻松访问其他程序文件。
【高分】iOS开发和Android开发,哪个更有前景?
展开全部 首先从情感上,你喜欢哪个就好,就像百事可乐和可口可乐,当然这个比喻不是很恰当,因为可乐喝起来几乎一样,但是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天然存在升级周期延迟的问题, 而且厂商做升级是也是有成本的。
卖手机的厂商无法顾及整个生态链,目前这个无解,除非Google做点什么。
由于有多家厂商自己做定制,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的解...
ios系统软件开发使用那种开发程序和语言
开发语言是Object C,开发环境是 Xcode。
Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发。
Xcode是开发OS X 和 iOS应用程序的最快捷的方式。
Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。
Object-C通常写作Objective-C或者Obj-C或OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。
它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。
Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。
在MAC OS X系统下,运用苹果提供的SDK等开发工具包,可以用来做IOS开发,开发后的程序在Iphone虚拟机中进行测试,运用的主要语言为Object-c。
与C#类似。
Object-c仅支持单一父类继承,不支持多重继承。
ios系统好还是安卓系统好?
展开全部 从系统来看,ios的系统会更好,安卓系统的软件有很多都是从ios的系统中破解来的。
IOS是iPhone的手机系统,是闻名世界的封闭式系统,严格意义上,不越狱的iPhone就是一个苹果的移动终端,什么都是苹果说了算的,但是它的做工和稳定性的确是没得说的,最新版的ios还不支持越狱。
安卓系统是最近很火的,相对来说,还不算封闭式,乔布斯说安卓是抄的苹果,其实在一定程度上,安卓还是有点苹果的影子的。
说到底,使用安卓的软件不要钱,用苹果,不越狱就得付钱。
苹果有面子,做工好,系统稳定,但是也已经是街机,而且价格偏高。
就安全性来说Android系统比iOS系统要危险的多,因为Android为开源的系统,很容易就被人看到源代码,更容易让病毒有可乘之机,而iOS系统相对封闭,则很好的保护了其操作系统。
Android本身是免费提供给制造商和开发者使用的,开发人员可以在其基础上任意的该写代码并编写相关的软件程序,而苹果的iOS上运行的所有软件都需要经过苹果相关机构的审批。
...
为什么 iOS 有那么多优秀的开源组件,而 Android 反而很少
要分清ios和android哪个开源组件多,看看github搜一下就一目了然搜ios得到40938个项目搜android得到112895个项目搜android得到112895个项目作为最大的代码托管网站,github的数据绝对能体现这两个阵营的代码开源热度作为最大的代码托管网站,github的数据绝对能体现这两个阵营的代码开源热度所以楼主的问题不成立【锟斤拷的回答(33票)】:----------谢邀,晚上来答了----------我做Android做了大约3年,做的虽然都是描绘Application层的小玩意,但是对整套生态圈应该感觉还是有点小了解;赶脚题主这个问题就有点黑安卓的意思,在我看来,这样的问题和“为什么C语言要比JAVA快”一样没有非常大的实际意义。
所以感觉题主从主观上在做安卓的时候受到了挫折,哈哈。
首先我想说的是,Android上的开源组件并不少。
具体项目我就不多说了,各位同仁也在分享,而且git和group上多的一笔,像UIL(Universal Image Loader)这种神器,还有SherlockActionBar(已经被归入support v7,并且在最新版本的ADT中已经被强制填入),很强大的Zxing这个一维码、二维码通吃的好玩意;还有什么pull-to-refresh的lib等等,同样我也希望在这个主题里面能看到更多同僚的分享。
相比来说,就以一二维码为例,zxing对iOS的支持就不怎么样,同事在搞iOS上的条码扫描和生成的时候,费了很大的功夫,且效果不理想,条码二维码这个近几年很火吧?可是iOS上没有一套完整的东西,zbar什么的,看了几个,都不理想,或多或少有欠缺。
所以我的观点的话,就这件事上,我是不同意楼主的观点的,首先jdk&android都是开源的,所以不考虑难度和质量来说,更容易开发出来一套工具lib或者框架;其次Android有Google这个爹,本着Google精神,有很多人愿意去分享自己的东西;再者我们从实际开发来讲,又或许是我做的项目都很小、很白痴,我没有觉得Android的第三方开源小玩意少,很多玩意都能找到相关的解决办法(现成代码)。
于是我想了解下题主在什么契机下觉得Android的开源项目少呢?Android本身就是个开源项目呀。
我再试图研究研究其它同仁的看法:回报的问题细讲讲工资,我姑且当大伙儿都跟我一样是给人打工的。
我现在的工资不比同组做iOS的人低,我是做app开发的,感觉现在不知道谁传出来的都有这样一种误解,(不算适配的情况下)android开发简单,iOS开发困难。
难道就因为oc入门比java削微复杂点么?或者说你以为会点java就随随便便地说Android一样,都能搞?别逗了。
Android里面玩法很多,跑到实际运营上就能给产品提供各种各样的玩法,像运营商定制,流氓功能(当然我们不提倡),都是能给公司和团队带来其它方面的获益的;就拿互联网app来讲,关键网络层代码用NDK写好,UI实现Android和iOS同样都是随便交给一个成手就能搞定,又哪里来的优越感?在你灵活运用23甚至更多种设计模式,通读并精通算法导论和架构之美后,开发语言难道还有不同之处?这个是我觉得很不满的;会java并不代表你会安卓,同样,你会用java更不代表你懂java,别用你从不知道哪里看到的资料说java烂,dalvik卡,我们讲纯技术,为何oc不做跨平台?如果是做Android BSP这种相关的工程师,也可以叫Android工程师,这种价钱我就不用多说了吧,不是和做app一个级别的,至少在北方是。
其次是广告收入,你们不要再看个排名就说iOS收入多多牛逼,应用内支付收益多少多少了好么?前两天一个小伙计拿俩图片当杀毒软件挣好几万的事情你们当真是装傻屏蔽了么?放垃圾广告山寨app这种事App store会让你上么?你要是邢山虎拿着我叫MT来喷我我一点都不带还嘴,有多少人一个自己运营的APP都没搞过就开始大谈广告收入和排名算法了?我认为大部分人花几天做一个app扔在Google play上,一次性也不用运营,咱们先不要把自己考虑成拯救世界的人,一个月挣个几百刀广告费不够诸位加个油吃个饭的嘛?万一点子投机了当真辞了工作去36kr觅个投资也好。
我说的都是以我这种屌丝来说的大实话,没接触过在BAT中做的经理。
碎片化的问题这个的确是一个大问题且无法回避,硬要牵扯的话,和所谓“开源”项目也有点关系:不够精:某些开源组件在某些特定机型上会报错,因为其可能改了原生的sdk;不够多:现在对于Android程序员来讲“兼容到2.1(更有甚者到1.6)”已经和“兼容到IE6”一个级别地让人痛苦不堪;这也导致了最起码我就有时候不愿意写一个库给小组用,你要做的东西特别多,很恶心;不够全:iOS其实一直贯彻的都是某些种特定的风格,至少和Android相比基本就可以看成只有一两种;我可以针对你的一两种来做一套工具框架,但是我肯定无法为你的未知种类做点什么(这里主要还是指UI,因为毕竟app开发的主要工作量还是在UI上)生态圈的问题一个是市场占有率,有说Android市场占有率占有高,开源项目就应该多的,这种纯属敷衍答案,此处不表;其次是我们所说的应用商店,换句话说是应用个数,再换个词儿叫有效应用个数,这个就不用我多说了吧,上文也有提到,像我这样就图个广告费还个贷款的人大有人在,做做r...
转载请注明出处51数据库 » ios软件开发者公司里是纯代码写好还是都