July, 2006 > 所有文章列表
—-
您好,我想请教一下,flex能用在asp.net环境下吗?
我意思是说能不能在IIS6.0下面建立mxml的运行平台.
因为我主要是用c#编程,c#在我用起来更容易上手相对java而言.flex对于页面的设计是最好的了.
我的想法就是C#做后台逻辑编程,flex做前台设计页面.
不知有没有相关的方法可以学习?
thx:)
—-
Flex 2 與 .NET 是否能夠搭配運行一直是 forum 與 mailing list 上熱門的 faq,今天正好一次整理出來。
基本上 Flex與後台 (Application server)交換資料的方式有下列四種:
-HttpService
-Web Service
-Remote Object
-FDS (Data Service, Messaging)
分別介紹如下:
1、HttpService
這是最簡單也最常見的資料交換方式,就是透過 Http get/post 來傳純文字資料,大部份 web application 都是這樣運作的。
這個方式的好處是非常普及,所有的後台系統一定都可以吃的下這種資料,但缺點則是 complex data type 要經過複雜的序列化與解序列化程序才能在 client/server間交換。
以 .NET 來說,任何一個 asp.net 的頁面都可以透過 get/post 與 flex client 交換資料。
2、WebService
WebService 也是很常見的選擇,好處是規則共通方便不同技術平台交換資料,缺點則同樣是某些複雜資料結構無法輕易的交換,在編碼與解碼的過程中往往會出現意外,例如 Date 的表現方式。
以 .NET 來說,使用 web service 應該是再方便不過的選擇,只要把 asmx 檔案準備好再從 flex client 呼叫即可。
3、Remote Object
這就是傳統的 Flash Remoting, 透過 AMF 以 binary 的方式來回交換資料,主要優點是體積小且支援 flash native object,例如 Array, Value Object 等都可直接傳送,在 server 端也會自動對應到正確的 type。
但由於 Flex 2 (或者應該說是 Flash Player 9 / AS3)使用的是新式的 AMF3 格式,而目前 Adobe 官方販售的 flash remoting for .net (與 open source 的 fluorine只支援舊版的 AMF0,因此沒辦法直接裝了就用。
edit: Fluorine 現在已支援 AMF3。
變通方法則是直接操作 flash.net.NetConnection 並指定使用 AMF0 與 server連線即可;Renaun 寫了一個小工具方便大家操作,可以下載直接使用。
附帶一提,這個小工具也同時適用於 AMFPHP/OpenAMF等各種 AMF0-only 的remoting gateway,所以如果你寫 Flex 2 又想透過 remoting 連接既有的各種 server remoting gateway, 抓這個就沒錯了。
4、FDS (Data Service, Messaging)
Flex Data Service 是 Flex 2 裏新出現的技術,主要目地是希望提供更自動的方法來讓 client 與 server 交換資料,它的核心實際上仍然是 AMF 與 RTMP (對,就是 Flash Media Server 用的那種),部份功能也與 FMS 重疊,但它著重在 Data Sharing 與 Exchange 這部份。
目前 FDS 只有 Java 的版本,也就是 server 端要用 java 寫,但 Adobe 宣稱將來會有 FDS for .NET 版。
不過好消息是,有一家叫 theMidnightCoders 的公司搶先推出了 FDS 相容版本,不但同時支援 AMF0 與 AMF3,更支援部份 FDS 的功能(主要是資料同步的部份,與server端的衝突處理與資料儲存)。
以 .NET 來說,付費的選擇中 weborb 算是目前最優的選擇,價錢只有官方版的一半,但功能更完整;而免錢的選擇則當非 Fluorine 莫屬。
*結論
所以簡單的結論是,.NET 當然可以愉快的與 Flex 2合作,通常最熱門的選擇是 web service, 因為大部份使用 .NET 的人都對這個方式比較熟悉,但我個人比較偏好 flash remoting,主要著眼於它 binary 傳輸的特性跟支援 native type,讓資料在 client / server 端傳送與處理上比較方便。
所以如果要用 .NET 做後台,只要把 Flex 裏編譯好的 swf 檔放到 wwwroot 下就可以執行了。
至於學習資料方面,Flex 手冊裏關於 WebService 物件的操作可以多看一下,至於 remoting 部份則可以找任何一本有講 Flash remoting 的書(例如 Flash Remoting: The Definitive Guide 裏面就有介紹如何使用 NetConnection 連接 remoting gateway)。
| by admin
由 Mike Chambers 維護的 FAQ 已正式上線,重點整理如下:
o Apollo 跟一般的 projector (如 Mdm Zinc)有何不同?
1. Apollo 是一個 runtime, user 電腦上只要裝一次,其它的 apollo application 就可以直接跑,而不像 zinc 是每支 application 都要帶者自已的 runtime。
2. 由於是 runtime,因此某些需要從 OS 底層做起的功能比較容易發揮,不像 zinc 的能力有限(或要透過人工外掛其它系統library)
3. 透過這個統一的 runtime 可提供更佳的安全模式
o Apollo 可能提供的 API 有那些?
# File I/O
# Online / Offline
# Windowing
# Clipboard
# System Drag and Drop
# Full Network API support
# Local Storage / Settings
o 所以,到底 Apollo 是什麼?
(Mike 心裏想:damn it, I thought I told you it’s a runtime, a runtime! a runtime! a rutime ! 老師都有講,你都沒在聽嘛…我的筆咧?)
簡單說,就把 apollo 想成是 zinc (一樣的 projector),提供 OS API,但它的執行層(engine layer)只要裝一次(就像 .net framework, jre一樣),所有的 application 就可以共用,這樣夠清楚了吧?
從另一個角度看,apollo = SWF + Html/Javascript + PDF 的大雜燴,其中 SWF 是當家的亮點,而 Html/Javascript 是打不死的老樹妖(因為太流行也太大眾所以當然不敢排除),至於 PDF 則是新老闆 Adobe 的當家花旦,就算不能跑也得支援…
喔,當然,還有一個很重要的事實,apollo runtime 是免錢的,而 zinc 一套要兩百多美元,所以如果最後兩者提供的功能(API內容)沒有差很多的話,那包含 zinc 在內的一狗票 3rd party project vendor 都可以收拾一下回家吃自已了。
這讓我想起一個故事,在西部拓荒時代,據說去淘金的人不見得會發大財,但在營地旁邊開酒館賣小吃射香腸提供無線上網服務的店家都狠撈了一筆。
以往,Macromedia 很辛苦的在推 Flash Platform不見得有賺到錢(想想看就連 flashlite player 都只賣十美元一枚),但Mdm Zinc 這樣的產品就很像在路邊賣小吃的店家,搭flash順風車到是先賺了一票,只是今天局勢突然匹變,原本該專心淘金的冒險客現在也自已在路邊擺攤兼營小吃,結果當然就是順風車結束大家珍重在見,觀察這種市場變化與演進,一向是很好玩的啊~
(只要不是自已在場子裏,基本上萬物都是充滿趣味的…)
| by admin
雜記一:website dropout rate
Dropout rate 一般是指user在網站上進行活動時(例如搜尋資料、線上購物),半途遇到困難而導致放棄的情況。原本在我心中排行第一的一直是國內某電信業者的網站,基本上只要是這個網站的行為(usability design)都可以直接引用做為教學上的負面教材(例如:如果它的購物流程這樣設計,那就記得千萬別學,選擇其它任何一種方法都一定比較好,因為最爛的已經在眼前了)。
這個第一名,今天終於被打破了。剛才想在國內某大音樂廳網站購買音樂會門票,不出所料先來個加入會員才能購買,原本這也是 routine之一忍忍也就算了,結果精彩的是在那張會員註冊表單,我想,在我十幾年的網路生涯中,這張算是經典中的經典,在經歷二十分鐘的奮戰,用掉五個身份証號碼與名字(因為每失敗一次剛才使用的id 與 姓名就會被認為已註冊)後,我還是失敗了。
I could just say, whoever made this site, I *salute* you ! You should patent it ASAP.
簡單結論:
1.花大錢做了網站,如果沒辦法把 drop out rate 降下來,就等於買大錢買 BMW 525i 結果停在車庫給積灰塵。
2.中午吃飯時要記得去家附近便利店買票 -_-”
雜記二:如何便宜擁有正版 Flex 2 軟體
ok,我瞭解在華文地區這向來不是很重要的問題,聰明的中國人總是會找到出路(嗯,你也看過 Jurassic Park 聽過 Life will find a way 吧?)。
不過如果你跟我一樣有需要在商業場合使用正版軟體,現在機會來了。
Adobe 有一個 Student Program,可以用低到不可思議的價格購買所有軟體,這家公司就提供這樣的服務。
Flex 2 with Charting 原本的售價約是 $799,但在這個網站上只要 $79.95 就可以買到(這實在是真正的勇者啊,直接砍掉一個尾數9就變學生價)。
而一般認為 學生版/教育版 軟體是不可用在商業用途,在Adobe Student Program 中也完全推翻。
下面是來自 Adobe 網站的聲明
“Good news! You can use Adobe Education software (any title!) to produce commercial/professional paid-for work when you leave school, or even while you are in school. In this regard, Adobe does not limit how student software is used. So students can use it to learn and to make money!
這篇聲明中明白的表示下列幾點:
1、即使你是學生身份,也可以用 Flex 來接案子賺錢(做商業用途)
2、等你畢業了,還可以直接用學生版升級最新的商業版,只要付升級差價而不用重新購買
3、學生版與商業版的差別只在於,呃,其實完全沒差別,大概就是少了本印刷精美的手冊(只是這年頭誰還拿紙本的手冊看?當然是用能 search 的電子版才是王道)
所以,如果你正好是學生,老師或在教育機構任職,只要拿出識別証與 $79 (約台幣2200元) 就可以有一套正版軟體囉!
| by admin

之前在 nb 之旅一文中曾肖想過既然新的 MBP 這麼熱,或許可用來煎蛋做早餐,沒想到…
不過我是屬於畢其功於一役的行動派,理想狀態中,應該是左邊放培根,右邊煎蛋,然後電源器熱咖啡,這樣一頓營養又豐富的早餐就即刻完成。
| by admin
這次是新花樣,主題大致是說您的新式身份証因資料有問題請帶証件與印章回當地戶政事務所辦理,如有問題,請按 0。
親愛的詐騙集團成員,我向您不斷努力推陳出新的努力至上最真誠的敬意,也感謝您為我每日繁忙的編程工作帶來片刻的娛樂,但下次可以不要再按9 或 0 了嗎?
根據您們過去豐富的詐騙經驗,應該已經發現大部份民眾只要聽到要按某數字,就會直覺反應是詐騙電話而掛掉,做為聰明的集團成員,您應該要開始構思其它的實作方式,而不是繼續因循苟且延用老一輩傳下來的過時手法,您一定要瞭解,在這 web 2.0當道的時代,成功的典範都屬於那些異軍突起並能推翻傳統的人,只有快速反應不斷變化才能在全球的詐騙市場中持續保持獲利並擴大藍海利基。
因此,對於這次的來電,很遺憾我必需給您不及格的分數,希望您能儘速改進,並期盼下一次的到來。
| by admin
Previous Posts