yafei's profile要做就做到全球最棒 要麼就不做PhotosBlogListsMore ![]() | Help |
|
March 28 Flash和.NET结合开发的利器_《.NET for Flash动态网站开发手札》_部分章节连载(2)第01章 开发和运行环境的安装与配置《.NET for Flash动态网站开发手札with FMS》又被称之为网络三剑客,它提供了使用Flash Player、XML和.NET建立下一代网络应用程序最迅速、最大限度节省投资和最具有挑战性的方法组合,这一组合事实上包含四个方面:Flash Player的应用环境、XML的应用环境、.NET应用环境以及这三个应用环境的相互关联。 在Flash Player、XML和.NET这三剑客组成的软件运行环境中:.NET是基础架构,它为.NET应用程序提供运行环境,并且ASP.NET网页、. NET程序集等程序组件都是在后端运行;Flash Player是Flash影片应用程序在前端运行的解释器(也是一个虚拟机),必须安装在客户端。Flash Remoting是Flash影片应用程序连接到.NET程序的服务器和网关,它们之间的连接也是在后端运行。 本章我们就来介绍怎样安装和配置网络三剑客的开发和运行环境。 1.1新架构的优点使用网络三剑客架构,事实上包含三个应用环境:Flash Player的应用环境、XML的应用环境和.NET应用环境,以及这三个应用环境的相互关联操作。 XML:标准的数据交换格式 尽 管简单得令人难以置信,XML确实正在彻底改变我 们创建和使用软件的方式。Web彻底改变了用户与应用程序的交互方式:通过提供一种能使数据更易适配或者更易转换的通用数据格式,XML正在彻底改变应用 程序间的交互方式——或者更广义地说,计算机间的交互方式。包括SOAP和UDDI 在内的基于XML的标准,构成了应用程序间通信的开放式方法,此方法叫做XML Web服务。 .NET:开放的、成熟的、完整的基础架构 .NET 是一种基础架构,是微软发展的新型体系结构 框架。按照微软的说明:.NET 框架是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程序开发。是建立在操作系统最上层的服务,是管理运行时代码需求的Common Language Runtime(简称CLR,通用语言运行时),这些代码可以用任何现代编程语言所写。CLR提供了许多服务,这些服务有助于简化代码开发和应用程序的开 发同时也将提高应用程序的可靠性。 在这一结构框架上包含了ASP.NET和ADO.NET,都基于面向XML的Web服务,使用标准的XML解析器。通过XML Web服务建立与各种数据库之间的联系,并通过ASP.NET和ADO.NET建立标准的TCP/IP数据流。 通过ASP.NET和Flash Remoting MX这两个中间件,使得创建服务端与客户端Flash Player的关系变得更加容易。 Flash Player:跨平台跨设备的富媒体客户环境 Flash Player是功能强大的富媒体客户环境,只要平台或设备上正确的安装了Flash Player,用户就可以浏览使用Flash影片应用程序。 如 同Java一样,Flash影片应用程序同样具备 了一次开发,可以跨平台跨设备随意浏览的特性(而且不需要重新编译),这就是Flash的一个最大的优点。无论是在Windows、Mac、Linux、 Unix还是在Symbian操作系统(Nokia应用于移动电话的一种操作系统)上,也不论你是在桌面PC上还是在掌上电脑或是移动电话上,Flash 影片应用程序都能发挥它最大的特点。这一点我们想着重的作一下对比:
Flash Player内建的ActionScript脚本语言是Flash Player的交互语言,它有几个版本,每种版本的ActionScript的语法和风格各不相同,但可以在同一个运行时下协调工作。Flash Player不但可以凭借内建的XML类加载和解析标准的XML数据。而且通过Flash Remoting MX很轻松的连接到一个应用程序开发人员要使用的远程服务端和WEB服务并实现数据交换,使得Flash影片应用程序的开发简单有效。 并且,随着Flash Media Server(简称FMS)的发布,用户更可以将视频和音频(包括实时视频和音频)集成到应用程序中,实现声音、图像、文字、数据同步传播。并且,你也可以将声音、图像、文字、数据等录制下来,通过eMail发送出去(需要编程实现)。 并 且,FMS服务器和Flash Remoting MX可以无缝的集成到一块儿。有了FMS服务器和Flash Remoting MX的集成,你从而可以连接数据库以及驱动.NET应用程序服务器以创建功能更强的Flash影片应用程序,并将其融入到Flash Player当中,从而为终端用户带来全新的富媒体应用程序体验。 和传统的基于HTML的浏览器应用程序相比,Flash影片应用程序在创建动态和复杂的、友好的用户界面方面有其独到的优势,包括: 1Flash Player运行时执行代码、传递数据和调用远程服务 2客户端展示逻辑与服务端应用程序逻辑相互独立 3有效的利用带宽,不需要刷新整个网页,使用矢量图形 4可以部署在多个平台和设备上,并且非常简单 这就是深具魅力的《.NET for Flash动态网站开发手札with FMS》。 技巧与提示 用 户必须区分Flash Remoting MX和Flash Remoting。Flash Remoting MX是Macromedia的一款产品,在本书中我时常称之为AMF-RPC(本书中同时介绍的AMF.NET和fluorine是AMF-RPC的另一 种实现)。 Flash Remoting是一个宽泛的定义,包括XML-RPC、WDDX-RPC、RTMP-RPC(也就是FMS)等都可以称为Flash Remoting。而Flash Remoting MX(AMF-RPC)仅是Flash Remoting中的一种。
Flash和.NET结合开发的利器_《.NET for Flash动态网站开发手札》_部分章节连载(1)第Ⅰ篇 .NET for Flash基础入门学习任何技术都有一个基础知识,.NET for Flash也不例外。本篇包含五个章节,介绍了.NET for Flash的基本知识。 在第一章,我们介绍了如何安装和配置.NET for Flash的开发和运行环境,这样,用户就可以开发Flash网络应用程序以实现和.NET应用程序的交互。 在随后的几章,我们介绍了如何创建ASP.NET网页、如何使用.NET网页结合数据库以及面向对象的.NET开发。 而
在第五章,我们开始使用传统的ASP.NET网页
作为中间件方法开发Flash网络应用程序,与服务器之间实现数据交换,了解了如何建立网络环境的最一般原理,有了基本的创建具有网络交互功能Flash
影片应用程序的基本知识,这是实现使用Flash影片应用程序作为网络应用程序主体的一次“飞跃”。
作者邀您访问他的BLOG: http://zhang-yafei.spaces.live.com(繁体) 作者邀您访问他的BLOG: http://blog.csdn.net/zhang_yafei/(简体) March 27 Adobe CS3家族的包裝盒設計的都很有特色March 26 Adobe Flash CS3 Professional用戶介面的一篇隨想簡單的談一下對Adobe Flash CS3 Professional用戶介面的直觀感覺,其他部分倒沒有什麼,注意主功能表: Adobe Flash CS3 Professional用戶介面,看起來滿清新
這就是傳說中的Adobe Flash CS3 Professional用戶介面,看起來滿清新,據可靠消息說該軟體的英文版將於近日正式發佈,中文版恐怕還要再等些時間。 March 25 梦想会成真吗?金融时报的专栏作家“陈旭敏”,今天又有杰作:《中国房价为何居高不下?》。嗯,坦率地说,我逐渐喜欢上了他的风格,要知道,自从谢国忠离去后,就很少能看到好点的有技术成分的文章了。过去,“郎一刀”也屡有上佳之作,但目前似乎隐居了。 其实,想降低中国房价也并非什么难事。 如果中国央行将居民储蓄存款利率调至目前租房回报率之上、如果中国政府贯彻执行此前公布的两年内未开发土地即收回的政策、如果地方政府将土地招拍挂的资金全部用来建设经济适用房和廉租房,当然,如果中国再出台一些相应的财税政策的话,中国的房价肯定会应声而落。 ...............................................全文在这里: http://www.ftchinese.com/sc/story.jsp?id=001010184&pos=RSS_DAILY_NEWS&pa1=0&pa2=1&loc=RSS_EMAIL 等到这些真的变成真的话,老百姓就笑了。他们肯定会笑的好开心。 March 21 微軟公司高調宣佈加入AJAX聯盟微軟公司高調宣佈加入AJAX聯盟,嗯,這是他們的一貫作風。5年前,為了抵禦JVM,他宣佈支援Flash
Player,並在作業系統中預裝Flash Player 5,現在,當Flash Player成為其大敵時,所以就像是下棋,為其培植一個大敵: March 20 索愛w810i w810的flashlite菜單索愛w810i w810的flashlite菜單真的很棒!!!!
這裏,come on:
http://www.youtube.com/watch?v=qRtzrVT5Xbo 穀歌(Google)是條寄生蟲?
英國《金融時報》的斯特凡•斯特恩(Stefan Stern) 用這樣的題目來吸引用戶的注意: http://www.ftchinese.com/sc/story.jsp?id=001010142&pos=MANAGEMENT&pa1=0&loc=HOMEPAGE 是的,穀歌真的是條寄生蟲嗎?微軟公司(Microsoft)負責版權、商標和專業機密事務的法律副總顧問(這是多麼大的一個頭銜啊)湯瑪斯•魯賓(Thomas Rubin)可能就這麼認為,它不只在一個地方這麼認為了: http://news.csdn.net/n/20070317/102057.html 這個問題牽涉面太多,但顯然,你不能認為湯瑪斯•魯賓所言全部都是錯的。 March 18 iPhone的最大杀手:Google的GPhone今天看到这个题目,觉得很有趣: http://www.ccw.com.cn/news2/commu/htm2007/20070316_245718.shtml 记得前几天我介绍了Google制作3D地图的故事,我就觉得很奇怪,现在他们居然又在造手机了,如果按照中国国情来判断,这八成是一个骗子。 但是,这是Google,拥有1200亿现金的公司,所以不能按照一般的思维进行判断。不过,这也很令人头疼,因为毕竟这种做法一般情况下是“回光返照”的表现。 March 16 中国消费:杀贫济富 这篇文章写相当的有功底,是我这半年来看到的较为有说服力的文章: http://www.ftchinese.com/sc/story.jsp?id=001010094&pos=MID_HLB&pa1=0&pa2=0&loc=HOMEPAGE 实际上,已经很少这样的文章了,因为中国所谓的“经济学家们”现在都差不多是政客了。 以目前的房地产政策来看,中国政府似乎根本无意控制房地产价格的上扬,他们可能在想通过价格来消化居民储蓄。 所以,一方面通过税收(土地增值税)和土地公开招牌挂提高房地产成本,从而进一步促使地产价格上扬;另一方面试图通过控制经济适用房而缓解矛盾。 这个,不知道是什么,但看起来很有创意 http://www.tudou.com/programs/view/YoreGf3kdV0/ 介绍给大家。有人说它是一个操作系统,有点像。 不过,这个看起来像是vista的简介,不知是否是真: http://www.tudou.com/programs/view/iL0AzIC3lhY/ 超越vista的3D操作系统,也不错呀: http://www.tudou.com/programs/view/fK8FI0382-I/ 还有这个,值得一看,简洁而有吸引力,正是苹果的风格: http://www.tudou.com/programs/view/4yOI8HWNUVI/ 动画和真人的完美结合(这个可是Flash最擅长的) 这个可是Flash最擅长的: http://www.6rooms.com/watch/464367.html 使用绿屏和flash动画结合,很容易创建这样的效果。 现在唯一的缺憾是什么时候能将prieme中的绿屏迁移到flash中来,实现实时动态绿屏(估计目前的客户端运算能否承受得了如此复杂的运算还是个问题)。 经典魔术揭密之捆绑美女换大师 这个容易使人想起程序设计的黑箱,它正等待你去揭秘: http://www.6rooms.com/plist/65370/ 是一系列,值得一看。 March 15 孟加拉国严打贪官人人自危 奔驰宝马抛弃路边Flash和Java结合开发的利器——《Java for Flash动态网站开发手札》_部分章节连载(大结局)第26章 开发网上餐厅系统——项目小组协作创建功能模块
接下来我们要开始创建本例中最核心的内容模块了,每一模块可以有一个小组来完成,下面我们就来看一下如何创建这些内容模块。 26.1创建“首页”(home)模块在创建该模块之前我们先来看一下该模块的功能和完成后的效果(当然,在实际工作中不可能先看到完成后的效果,这里只是为了使您更好的学习怎样创建内容),如图26.1所示:
图26.1 模块总体效果 26.3创建“特色菜肴”(food)模块“特色菜肴”(food)模块是本餐厅的核心模块之一,利用该模块,用户可以查看餐厅的各种菜肴,并可以提前预订。 下面我们就来看一下该模块的界面和功能操作,如图26.15所示:
图26.15 总体效果 使用该模块,你可以选择不同的品种菜肴,察看该菜肴的详细情况,包括察看该菜肴的制作过程(如果有的化);如果觉得该菜肴比较好,那么比就可以点击“放入购物车”按钮预定该菜肴;你也可以使用购物车管理要预定的菜肴,包括取消预定、统计等;最后,要使预定生效(写入数据库),点击“购买”按钮。 了解了“特色菜肴”(food)模块的界面和功能操作,下面我们就来制作该模块。 26.4创建“预定座位”(reserve)模块“预定座位”(reserve)模块可以让用户在网上察看到经营餐厅的座位布局(包括每一座位能够容纳的客人数),并可以搜索某一特定时间范围内座位的预定情况,从而可以根据实际情况预定自己所钟爱的座位(尤其对那些老顾客来说,这一功能是吸引回头客的有效手段)。 下面我们就来看一下该模块的界面和功能操作,如图26.26所示:
图26.26 总体效果图 用户如果要预定座位可以首先通过检索某一时间范围内座位的预定情况,如果从检索的结果看到某一座位没有预定,那么就可以点击该座位图标预定,对于那些在该时间段内已经预订的座位来说,座位图标就显示为已经预订的状态(座位旁已经有人入座),这样用户就能一目了然,从容的根据系统的提示信息预定自己想要的座位了。 如果你不想查询,也可以通过视频和语音方式联系客服来预定座位,如图26.27所示:
图26.27总体效果图 了解了“预定座位”(reserve)模块的界面和功能操作,下面我们就来制作该模块。 启动Flash创作环境,新建一个文档,将该文档舞台幅面大小设置为590X435,将其保存到C:\resin\webapps\YSF\reserve目录下,文件名为reserve.fla。 26.4.1准备必要的资源在这个Flash影片应用程序模块中,我们要用到几个重要的图像素材资源,包含这样几个基本图像:座位图像(包括方形座位和圆形座位,以及入座的人员)、信息提示对话框将要用到的图标(包括信息提示图标、出错状态提示图标等),此外还有搜索按钮(这可以从前面的模块文档中获取)。 1.创建提示对话框的图标 首先我们来创建用于信息提示对话框的图标: 1按Ctrl+ F8键分别新建四个影片剪辑元件:Alert_infoIcon、Alert_errorIcon、Alert_questionIcon和Alert_warningIcon,如图26.28所示:
图26.28 图标元件 注意这些影片剪辑元件的注册点(Registration)位于左上角。 2 图标影片剪辑元件的设计完成后,接下来就是为这四个影片剪辑元件定义”标识符”,根据前面的方法介绍,我们将四个影片剪辑元件的”标识符”与它们的名称设置成同样,分别是: Alert_infoIcon、Alert_errorIcon、Alert_questionIcon和Alert_warningIcon。这样,这些图标影片剪辑元件就可以被Alert组件调用了。 26.6.3创建Flash影片应用程序处理CSS和HTML文档该Flash影片应用程序非常简单,你可以先来看一下完成的SWF文档,如图26.35所示:
图26.35 总体效果 可以看到,在该应用程序界面上仅有一个文本框和三个按钮,下面我们就来创建它: 1启动Flash创作环境,新建一个文档,设置舞台幅面大小为590X435,将文档保存到YSF\history目录下,文件名为history.fla; 2新建一个影片剪辑元件main,保持该元件处于编辑状态,在舞台上绘制一个背景图案,与舞台幅面大小相同。 拖一个TextArea组件到舞台上创建实例,用来显示一些重要的信息(可以是图文混排的方式),命名实例名为main_txt。并且创建一个静态文本框作为该模块的标题。 然后将前面我们创建的按钮元件login btn拖放到当前文档的舞台上创建三个实例,将这三个实例和TextArea组件实例按照需求和喜好排列好,并分别为三个按钮实例定义相应的标签及实例名:first_btn、two_btn、three_btn,最后的舞台效果如图26.36所示:
图26.36 舞台效果 3在上面,设计的工作已经全部完成,下面我们来编写脚本加载样式表文档并处理HTML文档以完成该模块的功能。在库面板中双击影片剪辑元件main使它处于编辑状态,在帧中编写脚本代码如下: stop(); var story:XML = new XML(); //-------------------------------------------------------------------------------- function init() { var ss:TextField.StyleSheet = new TextField.StyleSheet(); ss.load("history/content/history.css"); main_txt.styleSheet = ss; main_txt.html = true; main_txt.wordWrap = true; main_txt.editable = false; main_txt.multiline = true; //---------------------------------------------------------------------------- story.ignoreWhite = true; story.load("history/content/introduction.html"); story.onLoad = function() { trace(story); main_txt.text = story; }; } //-------------------------------------------------------------------------------- this.first_btn.onRelease = function() { story.load("history/content/introduction.html"); }; this.two_btn.onRelease = function() { story.load("history/content/frame.html"); }; this.three_btn.onRelease = function() { story.load("history/content/future.html"); }; //------------------------------------------------------- init(); 按Ctrl+Enter键生成一个SWF文档。现在你可以启动主引导模块测试一下效果,以做出相应的修改。
现在马上出发
March 14 《Java for Flash動態網站開發手札》出錯統一解決思路由於有讀者不時提出無法執行《Java for Flash動態網站開發手札》中的一些範例,而提問又過於籠統,因此我不好回答。在這裏我提供一個基本的思路給大家(即使是我遇到問題也是這個思路):
[1]首先確保你的Java應用伺服器能夠正常運轉;在第一章中有論述。如果這裏通不過,那麼就不要再往下了,先把Java應用伺服器跑起來。 Java應用伺服器能否跑起來可能的原因有很多,只要按照第一章所述應該肯定沒有問題。但也會因為你的虛擬機設置、運行時環境設置、或者由於你的作業系統問題導致不能運行,這個時候,可能最好的辦法是重新作系統。 另外,要注意的是,目前,我不對任何使用Tomcat作為Java應用伺服器的用戶提供任何支援。
[2]確保你能夠提交html表單,這樣可以測試你的Java應用是正常的。這在第5章中有介紹,應該問題不大,仔細就可以完成這個測試。
[3]最後再測試flash與Java的結合通信,這個導致失敗的原因也很多,目前我遇到的有如下幾個:
Java代碼執行問題 這可以通過url重寫方式進行測試,例如針對page80的Jsp代碼,可以在流覽器中這樣寫: http://127.0.0.1/webapp.jsp?clientData=testData 流覽器中將返回: reply_clientData= testData 如果不是這樣,那就是你的jsp問題,重新檢查[2]。
Java空白問題 儘量不要在返回值reply_clientData= testData代碼前後留空白,這歸於Java自身的問題,有時執行後會出現空白。也有可能是網頁編輯器導致的。
Flash編譯問題1 歸於Flash創作環境有時可能出問題,因此如果不能執行成功,可以關閉程式,重新啟動,在代碼中加一個空行是一個不錯的注意,這將會提醒創作環境重新編譯(這是我個人的疑猜),但有時會起效果。
Flash編譯問題2 從主功能表上選擇“控制 > 刪除aso檔”,然後再編譯、測試。因為檔中可能夾雜了某些元件,或不慎鏈結到了類。
策略文件問題 這個在page587才有介紹,這個是我的問題。但只要按照書中步驟,不會產生策略檔問題。注意localhost和127.0.0.1不是相同的域。
網路存取問題 這個在page80有介紹。
我也邀請您經常訪問我的BLOG:
http://zhang-yafei.spaces.live.com(繁體)
http://blog.csdn.net/zhang_yafei/(簡體)
March 12 老外真會“亂搞”,不過靜下來想一想,搞得還真不賴弄了個語音識別控制Flash創作,不過看起來用處不大,不過對於殘疾用戶可能就意義重大了,這就是“可訪問性”,或者在這裏也可以說是“可控制性”。
Here, come on:
http://www.youtube.com/watch?v=4gJf5O0T9E0
Google究竟想幹什麼?今天看到Google Earth建成第一個3D城市,不僅驚訝了,它們要幹什麼?
它們要進軍內容產業嗎?恐怕1200億美元很快就能花乾淨。還是其他的圖謀?…………
http://www.ccw.com.cn/soft/news/htm2007/20070309_244562.shtml 每個人也許都能從中窺出自己所需要的資訊Adobe首席執行官布魯斯(Bruce Chizen)暢談今年他們想做的,也談到未來他們想做的,雖然現在預測他們是否能實現這些目標為時尚早,但每個人也許都能從中窺出自己所需要的資訊。 推薦給大家: |
|
|