技术开发 频道

给Adobe Flex开发经理的五个忠告



【IT168 专稿】

现在很多程序员认为使用Adobe Flex来开发下一代富互联网体验的应用程序是一个不错的选择。实际上到今天为止,它的确是你能够作出的非常好的选择。不过,根据我在真实世界的软件项目中两年多的Flex使用经验来看,还存在一些障碍使得Adobe Flex无法成为富互联网应用程序开发的唯一解决方案。
 
1、Flex 2不是一个快速应用开发(RAD)工具,因此做好你的项目计划
 
如果你是在参加过一场销售演示后下定决心使用Flex的话,你可能有一个很强烈的感觉:Flex简直就是一个魔杖,任何人可以使用它迅速的创建一个应用程序,它可以从远程计算机中获得数据,然后使用其漂亮的外观组件之一来显示这些数据。是的,Flex让很多事情实现起来变得更容易,但是,创建一个快速原型和实现一个生产品质、运行良好的应用程序两者之间是存在很大不同的。明年,Flex 3将提供一些快速应用开发(RAD)功能,诸如针对不同任务的代码产生器,这可能会对开发者有所帮助。
 
用过Ruby on Rails的朋友都知道,它通过一个CRUD Web应用示例可以让你快速入门,但是要想将一个原型转化为一个产品,它还要求你具有更多的经验和付出更多努力的工作。
 
因此,你需要创建一个现实的项目计划。不要简单的相信这种话,“使用Flex比使用Java可以让你更快速的开发,因此这个项目需要两个月的时间足够了。OK,处于安全考虑,我给你三个月的时间。”是否听起来很感动?这是一个相当危险的情况。仔细分析每一个界面和它的组件,尽力估计它们每一个的复杂度和所需要花费的时间,分配资源,调整学习曲线,并分配出一定的测试时间(这也是必不可少的一部分)。
 
把以上所有部分需要的时间累加起来,然后再增加30%以防止意外事件发生,这才是你的项目所真正要花费的时间。


2、Flex开发者群体依然非常有限—重新教育你自己的开发者
 
两年前Adobe曾宣布,它们期望到2010年能有一百万Flex开发者。我对此保留看法。虽然我手中没有任何官方的统计数字,但是根据参与到不同论坛、博客和书籍销售等活动中的Flex开发者数量来看,我估计现在大约有不到十万Flex开发者,而且其中只有一小部分是IT专业人员。
 
Adobe在让Flex进入企业方面取得了一些好的效果,但是他们依然面临着来自Java程序员的拒绝。当我在Flex/Java项目的时候对这种情况有亲身体验,一个高级Java开发者的态度是,“用Java我可以实现所有一切。”
 
我听到的另一句话是:“我不想从Java离开。”人们不能被说服相信增加Flex到他们的技能可以提高他们的受欢迎度。
 
我希望Adobe可以让开发者的数量提高上来,但是现在,你最好还是自己来对你的Java、C++、PowerBuilder或其他语言的开发者进行重新培训。
 
还有,开发者和开发者不一样。我的意思是在使用任何编程语言的开发者中,只有一小部分是IT专业人员。企业需要成熟的Flex开发者,他们既要了解Web应用又不能惧怕SQL编程。
 
至今为止,Adobe还没有让Flex进入大学和学院。计算机科学的大部分人还不知道Flex。不过据我所知,这种情况可能不久就会发生变化。将会一些关于在学术界普及Flex的活动进行。


3、检查你雇用的厂商的可信度
 
这是一个比较艰苦的事情。我说的检查厂商的可信度并不是让你比较它们所做的演示文档的质量,或者比较销售人员提供Flex专业服务的技能。而是在让他们真正承揽你的项目之前,要求他们做些事情来证明自己的能力。我曾经碰到过一个处于不良状况的六个月长的Flex项目。
 
我问道“为什么你选择这个厂商?”
 
答案是“他们给了我们最好的交易。”
 
还有一个办法来检查一个厂商是否可以实现你的预期目标。如果有好几个厂商在竞标你的项目,在预算中划出一部分来雇用每一个竞标者两周的时间。让他们创建一个你的系统的工作原型。在两周内,一个好的Flex开发者可以开发出一个类似你未来系统的应用程序。雇用那个完成任务最好的厂商。当然这可能要花费你一些额外的前期投资,但是从长期来看,由此而省下来的钱比现在所花费的要多得多。
 
4、慎用框架—使用组件吧
 
从Java转到Flex上的开发者往往喜欢去找一个应用程序框架。他们正在准备被关入一个笼子中。不要这样做。虽然Flex有好几个应用框架,在进入这个牢笼前还是多三思。这对你的项目来说可能极具杀伤力,而且由于引入另一个需要学习的工具,可能会让开发速度放慢。坚持使用独立的小工具。使用数据驱动组件。运用代码生成器将手动编程引起的错误数量降到最低。
 
5、合适的设计你的应用程序。避免单一解决方案。
 
最近一个项目经理告诉我,“我们选择了Flex来防止页面重新刷新,但是我们的导航应用程序加载需要10秒的时间,每一个界面变化又需要10秒的时间。”经过快速分析后,很明显是应用程序被不合理的设计了。它是一个大的swf文件,没有使用库或模式,会话管理没有正确的完成,可重用数据的缓存没有实现。
 
这是Flex本身的错误吗?当然不是,但是要把这些告诉你的架构设计小组,或者更重要的,向你的企业用户做出解释。
 
我想告诉你的信息是什么呢,Flex的狂热爱好者们?你与Flex的关系将经历三个主要的阶段:陷入爱河,结婚和蜜月。在结婚阶段要每天进行努力的工作。最后一个阶段也是最重要的一个阶段,在这个阶段你会有这样的感觉...我真的非常喜欢Flex。
0
相关文章