BondRUOK BondRUOK
关注数: 106 粉丝数: 593 发帖数: 38,860 关注贴吧数: 6
外行谈零成本(低成本)学习iOS开发 随着iPhone及其他苹果设备在国内外的热销。不少人已经投入到,或者打算投入到iOS开发的行列中。那么学习iOS开发,是怎样的一个过程呢?需要那些软硬件的投入呢? 笔者作为一个外行,也来谈谈本人的意见。 首先,iOS的核心是Objective-C语言,Objective-C是一种面向对象的高级语言,如果你从来没学过编程的话,学习的时间就会长一些。(如果你已经学过C++或者java,请直接从3. 开始学, 1.和2.不需要苹果电脑和OS X系统环境) 1. 你需要了解基本的数据类型(int, float, char, bool)等,顺序,循环,选择,指针与内存分配,堆和栈,线程和进程,函数等概念,掌握排序,查找的基本算法,掌握数组,链表,二叉树等数据结构。(大概2个星期) 2.在1的基础上,学一门面向对象的语言,或者直接开始3的学习,了解面向对象的思想,集成,封装,多态,了解接口和抽象类的区别,Overload和Override的区别等。(大概一星期) 3. 准备一台苹果电脑(建议2011年以后的型号,内存不低于4GB),或者在已有电脑上安装黑苹果系统或者配置VM虚拟机并安装OS X 10.9以上系统(电脑采用Intel i3或以上处理器,内存8G或以上,此处不探讨黑苹果系统安装或者虚拟机配置问题)。初步掌握Mac OS X系统的用户界面,软件安装和卸载,常见软件,系统及软件设置等基本操作。从App Store下载Xcode最新版本,申请一个苹果账号并安装到Application文件夹,学习Xcode基本的使用方法(此处假设你已经拥有苹果电脑,大概需要2-3天。) 4. 学习Objective-C的基本语法,结合Java或者C++学习,注意它们的区别和联系(大概需要1星期) 5. 学习Objective-C特有的NS类,NSString,NSArray,NSData,掌握protocol和delegate的概念,多做编程书的课后作业(1星期) 6. 学习iOS开发的软件生命周期,学习UIWindow属性方法,IBAction和IBOutlet,Icon图标,Application文本和按钮控件(1星期) 7.学习其他控件(1星期) 8.学习视图控制器和导航控制器(1星期) 9.学习StoryBoard(3天) 10. 学习SQLite数据库(3-4天) 11.了解html, php, mysql, tomcat(1星期) 12. 学习Swift语言(1星期) 差不多3个月吧,你就算入门了。 然后你就可以跟着别人实习了。 开发的前期可以没有苹果电脑和iOS设备,后期必须要有苹果电脑(OS X 10.10以上系统)和至少一个iOS设备(该iOS设备运行iOS8或者iOS9系统)。
外行谈Linux和OS X 先说明,本人并非专门研究OS的,所以有些观点可能不全面,甚至是错误的。 OS X一般是苹果电脑预装的,是苹果公司为自家电脑量身定做的操作系统,所以稳定性和兼容性都是非常不错的。 Linux一般是服务器用的(这里把Android放在一边,因为虽然内核是Linux,但是上层是基于类java虚拟机dalvik),普通个人用户拿来做桌面系统日常使用的,并不多。 安装过程上linux比Mac OS X繁琐,因为Linux要选各种挂载点啊,引导方式啊之类的,Mac无脑安装,只需要选对分区,格式化为Mac OS X 日志扩展HFS就可以了。 软件的丰富程度,linux软件多,主要是开源的小软件,大部分是爱好者自己写的。缺乏长期的维护和更新。Mac OS X面向设计师和开发者,以及国外的普通家庭及学校用户,因此有较为丰富的商业软件,特别是文档编辑,图形处理,影音编辑等领域。同时因为有专门的大型团队在搞,所以Mac下软件的UI风格统一,样式美观。 软件安装难易程度,Mac甚至比Windows简单。多数直接拖动到Application文件夹就可以了。一部分软件需要安装,但是基本也是狂点下一步的节奏。 Linux因为软硬件系统配置各不相同,一般通过包管理系统,源代码编译安装,近年来,一些面向个人用户的Linux发行版集成了软件商店功能,不过里面的软件还是偏少。 论稳定性,一般说linux稳定是指内核,至于上层的X-Window,偶尔会崩溃的。我觉得这主要是运行linux的机器配置千差万别,很多驱动也做不到像windows那样细致的反复测试。不稳定的OS X,据我所知,大部分是安装Hackintosh的用户。 Linux的界面渲染和Mac有很大的不同,Mac的图形界面渲染是基于GPU的,利用QE和CI来加快系统UI的渲染,Linux为了保证兼容性,图形界面渲染是基于CPU的。另外Mac默认对前台用户操作优先响应,而linux是优先为服务优先响应,在用户看来,就是Mac比较流畅。 要说开发工具,其实很多是通用的,比如Java,php,python,除了极少数依赖操作系统的API。 但是Mac OS X毕竟是苹果修改了bsd内核,同时又自己研发的UI和应用程序接口,库文件的位置和linux有差别,所以用OS X去开发开源的软件是无比蛋疼的事情。
首页 1 2 3 下一页