我对我作为程序员的未来有一个困境,我已经做了 4 年的 Actionscript 开发人员并且想继续前进,唯一的问题是我不知道在哪里。
也许你们中的一些人(前 AS3 开发人员)已经完成了这种转换并提出了一些好的建议。
谢谢!
PS 如果这有点离题,我会知道,但我真的认为这是一个很好的提问地方。
我对我作为程序员的未来有一个困境,我已经做了 4 年的 Actionscript 开发人员并且想继续前进,唯一的问题是我不知道在哪里。
也许你们中的一些人(前 AS3 开发人员)已经完成了这种转换并提出了一些好的建议。
谢谢!
PS 如果这有点离题,我会知道,但我真的认为这是一个很好的提问地方。
我是一名拥有 10 年以上 flash/actionscript 经验的开发人员。我仍然喜欢它并不重要,客户希望一切都可以在他们的 iOS 设备上运行,这就是我们今天生活的世界。
HTML/CSS/JS 是前进的道路,可以调试。我会推迟不完全支持的 html5 功能(如 canvas、svg),并学习使用 div、css、sprite sheet 和 js/jquery 做所有事情。
推荐工具:
将 div 视为保存资产的影片剪辑。使用 greensock 来制作动画,就像在 AS3 中一样。
至于调试,用chrome,学会用console。console.log("test") == trace("test")。控制台还将指出 javascript 错误以及它们所在的行。
此外,如果您正在制作将从 Flash 导出的适用于 Android 和/或 iOS 的移动应用程序,Flash 并没有死,它仍然很有用。我认为新版本的 flash 也有一些 sprite sheet 导出选项,或者至少我记得在某处读过它。
您必须记住,通过这种类型的工作,您今天所做的事情将在两年后有所不同。它总是在移动,不要被一种工具卡住。
另请查看labs.adobe.com并下载Adobe Edge。Edge 将成为 Adobe 的 HTML5 版本的 flash。如果你需要一个工具来为你打破僵局,它目前是有限的,但很有希望。
关于 Flash/ActionScript 的未来,请阅读Adobe 的 Flash 运行时路线图。
Flash 播放器“下一个”
虽然 Adobe 正在开发 2012 年的版本,包括 11.2 和随后的 2012 版本,但我们也在对 Flash 运行时的代码库进行现代化改造,以确保 Flash 运行时在未来 5 到 10 年内满足开发人员的需求。此作品在本文档中称为 Flash Player 和 ActionScript “Next”。
这项工作包括但不限于以下内容:
- 重构和现代化当前核心 Flash 运行时代码库
- 在 ActionScript 虚拟机上工作
- 对 ActionScript 语言的更新
这项工作的主要目标是提供核心 Flash 运行时和 ActionScript 虚拟机的现代实现,以显着提高脚本执行性能并为 Flash 在未来十年的发展奠定基础。
目前,这项工作产生的初始 Flash 运行时版本计划在 2013 年发布。
Adobe 计划在 2013 年发布的版本中添加对 Adobe AIR 中硬件加速 StageVideo 的支持。
动作脚本“下一步”
近年来,ActionScript 的应用程序和内容范围发生了显着变化,而 ActionScript 3 语言自 2006 年推出以来几乎没有变化。Adobe 认为是时候修改该语言,以谨慎地引导其进一步发展,使其具有更强的表现力以及生产力和性能提升。
从语言设计的角度来看,Adobe 使用以下假设作为下一代 ActionScript 开发的指南:
- 对稳健性、模块化和可维护性等长期生产力优势的需求不断增加,以补充脚本语言的短期生产力优势特征,例如开发速度
- 对高性能的需求增加
- 对硬件利用率的需求增加
首先,Adobe 计划在短期内显着提高性能,目标是在长期内持续提高性能。当我们处理如何发展 ActionScript 时,性能是主要目标。其次,Adobe 旨在通过简化语言、改进工具支持和加强错误预防来提高开发人员的工作效率。最后,由于减少了不必要的复杂性,我们将能够更快地在 Flash 运行时内进行创新。
以下是为下一代 ActionScript 语言和虚拟机探索的一些项目:
- 默认为严格的静态类型,可选的动态类型:大多数程序的大多数部分都有望从静态类型中受益。但是,ActionScript 3 倾向于在绝对严格的静态类型更可取的地方很容易陷入动态类型。这将得到纠正。动态类型在需要时仍然可用,但它不再是 ActionScript 的默认设置,需要显式启用。
- 类型推断:类型声明仅在某些战略位置是必需的。在其他任何地方,编译器都会自动推断出合适的类型声明并将整个程序视为静态类型,即使程序员不必声明任何类型。因此,可以很好地近似非类型化编程的便利性,同时提供类型化编程的性能优势。
- 面向硬件的数字类型:例如,int、uint、float、float4、byte、short、long 等(具体的类型集仍在讨论中)。目前在 ActionScript 3 中,整数值可以溢出为浮点值。这将被更改,以便数字运算永远不会改变数字的基础表示。我们预计这一添加将大大降低实现复杂性并提高运行时性能。
这些只是我们关注的几个领域。随着我们对语言和虚拟机将如何变化的思考不断发展和巩固,我们将更新此文档。