Start Developing Mac Apps -- App Design 应用程序设计

App Design
Apps do not exist on their own. They not only interact seamlessly with their environment, they also leverage the features that OS X has to offer. Users expect your app to behave the same as the system-supplied apps such as Mail, Calendar, and Calculator. To implement features in your app, you need to understand the underlying technologies and how to use them.
应用程序不会自己存在。 它们不仅跟它们环境无缝交互,还充分利用OS X 提供的各种功能。 用户期待你的应用程序能跟系统提供的各种应用程序一样工作,比如 邮箱,日历 和计算机。 为了实现应用程序里的功能,你需要理解一些底层科技,并知道如何使用它们。

After you have an idea of what features your app will support, you need to decide what form your app will take. Is your app a single-window utility app or a multiple-window document-based app? The design decisions you make affect the architecture of your app. All Mac apps are built from the same set of core app objects. Before you can begin customizing these objects to fit your app’s behavior, you need to understand how they work together.
在你对你的应用程序支持的各种功能有想法了之后,你需要决定应用程序该选择哪种形式。比如, 是单一窗口实用应用 还是多窗口基于文档的应用? 你的设计决定影响了应用程序的整个结构。 所有的Mac 应用程序都建立在同一套内核应用对象上。在你开始定制这些对象使它们适合你的应用程序行为之前,你需要理解如果使它们一起工作。
Meet User Expectations presents some of the key OS X features and technologies that your app should consider.
Meet User Expectations 讲述了应用程序应该考虑的 一些关键OS X 功能以及技术。
Know the Core Objects of Your App explains the underlying architecture of your app and shows how all these pieces work together.
Know the Core Objects of Your App 解释了应用程序的底层架构以及显示所有这些如何在一起工作。
Start Developing Mac Apps -- App Design 应用程序设计的更多相关文章
- Start Developing Mac Apps -- Human Interface Design 用户界面设计
Human Interface Design It’s not enough to create an app that works. Users expect Mac apps to be powe ...
- Start Developing Mac Apps -- Mac App Store Mac 应用商店
Mac App Store The information you’ve read so far focused on how to create an app in Xcode. However ...
- Start Developing Mac Apps -- Design Patterns 设计模式
Design Patterns A design pattern solves a common software engineering problem. Patterns are abstract ...
- Developing iOS8 Apps with Swift——iOS8概览
iOS 8 概览 斯坦福公开课--Developing iOS8 Apps with Swift学习笔记 想学习Swift,但是相应的教程不是很多,在CoCoaChina社区闲逛时恰好发现了这门课程, ...
- 《Start Developing iOS Apps Today》摘抄
原文:<Start Developing iOS Apps Today> Review the Source Code 入口函数main.m #import <UIKit/UIKit ...
- magento app/design/adminhtml/default/default/template/sales/order/view/info.phtml XSS Vul
catalogue . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link: http://www.freebuf. ...
- 《HTML开发Mac OS App 视频教程》 第001讲、入门教程
土豆网同步更新:http://www.tudou.com/plcover/VHNh6ZopQ4E/ 使用HTML 创建Mac OS App 视频教程. 官方QQ群: (1)App实践出真知 434 ...
- Mac Electron App 签名后打开闪退
背景 昨天在测试 Mac Electron App 打包,发现不签名的应用能够正常打开,签了名的打开反而会崩溃. 寻因 首先我怀疑是不是自己代码导致闪退,但是在一番查找后,发现还根本没到执行我的代码就 ...
- 使用MATLAB 2019 App Design 工具设计一个 电子日记App
使用MATLAB 2019 App Design 工具设计一个 电子日记App1.1 前言:由于信号与系统课程需要,因此下载了MATLAB软件,加之对新款的执着追求,通过一些渠道,下载了MATLAB ...
随机推荐
- C/C++动态二维数组的内存分配和释放
C语言: 1 //二维数组动态数组分配和释放 //数组指针的内存分配和释放 //方法一 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(sizeof(ch ...
- (C++ STL)list的实现
#include <iostream> using namespace std; //採用迭代器和空间配置器所实现的双向链表的基本功能 template<class _Ty,clas ...
- [Servlet&JSP] 标准标签
在JSP的规范中提供了一些标准标签(Standard Tag),全部的容器都支持这些标签,它能够协助编写JSP时降低Scriptlet的使用. 全部的标准标签都使用jsp:作为前置.这些标准标签是在J ...
- 在windows Server 2008 R2server上使用infopath不能将表单公布到sharepoint server的问题处理。
在server 2008 R2 中.你将做好的表单公布到Sharepoint 时候会报错: 这个情况在client是2008 R2 Server 就会出现这个结果. 在角色中启用桌面体验就可以
- UML类间关系
1继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系:在Java中此类关系通过关键字exten ...
- dom get selector
function realsQuery(element) { if(!element){ return ""; } var currentQuery=""; i ...
- 开源项目:单行日历(CalendarView)
http://www.cnblogs.com/warnier-zhang/p/4750525.html CalendarView.zip
- HUNNU-10307-最优分解问题
点击打开题目连接 # include <queue> # include <cstdio> # include <cstring> # include <io ...
- Axure Base 08 动态面板的用途
写了几个Axure教程之后发现,可能教程的起点有些高了,过分的去讲效果的实现,而忽略了axure功能以及基础元件的使用,那么从这个教程开始,把这些逐渐的展开讲解. 关于动态面板 动态面板是axure原 ...
- DOM操作二
1.创建节点 createElement(): 创建新的Element节点 var s = document.createElement('script'); createTextNode(): ...