阅读更多

8顶
0踩

移动开发

转载新闻 iPhone SDK 观察

2008-03-25 12:09 by 见习编辑 robbin 评论(4) 有5191人浏览
iPhone SDK 观察 - 舞姿飘忽,苹果的探戈

3 月 6 日的 SDK Event 可能比我想象的重要许多,Apple 官站大张旗鼓的推广宣传,QuickTime 直播,iTunes Podcast 下载,昨天还意犹未尽的放出了 HD 版的流媒体链接。开发者档案库的迅速上线,HIG(用户介面规约),Reference 也更新得相当及时,更别提 ADC 动用多位传教士(Evangelist)录制的 10 段总时长达 3 个小时的详解视频了(均可供 ADC 会员免费下载,制作精良,信息量也不错)。

业界各大厂商也纷纷示好,甚至不惜以热脸贴冷屁股(如升阳),PC 游戏天神 John Carmark 也对其开发环境赞许不已。

而各路亲水果族的评论员们更是迫不及待地开始山呼万岁,认为 iPhone 平台即将一桶浆糊了。

这个搅得大家精神莫名亢奋的 SDK Roadmap 到底是虾米碗糕?我们先来简单看看吧:

1、开发环境为 Leopard 上的 Xcode 套件(其中包含定制的 Instruments 实时性能监测和 Debug 工具,以及接近全功能的 iPhone 模拟器),语言为 Objective-C,但提供 C,C++ 的原生嵌套支持。

2、iPhone OS 的系统架构和多数 Framework 与 OS X 大同小异,从 Unix 内核,到 Core Foundation Framework 系统级服务,再到更高层的Quartz2D、 Core Animation、Core Audio、OpenGL ES/AL都完全相同或者是功能相似的简版,一直到最顶层的 API 才有些真正重大的区别,桌面版 OS X 使用 Cocoa, 而 iPhone 版则是变体 Cocoa Touch。所以一个有经验的Mac程序员几乎可以毫不费力的适应 iPhone 的编程。

3、SDK 免费下载,但是想要真正在 iPhone 上运行需要花费 99 美元加入 iPhone Developer Program, 由此不仅能得到官方的技术支持,也允许其将软件挂上唯一的 iPhone 软件商店 App Store 出售,开发者自由定价,销售收入与苹果七三分成,除此之外没有任何的管理、帐目、挂载费用——如果你宣布免费,那么苹果也就不向你收钱。

4、苹果将会对上线软件进行审核,诸如色情、恶意、违反开发者协定等等的软件将不能获准出售。

5、苹果联合著名风投 KPCB 设立总额高达 1 亿美金的 iFund,用来鼎力支持在 iPhone 平台的创业的开发商。

根据在各个苹果开发者论坛看到的情况,似乎大家都对此框架表示意料之外的惊喜,虽然 30% 的提成看上去很高,但是 1、开发者无需购买昂贵的开发用机,任何一台 Intel Mac 都可以胜任,外加一台测试用的普通 iPhone,99 美元的会员资格,就是一个完整的开发环境。这个比很多移动/主机平台的开发成本都要低得多。2、开发者将完全不用操心营销问题,iPhone 的 2.0 版固件将包含一个 App Store 按钮将软件直推到每一台终端,并且没有主机费用,没有库存/物流费用,只要你的软件不出大篓子,那 70% 就是净收入。就像某开发者说的那样:管它多少钱的 70% 也比零蛋的 100% 要好。Ars Technica 的 John Siracusa 更是掩饰不住的欢歌: 我们要发财啦!!!~~~~

但是在最终用户那里,我们看到的却更多的是担心,担心苹果的审核制度会扼杀很多对用户很有价值,却不符合 Apple Inc. 利益的软件,比如直接从 Amazon 购买无 DRM 音乐的软件,使用 EDGE 网络的 Skype 软件等等。

更进一步地探究 iPhone HIG 等相关文件,我们还发现了苹果对于开发者进一步的约束:

1、同一时间只能运行一个第三方软件,当切换程序时,之前的程序应顺利保存退出。因此开发者应该为此特性作好准备,保证用户再次打开本程序时回到退出时的状态。

2、程序退出后原则上也不允许在后台执行 Daemon 以获得必要的数据。(这个引发了大家对于即时通讯软件表现的担忧)

3、第三方程序不得引入自身的 Framework 和 API(因此升阳真的单方面开发 iPhone 版 Java 虚拟机的话,大概是要吃官司的。)

4、第三方软件不能对文件系统进行操作,不能利用扩展坞与外设进行通讯(这两条显得超级没天理,在这里 Apple 显得很 evil。)

从发布会和强大的 SDK 对于开发者完全开放底层 API 来看(可直接操作 BSD Socket 和网络端口),Apple 明显是想把 iPhone 打造为一个对开发者友好的强势平台。而 SDK 使用协议中的诸多限制,却让人心生疑窦——虽然 已经有开发者证实,所有这些限制在 SDK 中都没有硬性实施(你要想在自己的 iPhone 上搞多任务完全没问题),但毕竟 Apple 掌握着所有软件的生杀大权,它的这些条条框框将极大的束缚第三方软件的功能和实用性——这种进一步退两步的姿态,实在让人难以捉摸~~~
来自: apple4us
8
0
评论 共 4 条 请登录后发表评论
4 楼 zjumty 2008-03-26 11:37
苹果向来是很邪恶的
3 楼 gxm2052 2008-03-26 01:52
苹果很封闭的,就想一个人把钱全挣了,最多让别人喝点汤。
2 楼 lordhong 2008-03-25 22:51
本来基于freeBSD的Mac OS就是应该要开源的。APPLE是非常的邪恶滴~~~
1 楼 Frederick 2008-03-25 12:59
即想保持在自己的平台上的垄断来获取暴利,可是又想利用开源的力量来获得市场,apple也想得太美了

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • mysql添加的sql语句怎么写_插入sql语句怎么写

    插入sql语句的写法:【insert into table_name values (value1,value2,value3,...);】。还可以在插入数据时指定列名,如【insert into table_name (column1)】。SQL insert into 的基本语法insert into语句可以有两...

  • mysql怎么写sql语句_Navicat如何写sql语句

    sql是操作数据库中数据的语句,在...为了方便大家学会在Navicat写sql语句的技巧,下面将教手把手给大家进行演示。具体操作步骤如下:步骤一 打开你电脑里的Navicat for MySQL。在开始菜单搜索框中输入“navicat”...

  • mysql 更新sql 语句怎么写_sql更新语句怎么写

    在SQL数据库中的更新语句要使用UPDATE语句来完成,UPDATE语句的作用是改变数据库中现有的数据,从而达到更新数据的目的,其语法是“update set = where...”。在SQL数据库中的更新语句要使用UPDATE语句来完成,...

  • SQL常用语句大全

    SQL常用语句大全

  • 使用SQL语句创建数据库与创建表

    目录 前言 一、通过sql语句实现 1.1 创建数据库 1.2 查看、验证创建的数据库。 1.3 修改数据库的属性 1.4 数据库的分离与附加。 1.5 创建数据表 二、用通过SQL Sever Management Studio 2.1 创建数据库 2.2 查看、...

  • mysql数据库的备份sql语句是什么_备份数据库 · Mysql 常用Sql语句 · 看云

    不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,但是在生产环境中很难允许备份服务器...

  • SQL语句创建视图:

    详细介绍视图的定义和如何使用SQL语句创建视图,查看视图以及修改视图的定义与数据. 举例说明,运行结果展示.

  • MySQL中特别实用的几种SQL语句送给大家

    在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑。减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮。 目录 实用的SQL 1.插入或替换 2....

  • 关于sql和MySQL的语句执行顺序(必看)

    目前还在查看,但是在查阅资料时发现了一些有益的知识,给大家分享一下,就是关于sql以及MySQL语句执行顺序: sql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。 一、sql执行顺序 (1)from (3)...

  • 动态 SQL 语句大全

    动态 SQL 语句大全

  • 常用的SQL语句

    SQL查询语句

  • 阿昌教你看懂mybatisplus的sql语句的创建过程

    前些日子,阿昌写过一篇【mybatisplus的SqlSessionFacotry的创建过程】的菜鸡文章,这里我打算再记录一篇,关于mybatisplus的sql语句的创建过程。 前戏 同样,学过springboot的人都知道,如果要整合什么框架,肯定...

  • MyBatis-Plus——自定义SQL语句

    前言 当我们在开发过程中,如果MyBatis-Plus中的SQL语句并不能满足我们的需求,那么我们可以在XML文件中自定义SQL语句,这样的话我们就可以在MyBatis-Plus的基础上继续提高我们的开发效率了。本篇博客也将讲解如何在...

  • Oracle数据库常用Sql语句大全

    最简单的就是查询:select语句 数据库操作语言DML:update、insert、delete等 数据库定义语言DDL:create、...则可这样写: select * from (select列 from 表 where 条件 order by列 desc) where rownum<> sel

  • (三)mybatisPlus自定义Sql语句

    mybatisPlus自定义Sql语句 ???? Java学习路线:搬砖工的Java学习路线 ???? 作者:程序员小王 ???? 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF ???? 扫描主页左侧二维码,加我微信...

  • SQL语句能自动生成吗?

    有许多工具和程序可以帮助您自动生成SQL语句,这些工具可以提高工作效率并减少出错的可能性,快来看看吧

  • 数据库常用的sql语句大全--sql

    sql语句的命令不区分大小写,但储存的数据是区分大小写的。在这里我们统一使用英文小写进行命令编辑。如果喜欢大写的可以使用IDE编辑器的一键美化功能,可以统一转化为大写。并且会对你的sql语句进行美化,例如自动...

  • 一、SQL语句执行过程

    一个sql语句执行顺序: FROM ---> ON ---> AND ---> JOIN ---> WHERE ---> GROUP BY ---> HAVING ---> SELECT ---> DISTINCT ---> ORDER BY ---> TOP 1.FROM 2.ON 3.JOIN 4.WHERE 5.GROUP BY 6.WITH CUBE or WITH ...

  • Navicat查看表的sql语句

    记录如何在navicat中查看表的sql语句 Navicat中查看SQL语句步骤 1、Navicat数据库连接后,在表名上单击右键,在弹出菜单里点击对象信息 2、此时点击DDL选项卡,就可以看到该表对应的创建语句。 附SQL语句实例: ...

  • python执行sql 语句

    看你是15年毕业为什么简历上只写了从16年开始? 该面试官比较注意经历的完整性,因为我15年毕业之后没做什么正经工作,还考了一段时间公务员,从16年开始才算是正式参加工作,所以这部门没有写道简历里,面试官在...

Global site tag (gtag.js) - Google Analytics