包裹关闭,而且iPad现在在真正的用户手中。那么开发人员可以使用iPhone OS 3.2 SDK为苹果发布于1月底发布的iPhone OS 3.2 SDK是什么?Apple所需的开发人员将SDK详细信息秘密保密,直到IPAD在过去的周末发货,但现在每个人都可以自由地讨论iPhone的扩展舞蹈混音。
为了测试新的软件API和支持它的基础设施,我构建了几个iPad应用的原型,甚至上传了一个Cory Doctorow's Makers的免费版本到iTunes应用商店。
[既然iPad是真的,那它的表现如何?Paul Venezia的第一眼就能看出来审查iPad.|乘坐InfoWorld的游览替代iPhone应用SDKS.]
大多数iPad平台对任何开发iPhone的应用程序都非常熟悉,因为API是iPhone API的扩展,就像iPad SDK是iPhone OS SDK的一个扩展名(这就是为什么在技术上命名为原因iPhone OS 3.2 SDK而不是iPad SDK)。在使用所有额外的屏幕空间和大多数其他元素方面,iPhone开发者已经非常熟悉了一些新方法。
Apple非常兴趣提供游戏,书籍和其他内容交付机制,但忘记了Shell脚本或做任何没有正式幸运的API的文件。因此,在利用较大的屏幕之外并访问电子书的扩展格式化功能,为iPad创建软件将主要用于iPhone开发人员的业务。
不过,尽管对iPhone开发者来说,转向iPad的过程通常很简单,但它的复杂性足以让人产生一些困惑。下面是你应该知道的为iPad创建应用程序的事情。
使用所有新屏幕房地产
每个人都会喜欢iPad的大屏幕,因为为相对较小的iPhone屏幕设计是一项无情的工作,它简化了一切,直到它适合。在小部件面板之间滑动将不会成为过去,但它在iPad上的常见程度将大大降低。为iPad编程就像抛弃曼哈顿的单间公寓,搬到蒙大拿州Big Sky的农场。
首先,避免依赖iPad的iphone应用兼容性的诱惑。当然,iPad SDK可以在iPhone OS 3.0上运行,无需任何修改;它只是在所谓的iPhone模拟器中编译和启动。当然,在Interface Builder和Xcode中有几个不错的菜单选项,可以将旧的小屏幕iPhone应用程序转换为iPad的大屏幕应用程序。它们通常是有用的,但也有限制:一个对你的视图大小没有任何作用,而另一个似乎会让它们更胖,以适应更大的屏幕。我得靠自己的力量把它们都变高。
虽然这种调整大小的帮助是有用的,但它不会让你的应用程序在iPad的大屏幕上运行良好。你只会得到一个版本的iPhone应用程序,它会占据更多的屏幕。正如管理Donoho Design Group的iPhone应用程序开发者安德鲁•多诺霍(Andrew Donoho)所指出的,转向iPad需要重新考虑用户界面。你应该认为iPad应用程序与iPhone应用程序是不同的,即使底层逻辑是共享的。
“更小的屏幕迫使你将内容分解成更小的功能,”Donoho指出。“iPad应用程序将会更加复杂,因为人们期望它能做更多的事情。iPhone 3G S可能会运行苹果为iPad发布的新的Keynote应用程序或Numbers应用程序,但iPhone的屏幕对于生产力应用程序来说完全没用。你看到的是屏幕空间带来的新功能。”换句话说,用户界面的差异是苹果在iPad问世之前,没有在iPhone操作系统版本的Keynote、Numbers和Pages(苹果iWork办公应用的三个版本)上花心思的一个关键原因。
更大的iPad屏幕不仅为你的元素提供了更多空间。它还会影响你的用户互动:当Donoho编写iPhone应用程序时,他会有意识地将自己限制在一个8 * 12的可触点网格中。他说,人类的手指没有足够的分辨率,无法在iPhone屏幕上更精细的网格中可靠地击中点。但iPad更大的屏幕尺寸增加了网格的大小,从而允许更多的点击点。
抱歉,更大的屏幕并不意味着像mac那样的窗口和对话框
但不要认为大屏幕意味着你可以移植现有的Mac OS X应用程序,或者使用熟悉的Windows和Mac OS X UI元素,如窗口和对话框。
【用你的智能手机看科技新闻和评论infoworldmobile.com.|为专业人士提供最好的iPhone应用程序InfoWorld的业务iPhone应用程序查找器.|看到我们的智能手机是对的移动“Deathmatch”计算器.]
iPad仍然是一款触控设备,所以要求鼠标精度的UI元素(许多窗口和对话框都是如此)并不适合它。iPad SDK加强了对桌面的厌恶,仅仅提供了一些基于触摸的交互控制,以扩展熟悉的iPhone UI隐喻,而不是用桌面隐喻取代或增加它们。
例如,UISplitViewController允许您将屏幕划分为两个单独工作的视图。Mac开发者很久以前称之为非模态对话框的东西现在被改造成弹窗,这是在一些可选控件有用的时候添加一个小层的另一种方式。而弹窗则是为了与下方的窗口更紧密地联系在一起。它们并不是额外的浮动窗口。
很明显,苹果不想鼓励桌面电脑上经常出现大量的窗口。苹果也没有在台式机或笔记本电脑上的应用程序中培养那种剪切-粘贴多任务处理。虽然现在有了创建PDF文件的新程序,但大多数操作系统的设计似乎表明,iPad不应该用于繁重的工作:发几封电子邮件或对演示文稿进行润色是可以的,但真正的信息合成应该留给台式机和它们的大键盘。
大多数新图书馆都是满足的
iPad更多的是用于消费内容的设备,而不是创建它,并且有几个新库强调了这一点。
许多更受欢迎的iPad应用程序可能会将文字传递到iPad屏幕上,这就是为什么iPad的iPhone OS 3.2包含了更强大的CoreText例程。该软件包首次出现在Mac OS 10.5中,现在是在屏幕上显示字体的最灵活的方式之一。有字体、字体描述符、字体集合和布局引擎来在屏幕上排列来自这些字体的符号。
如果你想移动文本,Core Animation代码附带一个CATextLayer程序来移动文本。iPhone开发人员不得不使用基本的文本程序,但iPad开发人员得到了更多工具,让文本设计人员可以利用iPad的屏幕。
不过,尽管这些例程起源于Mac OS X,但仍有一些差异可能会妨碍你。例如,CATextLayer的一些方法附带说明,说明隐式动画只有在Mac OS X 10.6编译时才可用。一些iPad开发人员报告说,在使用最时髦的程序将文本沿曲线排列时出现了小故障。我怀疑这些遗漏是苹果工程师做出的明智决定的结果,他们想要限制API以节省电池消耗。谁愿意让文字在屏幕上以奇怪的路径漂浮?
尽管如此,我敢打赌,书籍设计师和游戏设计师会喜欢这些惯例。我相信,最好的教科书很快就会包括完整的动画、视频和模拟,当它们开始出现在iPad上时。继续使用“书”这个词来描述非小说类内容将如何传播,这甚至可能不公平。你所需要做的就是比较一本30年前的烹饪书和一本现代的,看看一个有才华的书籍设计师在配备了Mac和一些好的布局软件后能做些什么。现在,想象一下把一个程序员扔进这个混合体。
但不要太兴奋:iPad的单窗口模式意味着点击电子书中的URL就能把控制权从电子书转移到Safari。即使发布是通过Safari发布的,单击一个链接也会隐藏当前屏幕并移动到另一个屏幕。这种单窗口模型将阻止桌面Web用户常见的搜索和漫游——许多设计师将其作为交互模型。
做好应用被拒绝和回避的准备
自第一个iPhone SDK以来,iPhone开发人员一直抱怨Apple的复杂,通常是关于App Store的统治。这不会随ipad应用商店而改变。
当我未能选择Info.Plist文件中的标志的正确设置时,App Store几次拒绝了我的应用程序。此文件中的这一交换机的长期集合会影响来自可接受的设备(iPad,iPhone或两者)到编译器的字节码生成的所有内容。Apple建造了多个菜单选项,模板尝试将所有这些交换机设置为正确的配置,但如果您采取略有不同的路径,就像我所做的那样,您将最终混淆。
[也来自InfoWorld:阅读Peter Wayner的“iPhone应用商店轮盘赌:一个被拒绝的故事。“]
我第三次提交了申请,它在坐在审查队列中只有一天后航行到商店。所有的摆弄旗帜和图标的工作原理。它可能不是最抛光的书籍阅读应用程序,但它是免费获得Cory Doctorow的制造商的简单方法。(你可以得到我的自由iPad制造商应用在App Store,以及iPhone版本.)
弄清楚如何构建可接受的普遍应用程序是另一个技能,迫使开发人员将知识与来自同事的民间智慧混合在一起。有时,当您上传应用程序时,App Store将悬挂错误,但我不得不等待官方拒绝信 - 好消息是,他们出现了大约两天的等待时间。
当我创建Cory Doctorow的Makers应用的样本版本时,从我之前创建的HTML版本开始,应用几乎立即在模拟器中运行。但我花了几天时间试图将其上传到App Store。
虽然现在有大量的视频和一些有用的指导,但也有很多复杂的工作要做——而且它只是半自动化的。更糟糕的是,iPad App Store平台的快速发展意味着自动化并不总是一致的。例如,Application Loader工具一直拒绝我的二进制文件,但我可以通过苹果开发者网站让它成功上传。
苹果公司经常任意的规则也浮出水面。例如,我丢失了一小时试图上传一个应该为客户显示的512x512图像,但iTunes连接网站只是通过说找不到图像来拒绝我的表单。在我提交了一个错误报告后,Apple告诉我问题在一天结束时得到了解决。虽然这个故障是固定的,有人在那里拒绝了这个应用程序,因为512x512版本的图标据称与57x57像素版本不匹配,甚至认为我发誓我从同一图像中建立了它们。也许这是由制作功能似乎不识别改变图标的方式引起的。sheesh。
大量的麻烦仍然来自于看似无穷无尽的供应过程。每一个软件都不停地告诉我,某个证书将在四天内过期,但我不知道如何获得一个新的。点击了一个小时后,我上传了我的代码,而这似乎花了几个小时的时间。当它到期时,所有配置配置文件都停止工作,我不能简单地成功地按下Modify按钮。
我花在这款应用上的时间至少有一半是在地狱里度过的。这几乎足以让我希望有人能找到一种廉价的方法来破解公钥密码,这样就不会有人被迫为这些例行公事跳舞了。
仍然有明亮的迹象。现在的提交应用程序的响应时间在几天甚至几小时内测量,而不是去年占主导地位的星期,当时想要游艇正在编写iPhone代码。App Store现在收集有关堆栈位置的一些崩溃报告,其中故障开始,甚至与开发人员分享其中一些。它为开发人员提供更多选项,以便以任何可能是有限的形式与客户联系。除了我的大多数情况,大多数情况都有更多更好的文件。所有这些都使生活有点易于生活在琴赞福纳丝内。
但仍时刻自动化无意中说出的真相苹果开发者在这个宇宙的选择作用:当我开始一个项目,并把按钮来创建一些新的模板,XCode请添加了两个新行评论这些新文件的顶部。第一封开头写着“由彼得·韦纳创作”,第二封写着“版权归苹果公司2010年所有”。我认为这个通知只适用于模板代码,但其象征意义是明确无误的。
相关案例
*“讨厌苹果的App Store?Kindle的开发也不会更自由"
这篇题为《iPad SDK内部:更大的屏幕,持续的挫折》的文章最初发表于信息世界 .