standford iOS7公开课163视频
standford iOS7公开课课件打包下载
前言
按照公开课流水账地做笔记,结果通常是只有自己看得明白,不久后连自己也看不明白了。那应该怎么办呢?
作为程序员,维护笔记应该跟维护一个项目一样。尽量做到高内聚低耦合,职责合理划分并保持职责单一。
仍然笔记/书籍毕竟跟项目的设计开展还是很不一样,如何能做到上面说的高内聚低耦合需要不断地思考和实践。
目前的打算是每篇笔记都必须有一个鲜明的主题和差不多的粒度,然后围绕这个主题进行梳理和补充。
而本篇作为目录树来组织这些主题。
保证可读性和可扩展性就意味着,课程学习过程中,你要及时地不断地“重构”你的笔记,一个主题的课程下来,你必须反思这个课程的主要思想和关键技能等等。
所以,这个课程笔记也可看作一个“如何做好学习笔记”的实验了。
iOS分层
计算机世界都是按层次来设计与构建的,iOS系统也不例外,可以认为iOS包含以下四层:
1) Core OS 内核层:基于BSD的Unix
2) Core Serivces 核心服务层:比如提供容器,面向对象的方式来访问系统文件等
3) Media 媒体层
4) Cocoa Touch 触控应用层
iOS应用开发主要就是在Cocoa Touch这一层活动。
什么是Cocoa?
Cocoa是苹果开发Mac OS X的API框架统称
Cocoa Touch就是苹果开发iOS的API框架统称
平台组件
工具:开发工具Xcode,辅助工具Instrument
语言:Objective-C/Swift/C++/C等
框架:数十个框架如:Foundation, UIKit, MapKit, CoreData(面向对象的数据库)
架构:MVC/MVVM等
思考下它们的关系:
某个具体框架就是苹果提供的一组API及相关资源的集合(说白了就是苹果提供的代码,但已编译且高度优化过),我们用语言开发APP是基于框架的,而要使代码合理即有可读可扩展性,就需要按照某种架构模式(如框架也不例外地遵从MVC)。工具就是使得以上组件的配合变得方便可行,甚至感觉它们是浑然一体。
下面按照架构->语言->工具的顺序介绍如何进行iOS应用开发概要,至于框架会融合在实际项目中
目录树
一 开发概要
MVC与MVVM架构模式
Objective-C要点
Xcode与Instrument
待续