这只是一篇很简略的文章
只为让自己坚持学习
基本都是从书中得到的笔记
2007年1月,苹果发布了iPhone OS 1.0,逐渐,iPhone手机便开创了一个新的时代。乔帮主对人类的贡献可谓是巨大的。
2013年6月10日,苹果公司在WWCD 2013大会中发布了最新的iOS 7系统,至此,扁平时代是否就会因此到来?
网上对于iOS 7的看法有褒有贬,无论怎么样,对于我自己来说,一样新的东西出现的时候,还是能引起我的兴趣的。
对于一个完全没有学过oc和搞过iOS 的人来说,这个学习过程必定不轻松。
好了,就先做做关于iOS架构的笔记吧。(笔记内容来自《iOS 7 应用开发技术详解》一书以及http://www.580114.com/Forum/t-36409,感谢分享!)
iOS实现可以看做多个层的集合,底层为所有应用程序提供基础服务,高层则包含一些复杂的服务和技术。
1. Cocoa Touch层(主要包含UIKit)
Cocoa Touch层包含创建iOS应用程序所需的关键框架。上至实现应用程序可视界面,下至于高级系统服务交互,都需要该层技术提供底层基础。在开发应用程序的时候,尽可能不要使用更底层的框架,尽可能使用该层的框架。Cocoa Touch层支持多任务、数据保护、推送通知服务、本地通知和手势识别器等高级特性。
最接近用户的层面,包括了触摸、位置服务、摄像头等应用。
2. Media层(主要包含Core Graphics、Open GL ES、Core Animation)
Media层包含图形技术、音频技术和视频技术,这些技术相互结合就可为移动设备带来最好的多媒体体验,更重要的是,它们让创建外观音效俱佳的应用程序变得更加容易。可以使用iOS得高级框架更快速地创建高级得图形和动画,也可以通过底层框架访问必要得工具,从而以某种特定得方式完成某种任务。
主要包括了各种媒体文件的处理,例如JPEG、PNG以及TIFF等,还有PDF文件的处理,这些成为iOS系统的处理内容,成为了基本的媒体应用,并且可以被各种应用调用,提高了iOS的系统性能。
3. Core Services层(主要包含Core Data、Foundation)
Core Services层为所有得应用程序提供基础系统服务。可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础。
包含了多种服务,例如URL服务,还有大量的网络应用等
4.Core OS层
Core OS层的底层功能是很多其他技术de构建基础。通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架。胆识,在直接处理安全事务或和某个外设通信的时候,必须要应用到该层的框架。
Core OS是最为核心的系统,包括了多种硬件管理,还有安全管理等内容,是iOS的核心应用。事实上,iOS是基于Unix系统开发的,自然跟Unix一样了。
接下来就是iOS常用的几个框架:
Foundation框架
Foundation框架为所有应用程序提供基本的系统服务。应用程序以及UIKit和其他框架,都建立在Foundation框架的基础结构之上。
Foundation框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。
功能:
1)创建和管理集,如数组和字典
2)访问储存在应用程序中的图像和其他资源
3)创建和管理字符串
4)发布和观察通知
5)创建日期和时间对象
6)自动发现IP网络上的设备
7)操控URL流
8)异步执行代码
UIKit框架
UIKit框架提供的类可用于创建基于触摸的用户界面,提供基础结果用于在屏幕上绘图、处理时间,以及创建通用用户界面元素。UIKit还通过管理屏幕上显示的内容来组织复杂的应用程序。提供了大量用于设计用户界面交互的常用控件。
功能:
1)构建和管理用户界面
2)处理基于触摸和运动的事件
3)显示文本和网页内容
4)优化应用程序以实现多任务
5)创建自定用户界面元素
Core Data框架
Core Data框架用于管理应用程序的数据模型。借助Core Data,可以创建模型对象(称为被管理的对象),管理那些对象之间的关系,并通过框架更改数据。Core Data利用内建的SQLite技术高效地储存和管理数据。
功能:
1)存储对象和从储存处取回对象
2)支持基本的撤销/重做
3)自动验证属性值
4)对内存中的数据进行过滤、分组和整理
5)使用NSFetchedResultsController管理表格视图中的结果
6)支持基于文稿的应用程序
Core Graphics框架
使用Core Graphics框架可以创建图形。而在iOS中创建图形最简易、便捷的方法,是将预渲染的图像与UIKit框架的标准视图和控制配合使用,并让iOS完成绘图。由于UIKit提供用于自定绘图的类,包括路径、颜色、图案、渐变、图像、文本和变换,因此建议尽可能地使用UIKit,而非Core Graphics。
功能:
1)制作基于路径的绘图
2)使用边缘模糊化渲染
3)添加渐变、图像和颜色
4)使用坐标空间变换
5)创建、显示和解析PDF文稿
Core Animation框架
制作高级动画和视觉效果。UIKit提供的动画是建立在Core Animation之上的。
借助Core Animation能够创建不同层次的层对象,并对它们进行操控、旋转、缩放、变换等。
功能:
1)创建自定动画
2)给图形添加时序功能
3)支持关键帧动画
4)指定图形布局约束
5)将多层更改分组为原子更新
OpenGL ES框架
提供2D和3D绘图工具,支持基础的2D和3D绘图。
功能:
1)创建2D和3D图形
2)制作更复杂的图形,如数据可视化、飞行模拟或视频游戏
3)访问底层图形硬件
12点了,今天先写到这啦!!