马上着手开发Mac应用程序

简介: 你是否想要开发 Mac 应用程序却又不知道从哪里入手?本路线图提供了 Mac 应用程序开发的绝佳起点,即使你已经是一个 iOS 开发专家,本路线图对你依然适用。Apple让开发应用程序和提交应用程序到 Mac App Store 变得简单。遵循本路线图以了解如何取得开发工具,理解主要概念及最佳实践,并学会查找更多信息。

image.png

你是否想要开发 Mac 应用程序却又不知道从哪里入手?本路线图提供了 Mac 应用程序开发的绝佳起点,即使你已经是一个 iOS 开发专家,本路线图对你依然适用。Apple让开发应用程序和提交应用程序到 Mac App Store 变得简单。遵循本路线图以了解如何取得开发工具,理解主要概念及最佳实践,并学会查找更多信息。

继续遵循此路线图,你将使用到 Xcode(Apple 提供的集成开发工具)来开发 Mac 应用程序。你将了解 Objective-C(驱动所有Mac应用程序和框架的程序设计语言)的编程基础知识,并将探索 Cocoa 框架。最后,你还会学到如何将应用程序提交到 Mac App Store。

image.png

路线图中的每个页面,都介绍一个新主题,并链接到一篇或多篇有关该主题的简短文章。路线图只是提供基本的入门知识,最后一页“接下来做什么”包含你接下来应该阅读的文稿链接。完成了路线图,你就具备了进一步了解各个主题的能力,并且掌握到着手开发 Mac 应用程序的知识、工具和技能。


如果你是 iOS 开发者:你其实已经掌握了不少开发Mac应用程序的知识。在路线图的学习过程中,重点关注平台的差异性。因为尽管 iOS 和 OS X 使用相同的开发工具和开发语言,两者仍然存在着一些重大的差异。


设置

你在开发应用程序时,会使用到 Xcode,即 Apple 的集成开发环境 (IDE)。Xcode 为开发完美的 Mac 应用程序,提供了你所需要的一切。它包括源代码编辑器、图形用户界面编辑器和许多其他功能。大多数应用程序开发工具集中显示在一个窗口中,Xcode 称之为工作区窗口。在此窗口内,你可以顺畅地从代码编写转换到代码调试,再到用户界面设计。

image.png

开始之前:

1.下载最新版本的 Xcode。

在 Mac 上打开 Mac App Store 应用程序,搜索 Xcode,然后点按“免费”按钮下载 Xcode。(Mac OS X v10.7 以及更高版本已经预装 Mac App Store 应用程序。如果你使用的是较早版本的 Mac OS X,则需要升级。)

2.加入 Mac Developer Program 成为 Apple 开发者

加入该计划后,你可以访问分发应用程序的所有工具和资源,在本路线图后面你将了解关于这些工具的更多信息。


马上开始

开发优秀的 Mac 应用程序,需要大量的学习和实践。不过,有了这些工具,开发一个简单可用的程序并非难事。“你的首个 Mac 应用程序”教程,介绍了这些工具、基本设计模式和应用程序开发过程。通过这个教程,你将创建一个类似音量控制器的程序,可以通过多种形式的输入来控制一个控制器。本教程中的简单步骤引入了一些简练实用的概念,将在今后的程序开发中不断地用到。

image.png

“你的首个 Mac 应用程序”是路线图中最长的文章,但请不要仓促地完成它。它为你在后面将详细学习的概念奠定了基础。其他每篇文章,都是围绕当中某个概念再深入说明。

立即学习本教程:“你的首个 Mac 应用程序”告诉你,如何在 OS X 开发环境中,创建一个简单的应用程序。完成教程后,可返回本页继续学习《马上着手开发 Mac 应用程序》。


工具

Xcode 提供整套管理开发工作流程的工具——从创建应用程序、设计用户界面,到测试、优化,并将其提交到 Mac App Store。你可以自定 Xcode,来符合你的工作风格,让你专注于手头的任务。

image.png

“你的首个 Mac 应用程序”向你展示了如何创建新项目、添加用户界面元素,以及编辑源代码。创建应用程序后,你可使用 Xcode 来测试和调试源代码、分析和改进应用程序的性能、执行源代码控制操作、归档并将应用程序提交到 Mac App Store 等等。


立即阅读此文章:“在 Xcode 中管理工作流程”向你展示 Xcode 用于 iOS 应用程序开发的重要功能。


程序设计语言

Objective-C 是一种简洁的、面向对象的程序设计语言,所有 Mac 应用程序都由它来驱动。你需要编写 Objective-C 代码来创建应用程序,同时你需要懂得该语言,才能使用大多数的框架。尽管你可以使用其他编程语言来开发,但不使用 Objective-C 就无法生成 Mac 应用程序。

image.png

Objective-C 是一种简单的程序设计语言,其语法和规范简单易学。如果你有其他面向对象程序设计语言(例如 Java 或 C++)的编程经验,那么它对你来说,将更容易上手。如果你是 C 语言程序员,你会发现熟悉面向对象编程和 Objective-C 后,应用程序的设计和修改变得更加容易。


立即阅读此文章:“编写 Objective-C 代码”教你 Objective-C 的基本语法,包括类声明、方法、发消息和声明属性。Mac 和 iOS 应用程序都可用 Objective-C 来开发。如果你是 iOS 开发者,那么基本语法对你来说已经不是问题了。


基本任务

现在,你学到的 Objective-C 的知识,足可用来阅读和编写基本代码,你可以开始以对象的方式来考虑问题了。如同思考现实世界中的对象一样,你应该思考一个对象包含什么内容,可以用来做什么,以及如何与其他对象关联。

image.png

要创建 Mac 应用程序,你需要了解如何创建对象、比较对象、查询对象的相关信息,以及访问数据集(如数组)中的对象。掌握这些技能后,你就可以编写更复杂的 Objective-C 代码了。

立即阅读此文章:“掌握基本的编程技能”描述 Objective-C 编程的基本任务。本文解释的概念在 Mac 和 iOS 开发中基本相同。

image.png

框架

应用程序由你编写的代码和 Apple 提供的框架组成。框架包含方法资源库,供你的应用程序调用。多个应用程序可同时访问一个框架资源库。


你开发的应用程序都会链接多种框架。你可以通过框架的应用编程接口 (API) 来利用框架。API(已发布在头文件中)指定可用的类、数据结构和协议。Apple 编写的框架,预计了你可能想要实现的基本功能。使用框架既省时省力,又可确保代码高效、安全。系统框架是访问底层硬件的唯一途径。

立即阅读以下文章:

研究主要框架”描述应用程序开发中最常用的框架。它还简要阐述了 OS X API 和 iOS API 之间的一些异同点。

将代码与框架整合”描述 Objective-C 框架中的方法种类,并解释如何将应用程序代码与框架代码整合。尽管 OS X API 和 iOS API 之间存在不同之处,但应用程序和框架之间的关系通常相同。

设计模式

设计模式可以解决常见的软件工程问题。模式是抽象设计,而非代码。采用一种设计,就是应用它的通用模式来满足具体需求。

image.png

不管是创建哪种类型的应用程序,你都应该了解框架中使用的基本设计模式。了解设计模式有助于更高效地使用框架,并且可让你编写的程序复用程度更高、扩展能力更强和更容易修改。

立即阅读此文章:“采用设计模式使你的应用程序合理化”描述关键的设计模式,并解释如何在应用程序开发中使用这些模式。这些设计模式在 OS X 和 iOS 中基本相同。


用户界面设计

仅仅创建一个能用的应用程序是不够的,用户期望的 Mac 应用程序是直观易用、交互性强和引人入胜的。在设计应用程序时,从选取的功能到应用程序响应手势的方式,每个方面都要考虑用户体验。

image.png

用户或许不知道用户界面的设计原则,但是应用程序有没有遵循指南,他们是可以分辨出来的。请遵循《OS X Human Interface Guidelines》(OS X 用户界面指南)中清楚说明的原则和约定,为你的产品设计最好的用户界面和用户体验。


立即阅读此文章:“从用户角度进行设计”阐述了如何创建具有卓越用户体验的应用程序。本文稿介绍编程时需遵循的指南,但不涉及如何在代码中实现设计。大多数 OS X 指南,都与 iOS 的不同,因为移动设备上的应用程序,在本质上是不同的。


应用程序设计

程序不会自动生成,它们不仅与运行的环境密切相关,还需要用到 OS X 系统提供的特性。用户期望看到你的应用程序像系统自带的邮件、日历、计算器程序一样运行。要实现程序的功能,你需要了解它背后的技术以及怎么样来使用这些技术。

image.png

在你想好你的应用程序应该提供哪些功能后,你就需要决定以什么样的显示来展现出来。你的应用程序是一个但窗口的实用程序还是基于文档的多窗口应用?这些设计的决定直接影响程序的结构。所有的 Mac 应用程序都是基于一组核心应用程序对象构建起来的,在你能够定制这些对象来实现你应用程序的功能前,你需要理解它们是怎样协同工作的。


立即阅读此文章:

"满足用户的期望"展现了一些你程序中需要考虑的主要的 OS X 特性和技术。

了解你的应用程序的核心对象”叙述作为所有应用程序的一部分的重要框架,以及它们是如何协作。


Mac App Store

您目前所读到的信息主要描述在 Xcode 中创建应用程序的方法。然而,要在 Mac App Store 上发布应用程序,您还需要进一步了解相关内容。

image.png

测试和改进应用程序后,你需要将你的工程打包这样别人才能在他们的电脑上安装和运行。你需要创建证书来授权开发者给应用程序签名,以及创建 App ID 来标识应用程序,然后还要收集你需要在 Mac App Store 展示的信息。你通过 Xcode 来提交应用程序,你的应用程序必须通过 Mac App Store 审查人员审批之后才能正式发布。


立即阅读此文章:"准备提交到 Mac App Store"描述为 Mac App Store 开发应用程序的管理方面的任务。


查找信息

开发应用程序时,需要能轻易得到详细的技术信息。Xcode 可让你在编程时轻松查找到所需信息。

image.png

Xcode Quick Help 显示简明的参考信息,不会分散您对正在编辑的文件的注意力。请点按符号、界面对象或生成设置,以查看更多信息。按住 Control 键点按 Xcode 本身的各个区域,获得任务导向的说明,介绍如何执行常见操作。每篇帮助文章都提供逐步的指导,并且通常包括视频或插图来进一步说明。


Xcode 中的“Documentation”管理器,提供深入的编程指南、指导教程、示例代码、开发者工具使用手册、详细的框架 API 参考,以及由 Apple 工程师讲解的视频演示。“Documentation”管理器提供了一个一体化视图,可在其中搜索和浏览所有 Apple 开发者文稿。OS X Developer Library 也在网上提供。


立即阅读此文章:“快速查找文稿”图解如何使用这些重要的文稿资源。


接下来做什么

祝贺您,您已学完《马上着手开发 Mac 应用程序》中的所有内容,并阅读了所要求的关联文章,现在可以进行 Mac 应用程序的开发了。但是,要成为高效多产的 iOS 开发者,首先,应该加入 Mac Developer Program。然后,您就可以从 Mac Developer Library 下载示例应用程序项目,并从中了解各个方面是如何配合工作的,从而深化已学到的知识和技能。


阅读以下文稿来增进你的 Mac 应用程序开发知识

  • Mac OS X Technology Overview》(Mac OS X 技术概述)介绍可在 OS X 应用程序中使用的框架和其他技术。
  • OS X Human Interface Guidelines》(OS X 用户界面指南)教你如何让你的应用程序符合 OS X 用户界面规范。
  • App Distribute Guide》(应用程序分发指南)带你完成向 Mac App Store 提交应用程序的过程。
  • Programming with Objective-C》(使用 Objective-C 编程)描述如何使用 Objective-C 程序设计语言定义类、发送消息、封装数据,以及完成各种其他任务。
  • Mac App Programming Guide》(Mac 应用程序编程指南)讲解在开发 Mac 应用程序时,你必须要了解并做到的基本事情。


PS: 本来以为和iOS路线图有很大差别的,结果发现大部分情况下只需要将 iOS 换成 Mac 或 OS X,但是既然开始,就坚持弄完吧!

相关文章
|
1月前
|
Android开发 iOS开发 开发者
轻松实现 UniApp Xcode 上传 IPA 无需 Mac,appuploder 一键上传助你高效开发!
轻松实现 UniApp Xcode 上传 IPA 无需 Mac,appuploder 一键上传助你高效开发!
|
3月前
|
调度 iOS开发 MacOS
【MacOS 系列】mac常用快捷键收集,包含提高开发效率、精选快捷键、内置截图快捷键
【MacOS 系列】mac常用快捷键收集,包含提高开发效率、精选快捷键、内置截图快捷键
41 0
|
7月前
|
关系型数据库 MySQL 应用服务中间件
Mac PHP-Nginx-Mysql 本地开发日常启动流程
Mac PHP-Nginx-Mysql 本地开发日常启动流程
42 1
|
8月前
|
小程序 Linux 区块链
Python PyInstaller 打包成 Win、Mac 应用程序(app / exe)
Python PyInstaller 打包成 Win、Mac 应用程序(app / exe)
557 0
|
4月前
|
小程序 Linux 区块链
Python PyInstaller 打包成 Win、Mac 应用程序(app / exe)
Python PyInstaller 打包成 Win、Mac 应用程序(app / exe)
136 0
|
4月前
|
小程序 IDE 前端开发
mac开发必备软件
作为一名不资深开发工程师,用对工具可以节省我们大量的时间用来摸鱼,比如我的这篇文章就是在摸鱼的时候写的,在使用mac的过程中我下载过大量的软件,最终经过时间的洗礼留下了一些比较优秀的软件推荐给大家,如果你也有宝藏软件欢迎推荐!
|
8月前
|
Dart Android开发 iOS开发
Flutter Mac上使用VSCode支持Flutter开发(下)
Flutter Mac上使用VSCode支持Flutter开发(下)
141 0
|
8月前
|
Java 开发工具 Android开发
Flutter Mac上使用VSCode支持Flutter开发(上)
Flutter Mac上使用VSCode支持Flutter开发
270 0
|
9月前
|
JSON 数据可视化 定位技术
python数据可视化开发(3):使用psutil和socket模块获取电脑系统信息(Mac地址、IP地址、主机名、系统用户、硬盘、CPU、内存、网络)
python数据可视化开发(3):使用psutil和socket模块获取电脑系统信息(Mac地址、IP地址、主机名、系统用户、硬盘、CPU、内存、网络)
197 0
|
10月前
|
IDE Java 程序员
如何基于mac m1 搭建舒适的开发工作环境
如何基于mac m1 搭建舒适的开发工作环境
222 0