我已经使用 Adobe Flex 一年多了,我真的很喜欢它,因为我不太擅长 Javascript。
但我只是想知道如果我是想制作 Adobe Flex 的人,我将如何向我的老板解释,我在制作什么?我的老板不会简单地说,“但是你计划做的几乎所有事情都有 Javascript”。
如果我需要为这个涉及大量“宝贵”开发人员时间的项目获得批准,我会对他说什么?
我已经使用 Adobe Flex 一年多了,我真的很喜欢它,因为我不太擅长 Javascript。
但我只是想知道如果我是想制作 Adobe Flex 的人,我将如何向我的老板解释,我在制作什么?我的老板不会简单地说,“但是你计划做的几乎所有事情都有 Javascript”。
如果我需要为这个涉及大量“宝贵”开发人员时间的项目获得批准,我会对他说什么?
好吧,我认为您用宝贵的开发人员时间找到了正确的位置。如果您正在构建的是一个类似桌面的应用程序, FLEX 将为您节省大量时间,具有大量各种形式和字段。
此外,您可能会争辩说,在浏览器上运行 FLEX APPS 的唯一需要是 FLASH 插件。因此,几乎每个人都可以运行您的应用程序,而无需经历安装新插件、框架或任何东西的所有危险。就像 JavaScript 一样。
Flex 具有丰富的 UI 体验,提供更多功能,需要的编码太少,在服务器端编译并以二进制形式(作为 SWF 文件)推送到客户端,独立于客户端(因此您不必进行浏览器调整)并且与服务器端技术有更紧密的集成。与 LiveCycle (LCDS) 集成,您可以让服务器将数据推送到弹性客户端,而不是基于拉取的机制。优势清单将不断增加……
不过,我认为你的老板有一个有效的观点。仅仅因为您有能力在 Flex 中做某事并不意味着这是正确的决定。从你老板的角度来看:
我会向他展示Tour de Flex,这样他就可以看到构建跨浏览器和操作系统的出色 UI 是多么容易。
两者之间的主要区别在于,与 JavaScript 相比,ActionScript 在其库中提供了更多易于使用的功能。一个类比可能是 .NET 框架与 Windows API。
询问您的老板他是否希望您必须继续进行主要测试,并可能在您的目标浏览器平台之一更新时更新 JavaScript 库(无论您使用哪个),对于每个浏览器,或者他是否希望您只测试应用程序中直接与浏览器交互的少数小众部分,例如“文件上传”。
如果他更愿意承担额外的测试工作和风险,那么……
(当然,这取决于您的环境——您能否确保您的所有用户都拥有 Flash,例如在公司 Intranet 中?如果是,那么您是安全的。此外,Apache Flex 很可能能够以 HTML5/JS 为目标无论如何,在第 5 版。)
此外,一种实际的、真正面向对象的语言将比 JS 更有生产力。