RIA 开发感想(三)— 只谈代码

  从Flash5.0 Flash有了比较完善的程序语言。这绝对是革命性的进步。AS1.0让我们跟着她开始呀呀学语,开始明白用as可以控制SWF的内部流转。尔后,AS2.0渐趋完善,同时他也开始不满足与控制player内部的操作,在增强了与JS的通信后,Flash在网络编程领域也强势起来。
  无疑,这样的进步让我们这些喜欢编写点程序的人喜上眉梢。记得1年以前Flash8将要发布的时候,AS能有什么更让人兴奋的进步是我最期望的事。然而,Flash8迎来了滤镜、过渡特效、摄像头捕捉....但是没有迎来AS的大变化。这包括,臃肿的V2组件,薄弱的Debug,差劲的智能感知。不能不说有点失望。

  组件是Ria开发的常用零件。V2组件的绑定功能对Coldfusion的Web服务来说还算是简单,当与.net的webserver通信时就非常麻烦,其中最主要的就是数据类型的不匹配。同时,as2.0对soap的反序列做的也不好,(在本人看来)好像没有预定义什么函数。还有,v2组件的性能表现不是很让人满意。在‘Flash8 DataGrid组件性能测试 ’里我做了一个测试,可以看出,作为数据显示的重要元素的DataGrid,当数据增加超过1000条时给客户端增加很大压力。 document.title="Flash8 DataGrid组件性能测试 - "+document.title

  另一个问题,Flash一直没有提供比较完善的Debug工具,相对与VS.net的调试环境更是如此。另外,由于Flash处理的主要是网络的异步操作,对于调换来说这就更加的重要了。

  第三,我不太明白As的编译原理。常常我们会创建一个class.as的类文件,通过命名空间在swf文件内实例化他们。当Class增多,而且在Flash架构中出现文件相互调用的情况时,事情就复杂了。根据我的经验,对其中的Class增加属性或方法函数,绝对是痛苦的事。因为你必须将所有用到这个Class的swf重新编译,一旦忘记了哪一个就会出现意想不到的错误。常常,发现这样的错误需要几个小时的时间。

   还好,Flash为RIA的网络开发提供了,诊听和委托机制(方便处理异步操作)、xml类(包括socket)、本地共享对象(比Cookie强多了,方便在线与离线的无缝转换)、定义类的接口(让语言更规范)。这都是她的优势,我认为。

     发了不少牢骚。不过相对与AJAX的开发,Flash还是友好很多的。呵呵,也许一切都不会是完美的。还好,AS3.0就要出来了。希望对于Flash程序员,这是一次新的开始。

时间: 2025-01-21 07:58:50

RIA 开发感想(三)— 只谈代码的相关文章

RIA 开发感想(二)— Flash VS Ajax

ajax 说到Flash与Ajax不免要会惹来热闹的争论.用google搜搜就有很多这样的文章,这里我就不引用了.不过,我还是想提一下 Luar 写的 '展望2006年,Flash未來未有來!'这篇blog,里面的看法我很赞同.同时Luar作为Flash的资深开发者,他的言论是很有见地的. 看完Luar的文章,你一定会有些悲观.Flash到底还能走多远?哎,还是不要想这样的问题了.我的看法还是比较乐观的. 首先,来看看Ajax.经过几个月的关注,我的理解是:Ajax的重点有两个,一是与服务器的无

Android LibGDX游戏引擎开发教程(三) 示例代码详细讲解

承接了上一篇文章中关于环境搭建的简单示例,这一篇我会详细讲解FirstGame和HelloGameActivity类中 的代码. 一.ApplicationListener接口详解 1.简单代码示例,FirstGame.java: package com.example.hellolibgdx; import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.gra

android-《第一行代码》酷欧天气开发中三个问题求解答

问题描述 <第一行代码>酷欧天气开发中三个问题求解答 问题1,如何复制.git这个隐藏目录问题2,为何git push origin master会出现一系列错误问题3,为何我在com.coolweather.app下创建不了包,会提示package already exsists说明只能在src目录下创建,这和书中说的不一样 解决方案 问题三我也遇到了,解决方案:在一个包下在新建其他包:1.1首先更改 1.2.添加包,注意包名命名方式: 1.3.结果如图: 1.4.再新建其他的包: 1.5.

AppleWatch开发入门三——代码交互与控制器生命周期

AppleWatch开发入门三--代码交互与控制器生命周期 一.引言         在前两篇博客中,讨论了关于watch开发中框架与界面布局相关,然而主要的逻辑,终究还是要通过代码来实现的,在我们创建了项目之后,就会生成InterfaceController这个文件,它就是我们storyBoard中的入口视图控制器. 二.代码交互与控制器声明周期         storyBoard中的控件我们可以通过拖拽的方式关联到文件中,Action和Outlet两种关联方式基本可以达到我们修改控件和处理

保护内网安全之Windows工作站安全基线开发(三)

本文讲的是保护内网安全之Windows工作站安全基线开发(三),保护Windows工作站免受现代的网络攻击威胁是一件非常具有挑战性的事情. 似乎每个星期攻击者们总有一些新的方法用来入侵系统并获取用户凭据. 本文涵盖了许多此类以及其他一些很不错的安全实践和配置. 保护Windows工作站: 1. 部署免费/几乎免费的Microsoft工具以提高Windows安全性: 部署Microsoft AppLocker以锁定可以在系统上运行的文件. 使用推荐的软件设置部署当前Windows版本的EMET.

Lucene.Net 2.3.1开发介绍 —— 三、索引(六)

原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(六) 2.2 Field的Boost 如果说Document的Boost是一条线,那么Field的Boost则是一个点.怎么理解这个点呢?设置Document的Boost会影响所有字段.在搜索的过程中,一般至少会搜索两个Field,比如同时搜索标题和内容.而Document的Boost将同时影响标题和内容的搜索得分,但是设置Field的Boost则不会有那么大的影响,Field的Boost只会影响一个点.那这个点有什么用呢?   现

Lucene.Net 2.3.1开发介绍 —— 三、索引(七)

原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(七) 5.IndexWriter 索引这部分最后讲的是IndexWriter.如果说前面提到的都是数据的结构,那么IndexWriter就是业务的封装.无论述Document,Field还是看不见的Segment,Term都是对数据存储逻辑的抽象,IndexWriter包装了操作的过程. 当然,这里不会讨论IndexWriter的每个细节,这里主要介绍IndexWriter的常用法和实际使用中遇到的部署问题. 5.1 IndexWr

Lucene.Net 2.3.1开发介绍 —— 三、索引(一)

原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(一) 在说索引之前,先说说索引是什么?为什么要索引?怎么索引?   先想想看,假如现在有一个文本,我们会怎么去搜索.比如,有一个string = "abcdefghijklmnopqrstuvwxyz",这都是26个字母.现在要看看里面是不是有a,用IndexOf就可以很方便实现.现在数据量大了,在数据库里已经有100多条数据了,当然,利用数据库提供的操作方法,也可以很方便的查找.而这里先抛开数据库,把这100多条记录放到

.Net WInform开发笔记(三)谈谈自制控件(自定义控件)_C#教程

末日这天写篇博客吧,既然没来,那就纪念一下. 这次谈谈自制控件,也就是自定义控件,先上图,再说 1.扩展OpenFileDialog,在OpenFileDialog中添加各种文件(.txt,.jpg,.excel等等)的预览功能 开发笔记(三)谈谈自制控件(自定义控件)_C#教程-winform自定义控件"> 2.重写ListBox,增加折叠.鼠标背影.分类等功能 -----------------------------分割线-------------------------------