IOS开发实训第十三周周报
总结:
目前服务器部分已完成并投入使用,组内其他成员的工作也基本完成,进入测试阶段,在最后一次周内,我计划了解ios app的整体架构,以使自己对它的了解更加深刻;
学习知识点归纳
1、ios的层次架构:
iOS为应用程序开发提供了许多可使用的框架,并构成IOS操作系统的层次架构,分为四层,从上到下依次为:Cocoa Touch Layer(触摸UI层)、MediaLayer(媒体层)、Core Services Layer(核心服务层)、Core OS Layer(核心OS层)。
低层次框架提供IOS的基本服务和技术,高层次框架建立在低层次框架之上用来提供更加复杂的服务和技术,较高级的框架向较低级的结构提供面向对象的抽象。
2、两个基本框架:
Foundation和 UIKit框架是应用编程用到的两个主要的框架;
UIKit框架提供的类,用于创建基于触摸的用户界面。所有 iOS 应用程序都是基于 UIKit, 没有这个框架,就无法交付应用程序。UIKit提供应用程序的基础架构,用于在屏幕上绘图、处理事件,以及创建通用用户界面及其中元素。UIKit还通过管理屏幕上显示的内容,来组织应用程序。
Foundation框架为所有应用程序提供基本的系统服务。应用程序以及 UIKit和其他框架,都是建立在 Foundation 框架的基础结构之上。 Foundation框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它还制定了一些约定(如用于取消分配等任务),使代码更加一致,可复用性更好。
3、Cocoa Touch Layer(触摸UI层)
CocoaTouch Layer包含创建ios应用关键的框架。该层包含的框架定义应用的外观,也提供基本的应用基础和关键的技术支持,例如多任务、触摸输入、推送通知和许多其它的高级系统服务;
包括:
1)、AirDrop:AirDrop允许用户与附近设备共享图片、文档、urls链接以及其它种类的数据;
2)、Text Kit:TextKit是处理文本和排版的一个全功能、高级别的类集合。使用Text Kit你能在段落、列或者页上对带有风格的文本进行布局;也能在任意区域(如图形)周围布局流动的文本;还能用它来管理多种字体。开发应用时应该首先考虑使用Text Kit来进行文本呈现,而不是Core Text。Text Kit与所有UIKit中的基于文本的控制集成允许应用更容易地创建、编辑、显示和存储文本;
3)、UIKit Dynamics:UIKit dynamics用来为符合UIDynamicItem协议的UIView对象或其它对象规定动画行为。通过在应用的UI中集成真实世界行为和特性进,动画行为为应用提供了一种增强用户体验的方式;
4)、Multitasking:在ios中多任务用来设计来使电池使用时间最大化;
4、MediaLayer(媒体层)
媒体层包含在应用中实现多媒体体验的图形、声音、视频技术和框架,用于建立更加好看和好听的应用。
包括:
1)、UIKit graphics:UIKit定义的绘制图像和Bézier路径,以及动画视图内容的高级别技术。UIKit视图提供快速和有效的方式来呈现图像和文本内容。UIKIT视图也能通过显示和使用UIKitdynamics技术进行动画,并为用户提供反馈,促进用户交互;
2)、CoreGraphics 框架:CoreGraphics也称作Quartz,是对定制的2D向量和图像呈现提供支持的本地绘制引擎。该框架提供的引擎虽然没有OpenGLES引擎速度快,但该框架能够很好地适合于呈现定制的2d图形和动态图像;
3)、CoreAnimation框架:CoreAnimation也是Quartz核心框架的一部分,是优化应用动画体验的基础技术。UIKit视图基于 Core Animation提供视图级别的动画支持。当你想对动画行为有更多控制时也能直接使用CoreAnimation;
4)、Core Image:CoreImage提供非破坏的方式操作视频和静态图像;
5)、OpenGL ES及GLKit:OpenGLES使用硬件加速接口来处理先进的2d 和3d 呈现。OpenGLES通常由游戏开发者或想实现沉浸式图像体验的开发者使用。OpenGLES框架提供对呈现过程的全部控制,以及提供创建平滑动画所需要的帧速。GLKit是一组Objective-C类,以便能够使用面向对象接口来提供OpenGL ES的强大能力;
5、CoreServices Layer(核心服务层)
CoreServices Layer包含应用需要的基础的系统服务。这些服务中的核心是CoreFoundation和Foundation框架,定义了所有应用使用的基本类型。
6、 Core OS Layer(核心OS层)
CoreOS层包含其它大多数技术建在其之上的低级别的功能。虽然应用不直接使用这些技术,它们被其它框架使用。在需要显而易见的处理安全或与外设通讯的情形,也能使用该层提供的框架。
1)Accelerate 加速框架:Accelerate框架 (Accelerate.framework)包含执行数字信号处理、线性代数、图像处理计算的接口。使用该框架的优点是它们针对所有的ios设备上存在的硬件配置做了优化,因此你能写一次代码确保在所有设备上有效运行;
2)External Accessory Framework(外部附件框架):ExternalAccessory 框架(ExternalAccessory.framework)提供与连接到IOS设备的硬件附件通讯的支持。附件能通过30-pin连接器或使用蓝牙无线与IOS设备进行连接。该框架给你提供了获得关于每一个可获得的附件信息和启动通讯会话的方式。然后,你可自由的使用附件支持的命令直接操作附件;
3)Generic Security Services Framework(通用安全服务框架):GenericSecurity Services 框架 (GSS.framework)给ios应用提供一组标准安全相关的服务。该框架的基本接口规定在IETFRFC2743 andRFC4401。除了提供标准的接口,IOS还包括一些没有在标准中规定但被许多应用需要的一些管理证书需要的额外东西。
后续任务
通过本周的学习,对ios的框架结构有了更深入的了解,接下来的工作是进行项目的测试,以及为展示做准备;
来源:CSDN
作者:夜里惊羽
链接:https://blog.csdn.net/Cait_/article/details/94169054