jjgod / blog Random notes by Jjgod Jiang.

Posts Tagged ‘iPhone’

说说对今早 WWDC Keynote 的想法

大家一边纷纷怪 Keynote 没新意,一边在发布前使劲的刺探情报,所以这两年的热点产品往往在发布之前就被曝得体无完肤,就好比自己先去看了剧透,然后看电影的时候痛斥没有惊喜。 MacBook Pro 的升级对我而言算是个惊喜,本来以为要到 10 月以后才会发布的东西,居然现在就出来了,不过亮点不多,比如期望的 Nehalem 移动平台,显然不可能这么早就出现。 Safari 4 正式版的界面不得不说是一个妥协的结果,本来 Beta 中需要很大勇气的创新被巨大的反对意见逼退了,Apple 没有 “take one step further” 去继续改进,而是直接放弃了尝试,回到了传统的 tab 布局。总体来看,这个界面设计缺乏深思熟虑,不会很讨人喜欢。 Snow Leopard 针对用户的大更新不多,小改进不少,总的而言会是一个让人 (尤其是比较喜欢保持软件更新的人) 用着很舒服的平台。 针对开发者的特性许多都是头一次出现的,不应该期望它们在 10.6 中就足够成熟,其实大部分都还是给有尝试热情的、勇敢的开发者,以及基于这些底层技术作二次开发的厂商做热身的。这算是为以后的改进搭下了一个很好的基础,单从底层技术而言,Apple 这个公司对于业界的影响也越来越大了,对 OpenCL, GCD, LLVM, WebKit 等技术的推动充分说明了这一点。 iPhone OS 3.0 的改进,主要是希望利用大量 app 的先发优势压倒 Palm webOS 这样的新秀,然而对比起来玩弄的噱头越来越多,聚焦在一个好用的手机、好用的交流、联络工具上的改进越来越少,所以相比 Palm webOS 显得格外苍白。毫无疑问的,iPhone OS 3.0 升级让这个系统更完整、更有潜力了,但 Apple 自己开发的内置 app [...]

State of iPhone Open Application Development (1)

七月关于 iPhone 的消息一直围绕着 2.0 firmware, iPhone 3G, official SDK 1.0 这几个关键词,而非官方关心的也只是 Pwnage Tool 2.0,却对没有 iPhone Developer Program 的开发进展甚少介绍,我想在这里做一点记录。 随着 SDK 1.0 的正式发布 (遗憾的是,因为 NDA 的存在,甚至它都算不上发布..),iPhone 2.0 firmware 和 App Store 的上线,在 Apple 监视下的 iPhone OS/Cocoa Touch 程序开发的局限性暴露得越来越明显,saurik, NerveGas 等开发者坚持开发 Open Toolchain 的重要性也越来越明显。为什么在拥有一个如此完善的 SDK 的情况下我们还需要 Open Toolchain 和相关工具?因为: Apple 严格限制了第三方应用对 API 的使用,非 Apple 自己开发的应用程序不能使用许多极为有用的 Private API,否则就是违反 [...]

将 Debian APT 引入 iPhone

原文: Bringing Debian APT to the iPhone 作者: Jay Freeman (saurik) 译者: Jjgod Jiang iPhone (或 iPod Touch) 是一台配备着 128MB RAM、4 到 32 GB 闪存的 667MHz 计算机 (尽管只跑在 412 MHz 上)。软件方面,它运行的是一套裁剪过的 Mac OS X,包括 Darwin 内核上基于 FreeBSD 的用户空间程序,作为其标准组件。虽然部分人可能会奇怪怎么有人会把它作为 Unix 工作站来使,但就我和其他许多人的看法,不拿它来做 Unix 工作站才是值得奇怪的。 BSD 子系统 所以给这台设备头一个安装的包是“BSD Subsystem (子系统)”也就没什么奇怪的了:这是一套标准的 Unix 实用工具,让习惯了 Unix 的开发者感到宾至如归。从 grep, sed 到 vim, [...]

AppTapp 的打包问题

原文: Packaging Issues with AppTapp 作者: Jay Freeman (saurik) 译者: Jjgod Jiang Debian 的 APT,Gentoo 的 Portage,FreeBSD 的 Ports……它们内部运作的方式往往迥异,有的在服务器上存储着按少量标准配置编译好的二进制程序,有的则将代码下载到本地再按需编译,但它们最终都能归结到一两个简单的命令,不会比一句 install bash 这样简单的操作更复杂。 在 iPhone 上包管理工具的时令之选是 AppTapp Installer。这款由 NullRiver 开发的 Installer 给 iPhone 开发社群提供了一套简单的程序 (该程序可在 jailbreakme.com 这样的系统上轻易自举),它可由普通用户访问,进行即时的应用程序安装维护。任何人都可以通过它来分发自己的软件,只要配置好自己的软件仓库,并将其 URL 告知用户,他们就能以此作为“source”来安装你们的软件。考虑到 iPhone 这个 Apple 设备文档匮乏又 (对开放的软件安装) 深怀敌意,Installer 能做到这样可不容易,非常值得称赞。 然而,对于软件打包者而言,AppTapp 却显得很是繁琐。它的开发者选择了 Objective-C 属性列表 (property list) 来存储所有的软件包元数据,其中包括要在安装时执行的命令——不过通常执行的是 shell 脚本。这通常导致配置文件看起来不够完美。一个用十句脚本代码就能表达的配置往往要好几页的 XML [...]