AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

Flash 平台将支持 iPhone 应用开发

  • 2009-10-26
  • 本文字数:2531 字

    阅读完需:约 8 分钟

在不久前召开的 Adobe MAX 2009 大会上,Adobe 向与会者展示了如何通过 Flash Professional CS5 预览版为 iPhone 和 iPod touch 开发应用与游戏。现在读者已经可以从 Apple App Store 上下载这些应用了。感兴趣的用户现在可以注册以便在Flash Professional CS5 正式发布后的第一时间内获得通知。

Apple iPhone 是世界上最畅销的消费类电子产品。目前已经有 85,000 多个 iPhone 应用在卖了,这吸引了世界上众多消费者和开发者关注的目光。近日 Adobe Labs 发布了万众期待的 iPhone 开发主页。对此,社区先锋 Serge Jespers 说到:”今年底 Adobe 将发布 Flash Professional CS5 公共 beta 版,开发者可以凭借该版本使用其最擅长的 Flash 平台工具和技术为 iPhone 开发应用了,而这一直是众多的 Flash 迷们梦寐以求的事情。“Adobe 专家 Mark Doerthy 对此说到:

没错,我们已经将 Flash 平台引入到了 iPhone OS 上。事实上,我们已经在 Apple App Store 上发布了不少应用。一开始,我们还对此事采取了保密措施,但现在事实已经证明 Flash 能够高效运行在 iPhone 上而无需做任何修改。 大家可以从 Apple App Store 上下载这些应用尝鲜: Just Letters Red Hood Chroma Circuit FickleBlox That Roach Game Trading Stuff South Park Avatar Creator 。要想在 iPhone 上运行 Flash 可不是件容易事,结果总是会有这样或那样的限制,但很多人都向我们明确表示这可是 Adobe 在移动业务上的头等大事,所以我们加足马力干了一年多来实现这个需求。

Flash Professional 为广大的开发者提供了新式工具,这些工具将包含在今年底发布的 Flash Professional CS5 公共 beta 版中。现在大家就可以通过 Flash Player 10 或是 Adobe AIR 2.0 API 开发移动项目了。

目前还有很多典型的 iPhone 特性尚未得到支持,他们是:

  • 从文件系统中选择照片
  • 从地址薄中选择联系人
  • 照相机
  • 剪切 / 复制 / 粘贴
  • 附件支持
  • 应用中的购买支持
  • 端到端支持
  • 地图
  • iPod 库访问支持
  • 指南针
  • 发布通知
  • 音频 / 视频录制

由于工作量巨大,同时缺少对 Apple 公共 API 访问的支持,不少 Flash 特性被放弃了,它们是:

  • 嵌入式的 HTML
  • RTMPE
  • H.264 视频
  • 动态装载 SWF
  • PixelBender

那 Flex 又如何呢?在 Adobe MAX 2009 上,Adobe 专家专门围绕着 Adobe Flex Mobile Framework(叫做”Slider“)进行了探讨。他们希望能在 iPhone 上高效运行该框架。届时,大家可以使用熟悉的工具、API 以及核心框架进行开发了。尽管在 iPhone 上使用 Flex 没有什么技术上的难题,但目前的问题是,一旦运行你就会发现巨大的性能问题,到时候只能针对移动设备的交互重写组件了。

来自 Adobe 的技术专家 Aditya Bansod 说到:

无数的 Flash 开发者向我们哭诉他们是多么渴望为 App Store 创建应用,因此我们必须夜以继日地工作,就是为了将他们的才华和创造力带到 iPhone 上。在详细了解 Apple 的软件声明、许可等内容后,我们觉得最好的方式就是为开发者社区提供一个编译器以将 SWF 内容打包成为本地的 iPhone 应用(当然了,我们确信这么做并没有违背 Apple 的法律声明)。

接下来,Aditya Bansod 向我们介绍了通过 Flash 开发 iPhone 应用的方式:

我们是通过 Low Level Virtual Machine(LLVM)编译设备让这一切成为可能的。LLVM 是个模块化、灵活的编译系统,在很多项目中都得到了广泛的应用。之所以选择 LLVM 的主要原因就是看中了其在 iPhone 开发中所表现出的灵活性和适应性。 我们创建了一个新的编译器前端,这样 LLVM 就能够理解 ActionScript 3 并通过其现有的 ARM 后端输出本地的 ARM 汇编代码,这个过程称之为预先编译(AOT),它与 Adobe Flash Player 和桌面上的 Adobe AIR 功能所使用的即时编译(JIT)正好相反。既然可以预先将 ActionScript 编译到 ARM 中,那么应用就能够获得 JIT 所提供的所有性能方面的优势,而最后的应用也无需运行时了。

由于我们自己实现了整个编译过程,这样开发者就可以凭借 Flash 技术和 ActionScript 3 创建应用了。在这个过程中,我们还公开了开发者所熟知的 API,因此他们不仅可以使用 ActionScript,还可以按照自己习惯的方式来构建应用。在为 iPhone 创建应用时,最终的二进制代码将不会包含解释代码和运行时。你所创建的应用就是一个完完全全的本地 iPhone 应用。

那么该如何为 iPhone 构建应用呢?其实很简单。即将发布的 Adobe Flash Professional CS5 beta 版包含了创建 iPhone 应用所需的一切。开发者可以访问几乎所有的 AIR 2.0 和 Flash Player 10.1 API。比如可以使用 RTMP、Remote Shared Objects、AMF API 以及 SQLite 并访问文件系统。大家可以查看 Adobe Labs 上的开发者须知进一步了解相关信息。

首先在桌面上创建符合 iPhone 屏幕大小的应用。iPhone 的显示大小(很多智能手机都是如此)是 320 × 480。如果应用没有处在全屏模式下,那么状态栏还要占据 20 个像素,因此在构建应用时需要考虑到这些因素。 然后要记住,手指就是定点设备。可以使用鼠标事件(以及触摸事件)来跟踪用户的意图,但请牢记手指并非精准的定点设备。有时手指在屏幕的一边滑下来却在另一边又滑了上去。在桌面开发中经常会利用的某些行为并不一定适合于 iPhone。

第三点也是最为重要的一点就是在构建应用时一定要考虑性能问题!iPhone 并非桌面计算机,虽然有强大和复杂的硬件设备,但不同的设备之间还是存在着巨大的差异性的,比如内存容量以及处理能力等等。

如果具有使用 Adobe Flash Lite 或其他移动平台开发应用的经验,那么就可以利用其中的很多技术和技巧,比如缓存位图、限制显示列表的深度等等。为了简化高性能应用的开发,iPhone 应用还可以使用增强的渲染管道(利用到了 OpenGL ES ),它增强了 Flash 渲染模型以让开发者充分利用 iPhone 上的 GPU。通过这种渲染方式,开发者就可以修改显示对象并将其放到硬件上面。选择这种渲染方式有利也有弊,具体信息请查看 Adobe Labs 上的开发者须知

一旦构建好应用就可以将其部署到iPhone 或是iPod touch 上进行测试了。如果对自己的应用很满意,那就签上你的证书上传到 iTunes Connect 上吧。就是这些了,以上就是采用 Flash 开发 iPhone 应用的整个过程。

请大家持续关注 InfoQ 中文站对该主题的后续报道。另外,也请抽出一点时间参加 InfoQ 中文站的小调查。

2009-10-26 04:012169
用户头像

发布了 88 篇内容, 共 269.3 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

AI 正以颠覆性力量重塑商品管理的底层逻辑

第七在线

天翼云牵头编制国家标准,共建行业技术标杆!

天翼云开发者社区

云计算 科学计算 智能计算 天翼云

浪潮海岳inSuite 5.0标准版重磅发布,赋能中小企业数智化转型再提速

浪潮海岳inSuite

萨科微宋仕强,在人工智能Ai大模型文本写作的试用与反思!

科技汇

浅谈企业应用中台的构建

天翼云开发者社区

企业应用中台

鸿蒙运动开发:计算户外运动步频与步幅,与地图路线绘制

王二蛋和他的张大花

鸿蒙 os

【CodeBuddy】三分钟开发一个实用小功能之:九宫格图片切割&生成器

jimaks

CSS

性能王者!天翼云再次拿下世界第一

天翼云开发者社区

云平台 算力 天翼云

SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库

sysin

SQL Server

赛博威 AI Agent 赋能营销费用管理,实现自主感知、决策与高效行动

赛博威科技

AI 数字营销 AI Agent 赛博威

边缘云特点、应用实践和发展趋势浅析

天翼云开发者社区

边缘云 天翼云

鸿蒙开发:基于ArkUI的儿童早教钢琴应用实现

chengxujianke

AI赋能,赛博威「营销+上市+产品」三线并行产品创新协同平台加速爆品上市!

赛博威科技

数字营销 赛博威 产品创新协同平台

HarmonyOS NEXT 中级开发笔记:动漫社团社交应用的ArkUI实践

chengxujianke

Kmesh v1.1.0 正式发布!官网焕新升级

华为云原生团队

云计算 容器 云原生

企业级AI搜索解决方案:阿里云AI搜索开放平台

阿里云大数据AI技术

云计算 大数据 阿里云 信息搜集 AI 搜索引擎

AI-Ready TapData:如何基于 MCP 协构建企业级 AI 实时数据中枢?(含教程)

tapdata

实时数据平台 MCP协议 AI+数据 AI数据调用 企业数据中枢

鸿蒙开发:ArkUI实现兴趣社群聊天界面

chengxujianke

鸿蒙开发:ArkUI实现儿童早教应用交互界面

chengxujianke

助力科学智能发展!上海人工智能实验室『AI4S攀登者行动计划』申请持续进行中!

ModelWhale

科学智能 AI4S

AI技术在英语口语学习中的应用

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

HDD•鸿蒙赋能交流会模式升级!“培训+班级”开启长效学习进阶之路

最新动态

破局多语之邦,如何让AI听懂印度方言?

数据堂

人工智能 AI 数据 印度 印度互联网

Microchip扩展连接、存储与计算产品组合,以满足AI数据中心应用日益增长的需求

新消费日报

一文快速了解 YMatrix 与 Greenplum 的相同与不同

YMatrix 超融合数据库

数据库 greenplum 迁移数据 YMatrix

前端热更新:无声革命重构中国互联网开发模式

xuyinyin

玩转C++11多线程:让你的程序飞起来的std::thread终极指南

电子尖叫食人鱼

C#

鸿蒙开发:今日热点类应用开发实践

chengxujianke

展位预定倒计时!500+企业云集,西部不容错过的电子行业盛会

AIOTE智博会

电子展 电子信息展 成都电子展 西部电子展

为什么政府单位、事业单位要用自己的内网即时通讯软件?

BeeWorks

即时通讯 IM

比特币BTC是对草根最友好的加密资产,大胆持有,坚定抄底!

区块链项目一站式包装孵化

Flash平台将支持iPhone应用开发_Java_张龙_InfoQ精选文章