从前往后开发RIA——第一部分(翻译) The future development of the former RIA - the first part (translation)

前些日子看到Adobe Developer Center上的一篇文章很不错,是关于如何开发RIA的,现在翻译过来,给自己当参考。 Some time ago that Adobe Developer Center on the article is pretty good, is about how to develop the RIA, now translated to refer to himself when. 由于翻译经验尚欠缺,文中定有生硬之处,望见谅。 Since translation is still a lack of experience, there are in the text of the stiff, looking apologize. 欢迎大家对不到之处提出批评。 Welcome to the less than in the criticism.

原文是:Building RIAs from Front to Back – Part 1: Understanding the Approach Original is: Building RIAs from Front to Back - Part 1: Understanding the Approach
原文地址: http://www.adobe.com/devnet/flex/articles/frontback_pt1.html Original Address: http://www.adobe.com/devnet/flex/articles/frontback_pt1.html

声明:本文的中文版版权属于本站和我,如果要转载请注明出处,请遵循创作公用协议,勿用于商业用途。 Statement: The copyright belongs to the Chinese version of this site and I, to reprint please reference, follow the creative common agreement, not used for commercial purposes. :) :)

从前往后开发RIA——第一部分:理解这种方式 The future development of the former RIA - Part I: understanding in this way

现在我们不再被原始的界面控件和难以理解的请求/响应(request/response)体系结构所束缚,富因特网应用程序(Rich Internet Applications,以下简称RIAs,译者注)正在改变我们在网上处理事情的方式。 Now we are no longer the original interface controls and difficult to understand the request / response (request / response) by the shackles of architecture, rich Internet applications (Rich Internet Applications, hereinafter referred to RIAs, the translator Note) we are changing the Internet address Things the way. 随着Adobe Flex 2.0 Beta 的发布,使web开发者构建出比较丰富的应用程序变成了现实。 With Adobe Flex 2.0 Beta release so that the web developers to build rich applications become a reality.

但是随着技术的发展,对传统web开发者的观念也提出了严峻的挑战。 But with the development of the traditional web developers also proposed the concept of a severe challenge. 我们经常看到这样的问题:刚刚接触Flex的web开发者试图用‘以页面为中心’或‘请求/响应’(request/response)的观念构建RIAs。 We often see the question: just contact the Flex web developers are trying to use 'to pages as the central' or 'request / response' (request / response) Construction of the concept of RIAs. 为了充分发挥RIAs的优势,开发者必须开始用RIAs的方式思考,把注意力集中到他们提供的丰富的用户体验(user experience)上面来。 To bring into full play the advantages of RIAs, the developer must begin with RIAs way thinking, to focus on the rich to provide them with the user experience (user experience) to above.
这篇文章是开发者中心(Developer Center)的一系列文章中的第一篇,这一系列文章探索一种创新的,被证明有效的开发RIAs的方式。 This article is Developer Center (Developer Center) in a series of articles in the first, this series of articles exploring an innovative, proven and effective way of the development of RIAs. 这种方式就是把注意力集中在用户体验上而不是其它。 This approach is to focus on user experience rather than on the other. 在这篇文章中我们会介绍一种“从前往后(front to back)”开发的观念,在这种开发方式里,用户体验成为了开发过程中的第一驱动,而不是事后才考虑的事情。 In this article we will introduce a "past the next (front to back)" the development of the concept of development in this way, the user experience has become in the process of developing the first-driven, rather than afterwards to consider the事情. 我们将讨论如何利用Flex 2.0 Beta来实现这种方式,Flex 2.0 Beta的特色使得这种方式非常成功。 We will discuss how to use Flex 2.0 Beta to achieve this way, Flex 2.0 Beta features makes this approach very successful. 我们还将针对如何用这种方式将下一代的软件移植到web上给出一些提示和建议。 We will also address how to use this method will be transplanted to the next generation of software on the web are some tips and advice.
这一系列文章不是关于理论和方法的。 Is not this series of articles on the theory and method. 它告诉你如何利用Flex 2.0构建强大的RIAs以及开发过程中“从前往后”这种方式的价值。 It tells you how to use Flex 2.0 Construction of a powerful RIAs and the development process, "the former future," the value of this approach. 在下面的四部分中,你将学会如何去做下面的事情: In the following four parts, you will learn how to do the following things:

设计并布局你的应用程序用Flex,Flash,HTML为你的程序做外壳(skin)和自定义你的程序。 Design and layout of your application using Flex, Flash, HTML for you to do the procedures cover (skin) and your custom procedures.
利用模型(models)在多个数据源之间进行方便的切换。 Model (models) in various data sources to facilitate the switch between.
把你的应用程序整合到企业级应用中。 Your applications into enterprise-class applications.

现在开始着手吧 Now it started

我们经常忘记一个事实:我们最终的用户是我们的客户。 We often forget one fact: We are the ultimate users are our customers. 他们是那些付钱——直接或间接地——让我们拥有工作的人。 They are those who pay - either directly or indirectly - let us work with the people. 非常奇怪,传统的应用程序开发方式并没有把注意力放在最终用户所关心的——用户体验问题上。 Very strange, the traditional application development approach and not to focus on end-users are concerned about - the user experience on the issue. 用户不关心设计模式或者优雅的代码重用。 Users do not care about the elegant design or code reuse. 他们关心的是他们如何与你给他们创建的应用程序进行交互。 They care about is how they with you to create the applications they interact. 然而传统的开发小组往往把注意力集中在了系统的后台,把用户界面只作为事后考虑的事情。 However, the traditional development teams often focus on the background of the system, the user interface only after considering the matter. 在过去的十年中,J2EE,CORBA以及其他分布式开发的风险显著地突出了这种矛盾。 Over the past decade, J2EE, CORBA, and other distributed development of a significant risk highlighted this contradiction.
现在我们花一点时间把软件产业和几乎任何其他的产品行业比较一下。 Now we spend a little time to the software industry and almost any other industry products compare. 在软件产业中,你设计加工软件的方式同你处理几乎任何其他产品都有根本上的不同。 In the software industry, you design and processing software with the way you deal with almost any other products are fundamentally different. 你往往会以我们所说的“从后往前”的方式工作。 You will often to what we call "from the back after the" work the way. 这就是说,我们中的大多数都会先将工作集中在后台的引擎和API上,而这个时候我们并不知道用户界面是否会连接到这个API。 This means that the majority of us will first focus on the background of the engine and API, and this time we do not know whether the user interface will connect to the API.
这种思考方式同那些十分成熟的、已经确定的产品行业制造其他任何产品的思考方式相违背。 This way of thinking with those who are very mature, established products manufacturing industry any other way of thinking runs counter products. 例如,如果你想要造一辆汽车,你会在构思它的引擎之前,先用粘土建造一个原型,然后用钢铁建造一个原型,然后把工作集中在如何让用户在汽车中有完美体验的细节上。 For example, if you want to create a car, you will be thinking of its engines before the first clay construction of a prototype, and then use the steel construction of a prototype, and then focus on how to allow users to experience a perfect vehicle in the details On. 如果你不知道引擎区有多大的话怎么知道你需要什么大小的引擎。 If you do not know that there are engines of how much you need to know what the size of the engine. 汽车工业,像所有其他成熟的产业一样,开发加工的方式是“从前往后”。 The automobile industry, like all other mature industries, the development of processing methods "used to the future." 这就是说,他们先设计用户体验,然后根据用户体验去开发最终的产品所具有的特征和功能。 That is, they design the user experience first, then the user experience to the development of the final product with the features and functions.
软件产业有很多需要从传统的产品开发中学习。 There are many software industry needs from the traditional product development in the study. 用“从前往后”的方式去设计和开发软件,这种想法虽然奇怪,但是却非常的有用。 "The former later" approach to the design and development software, although this idea strange, but very useful. 它可以让我们在短时间内开发出更好,更丰富,更强有力的用户体验。 It allows us in a short period of time developed a better, richer, more powerful user experience.

“从前往后”工作 "Before the next" work

一次又一次地,我们在永无止境的设计会议上坐着,假定每一个进入房间的人是股票持有者然后唠唠叨叨地讨论,就这样日复一日,试图提取出并撰写出一份应用程序需求文档。 Time and again, we in the design of the endless sitting on the assumption that each person entering the room is the holder of the stock and then Laolaotaodao discussion, it is so day after day, trying to extract and write out a The application requirements document. 大多数人多次发现,以这种方式得到的需求总是以错误结束。 Most had repeatedly found that in this way the demand is always to be the wrong end.
导致这种搜集需求的方法非常困难的原因有很多。 This led to collect the demand is very difficult for many reasons. 最显著的一个原因就是在这个过程中没有真正请到领域内的专家。 The most notable of the reasons is that in this process has not really go to experts in the field. (意思就是专家疲惫不堪不愿工作时就不再是专家了,译者注。)在多日讨论需求之后,即便是最充满热情的用户也会精神疲惫,最终导致为了结束这个苦差事而机械地同意所有的事情。 (This means that when the experts exhausted to work on is no longer the experts, translators note.) Discussed in the days after the demand, even the most enthusiastic users of mental fatigue will eventually lead to the end of the Kucha Shi and mechanical Agree with all the things. 最后,生成了一份非常长的需求文档并送回到专家那里签字。 Finally, generated a demand for a very long document and sent back to the experts signature. 不幸的是,这些文档每一份都“看起来”很正确,直到程序已经创建结束几个月之后,需求分析偏离了目标这个事实才显现出来。 Unfortunately, each of these documents are "looks" very correct, until the process has created several months after the end, demand analysis deviated from the objective facts that emerge from this.

用实物模型(Live Mock-ups)打动用户 Using physical models (Live Mock-ups) moved users

在“从前往后”的开发中,你开发用户界面并用它确定程序的功能需求。 "The former future" in the development, you develop the user interface and used it to establish procedures for the functional requirements. 传统地,如果从根本上为用户界面创建原型,常常用Microsoft Visio等工具的静态线框(wireframes)来设计。 Traditional, if a fundamental user interface to create a prototype, often using tools such as Microsoft Visio static wire-frame (wireframes) to design. 虽然Visio是一个非常好的设计图表的工具,但是它缺少你在为程序创建线框的时候真正需要的交互能力。 While Visio is a very good design graphics tool, but it lacked you create a frame for the process when the real needs of the interactive capabilities.
我们发现Flex本身就是做这种工作的好工具,因为它给我们提供了一种前所未有的高效的开发环境,让我们的开发者可以很快地创建出漂亮的线框,让用户从一开始就近距离接触到最终的程序。 We found that Flex to do this work itself is a good tool because it provides us with an unprecedented and highly efficient development environment so that our developers can quickly create beautiful wire-frame, so that users from the start close Access to the final procedures.
当我们作完这些具体的线框时,一种奇妙的事情发生了。 When we make these specific End of the wire-frame, a wonderful thing happened. 在前面的会议上会打瞌睡的那位领域内的专家开始活泼并真正的兴奋起来。 In front of the meeting will be dozing in the field of experts who began a lively and really excited about it. 由于能够看到他们将会怎样操作这个程序,从而使他们开始思考什么是他们真正需要的以及如何把这些单独的程序集成到一起。 Because they will be able to see how the operation of this process, so as to enable them to start thinking what they really need and how these separate processes integrated together. 最终的结果将会是一份非常精确的需求分析。 The end result will be a very precise analysis of the demand.

建立数据模型 The establishment of data model

在这个过程中,创建了一个简陋的数据模型,用来说明关键的关系和数据点。 In the process, created a simple data model, used to describe the relationship and the key data points. 当每个界面慢慢实现的时候,开发组会维护一个与之匹配的数据模型,它会引发我们思考那些关系:顾客可以有一个以上的销售代表还是一个顾客永远只能有一个销售代表? When each interface slowly realizing the time, the development group will maintain a match with a data model, it will lead us to think about those relations: customers can have more than one sales representative or a customer will always be a sales representative » 通过“从前往后”的方式开发,用户提供了更精确地需求,这会让那些机敏的开发小组及早地发现那些紧要的问题。 Through "the former later" approach developed, the user provides a more accurate demand, which will alert those of the development team as early as possible to find those crucial issues. 我们都知道在最后一分钟把数据关系从‘一对多’改为‘多对多’的那种痛苦。 We all know that at the last minute of the relationship between the data from the 'one-to-many' read 'many-to-many' the kind of pain. 用户一开始的时候越忙碌,最初的到的数据模型就越精确。 A user at the beginning of the busy, the first to the data model will be. 这缩短了开发周期,也让会用户感到满意。 This shortened the development cycle, will also allow the user satisfaction.

绑定到静态数据 Bound to the static data

一旦界面布局完成之后,接下来要做的就是把用户界面的控件和静态数据绑定起来。 Once the interface layout is complete, the next to do is to control the user interface and static data bundled together. Flex 2.0使得把XML文件中的静态或者“模拟”的数据绑定到RIA这件事情变得很简单。 Flex 2.0 makes the XML file in static or "simulation" of the data binding to the RIA this matter has become very simple. 绑定数据让程序看起来可以成功运行,这可以让你确定你的界面将完全支持要求的数据。 Binding data to make the process appear to be successful operation, which allows you to determine your interface will fully support the required data.
例如,绑定的模拟数据有利于确认数据域足够长并能够适合提供的可利用的空间。 For example, the binding of simulation data to confirm data field long enough and be able to provide suitable for the available space. 开发者还可以根据绑定的数据元素来加强客户端的验证标准。 Developers can also bind the data elements to strengthen the client's test.
最后,这些界面组合到一起就构成了一个有功能的、模拟的应用程序版本。 Finally, these interfaces grouped together constitute a function of a simulated version of the application.

提供一个精确的API To provide a precise API

你已经设计的这些从本质上来说是应用程序将要用到的API。 You have designed from the essence of these is the application will use to the API. 你现在知道应用程序肯定会读取的数据域,将要传输的数据域,以及哪一部分的业务逻辑会在服务器层和客户层。 You now know that the application will read the data domain, it will transmit the data domain, and which part of the business logic in the server and client layer. 数据服务(Data Services)现在开发完成了,它对静态模拟数据来说是多态的。 Data Services (Data Services) is now completed the development, and its static simulation data is more than the state. 这确保了返回到RIA的数据的格式和应用程序显示数据的格式很相似。 This ensures that a return to the RIA data formats and applications shows that the data format is very similar.
我们不能忘记这种难以置信的重要的优势。 We can not forget this incredibly important advantage. 导致RIAs表现问题的最大原因之一就是程序必须自己把从数据服务(Data Services)返回的数据处理成适合用户体验的格式。 RIAs lead to performance problems is one of the biggest causes of their procedures must be taken from data services (Data Services) to return to the data processing into a format suitable for the user experience. 这是“从后往前”设计中最大的缺陷之一。 This is "back from behind," the design of one of the greatest shortcomings. 当你在用户体验之前设计服务(services)和API的时候,不可能保证二者之间的精度。 When you before in the user experience design services (services) and the API, can not guarantee the accuracy between the two. 在“从前往后”这种方式中,Data service 和API 只会在RIA需要他们的时候才创建,这就避免了二次开发从而有效地缩短了开发时间。 "Past the next" in this way, Data service and API will only need them in the RIA when it created, which avoids the second development to effectively shorten the development time.

把真正的数据绑定到用户界面 The real data binding to the user interface

随着每个data service逐渐开发完成,用户界面的绑定也从静态数据转变为连接到真正的data services。 With each data service gradually developed, the user interface from the bundled into a static data connected to the real data services. 因为我们已经确保了两者之间的兼容性,所以程序完工了。 Because we have to ensure compatibility between the two, so the completion of the process.

“从前往后”方式的优点 "Before the future" means the merits of

用“从前往后”方式开发应用程序不只是理论上的练习。 "The former future" means the development of applications not only in theory to practice. 它为你和你的用户在以下三个方面提供了很高的价值: It is you and your users in the following three areas to provide a high value:
更好的需求收集:用户不知道你们开发者的语言。 The demand for better collection: the development of user you do not know the language. 用户不知道你们如何开发他们的应用程序,坦白地说,他们也不关心那个。 Users you do not know how to develop their applications, frankly, they do not care about that. 然而如果他们能看到你创建的应用程序原型,他们会很快地加入进来,并告诉你这个应用程序将要做什么并且怎样去做。 But if they can see you create a prototype of the application, they will quickly joined in and tell you this application will be what to do and what to do.
更快的开发和回馈:用户不能接触到一个引擎并且与它交互。 Faster development and feedback: users can not come into contact with an engine and interact with it. 他们不能演示一个API。 They can not demonstrate an API. 然而如果你先开发连接静态数据的用户界面的话,用户便可以向他们的客户展示程序去收集回馈。 But if you connect to the development of static data user interface, users will be able to demonstrate to their customers procedures to collect feedback. 这甚至可以让你的用户在开发结束之前就开始卖出他们的产品。 It can even let you in the development of the users before the end of the beginning sell their products.
用户成为拥护者,而不再是对手:用户可能认为你不理解他的需求、一直延误,或者你从未在最后给出它们真正想要的程序。 Become a supporter of the user, rather than opponents: Users may think that you do not understand his needs, has been delayed, or you never really want to finally give them the procedures. 通过“从前往后”的开发方式,你可以通过让用户参与到实际开发来转变这种关系,这样可以让他们感受到你作为一个开发者所感受到的同样的工作情绪。 Through the "past the next" development mode, you can allow users to participate in the actual development of such relations to change, so you can let them feel as a developer felt the same emotions work. 很快他们就会成为你最大的拥护者。 Soon they will become your biggest supporter.

接下来干什么 What next

怎样在实际中把这些观点应用到开发你自己的RIA当中? How in practice these views into the development of your own RIA » 在接下来的四部分中,我们将回顾这种方式并详细讨论一下Flex 2.0 Beta如何进行RIA开发以及——概括地说——“从前往后”开发,尤其是如何进行让你的应用程序变得强大的开发。 In the next four parts, we will review this approach and detailed discussion about how to Flex 2.0 Beta RIA development, and - general said - "the past, the future" development, in particular, how to make your application change A powerful development.
你将会通过代码实例和屏幕截图来学习这些特性,它将会帮助你尽可能简单地适应你的开发方式。 You will be through code examples and screen shots to learn these features, it will help you as simple as possible to meet your development mode. 在最后,你将会得到使用Flex 2.0进行开发所需要的一切工具。 In the end, you will be using the Flex 2.0 by the need to develop all the tools.



本文链接: http://www.zhuoqun.net/html/y2006/52.html 转载请注明出处,谢谢。 This link: http://www.zhuoqun.net/html/y2006/52.html reprint please reference, thank you.

TrackBack引用地址: http://www.zhuoqun.net/html/y2006/52.html/trackback TrackBack used Address: http://www.zhuoqun.net/html/y2006/52.html/trackback

相关日志 Related Log


Posted in Flex , 技术 . Posted in Flex, technology.

6条评论 6 Comments

  • At 2006.05.14 22:55, 饼干 At 2006.05.14 22:55, biscuits CHINA said:

    怀着对理工科和技术人员的崇拜,我表现无以复加的欢喜~~我竟然认识一个如此聪明的好博友……. With the science and engineering and technical staff of worship, I performance to be added without the joy ~ ~ I was such a clever awareness of the good Bo Friends…….

    • At 2006.05.15 10:17, 蒙午 At 2006.05.15 10:17, Mongolia afternoon CHINA said:

      [Belial]第一次过来顶一次阿 [Belial] the first time from the top first Arab-Israeli

      • At 2006.05.15 17:39, Sunky At 2006.05.15 17:39, Sunky CHINA said:

        翻译得不错~~ Translation well ~ ~
        不过总感觉文章名字翻译得有些别扭~ But the feeling in the translation of the article name to some Bieniu
        hehe~~[smile] hehe ~ ~ [smile]

        • At 2006.05.15 22:23, Dreamer said: At 2006.05.15 22:23, Dreamer said:

          to sunky:我也这么觉得,题目有点别扭,所以改了~~ to sunky: I think so, the subject of a Bieniu, changed ~ ~

          希望大家多批评,多提建议。 We hope that many criticisms, many suggestions. [smile]

          • At 2006.12.01 12:07, xmen At 2006.12.01 12:07, xmen CHINA said:

            不错。 Yes. 我觉得这篇文章反译得挺好。 I think that the article was a really good anti-translation.
            要学FLEX之前,首先应该了解。 FLEX before to learn, first of all should know. 这个东西给你带来的变革在哪里。 You bring this thing to where the changes.
            谢谢楼主,呵呵。 Thank you smile, Oh.

            • At 2008.03.31 20:46, 夜空的彼方 At 2008.03.31 20:46, the night sky Bifang CHINA said:

              不错啊,看得出来你花了一番功夫了,向你学习! Yes, ah, see you spent a lot of effort, you learn! :) :)

              (Required) (Required)
              (Required, will not be published) (Required, will not be published)
              关闭 Close