最近接觸一個(gè)Flex項(xiàng)目,我一個(gè)新員工,接觸不到架構(gòu),只能在這里假想。

          背景:
          外包項(xiàng)目,已完成系統(tǒng)設(shè)計(jì),畫面(所有mxml的Demo)基本完成。

          40多人,分8個(gè)小組作業(yè)。每一個(gè)小組一個(gè)組長,每兩個(gè)小組一個(gè)試樣負(fù)責(zé)人。上面還有幾層領(lǐng)導(dǎo)分別負(fù)責(zé)不同的工作,管事兒的是部長。

          作業(yè)內(nèi)容包括詳細(xì)設(shè)計(jì),編碼和測試。

          我的問題:
          項(xiàng)目進(jìn)行十分緩慢,最大的問題就是技術(shù)框架未定。由于大家都是第一次做Flex的項(xiàng)目,沒有什么經(jīng)驗(yàn),對于一個(gè)新手來說,要想做好詳細(xì)設(shè)計(jì),首先要有編碼的概念,但是現(xiàn)在,我沒有。
          面對分到的模塊,我不知道數(shù)據(jù)是如何封裝的,是如何傳遞的,數(shù)據(jù)如何處理,在哪里處理,更重要的是,如何與數(shù)據(jù)庫交互。這些問題沒有確定,對于一個(gè)Flex新手而言,真的很困難。

          與后臺交互的分析:
          這里要感謝cimmicola對我的講解!

          1. 下策  直接采用flex的httpservice,服務(wù)器端手動(dòng)的拼裝xml,或者使用webservice。然后在客戶端手動(dòng)的解析xml。這是這幾天做Demo時(shí)的做法,我相信這樣項(xiàng)目最終不會(huì)這樣做的。這樣做,對Flex新手而言,開發(fā)的復(fù)雜程度較低,但是工程化程度也很低。

          2. 中策  使用自己的框架,已經(jīng)帶有序列化消息轉(zhuǎn)發(fā)層,(不知道有沒有,但感覺這樣一個(gè)大公司應(yīng)該會(huì)有),比如可以將java對象序列化成xml數(shù)據(jù)或者json,這樣可以直接通過httpservice來請求服務(wù)器端數(shù)據(jù),避免自己拼裝xml。這樣的框架目前開源的也有很多,其中把java對象序列化成json數(shù)據(jù)的方法有很多人都寫過,在學(xué)習(xí)Extjs的時(shí)候,就用到過。以前一直不理解java為什么要序列化,現(xiàn)在才真正體會(huì)到一點(diǎn)點(diǎn)。

          3. 上策  使用hessian或者remoteobject。講講兩者的區(qū)別。hessian和ro都是基于二進(jìn)制的序列化協(xié)議。即將服務(wù)器端數(shù)據(jù)對象,比如 java".net"php等轉(zhuǎn)化到某個(gè)2進(jìn)制的數(shù)據(jù),從而在客戶端再次反序列化成as 數(shù)據(jù)對象。并且這兩種方式都能直接暴露服務(wù)器端方法(通過配置),因此可以看作是直接請求遠(yuǎn)程對象的方法那樣使用,當(dāng)然這個(gè)過程仍然是異步的。因此他們的 好處就是,請求容易,服務(wù)端實(shí)現(xiàn)容易,傳輸速度快,數(shù)據(jù)量大,客戶端直接識別這樣的好處。hessian是開源組織的通訊協(xié)議,起源很早,而且實(shí)現(xiàn)的語言很多,甚至包含C++,ruby等。他并不是為flash而生的。java上的實(shí)現(xiàn)是以servlet形式實(shí)現(xiàn)的,因此他是以繼承自他的servlet這樣的框架規(guī)范,來控制你的返回值的序列化,從某種含義說,他仍然算是傳統(tǒng)web框架。因?yàn)殚_源,因此可以對他框架可以靈活修改。
          ro是基于adobe的amf通訊協(xié)議,當(dāng)然現(xiàn)在也開源了,實(shí)現(xiàn)ro的有很多服務(wù),比如最常聽說到的LCDS,或者他的開源簡化版BlazeDS,amfPhp,webrob等等。LCDS 是java實(shí)現(xiàn),也是官方出品,自然功能最強(qiáng)大了,他的ro部分(這只是LCDS最基礎(chǔ)的功能)類似spring的aop,直接對配置的java類進(jìn)行切 入,因此對于設(shè)計(jì)模式來說,他打破了傳統(tǒng)的web請求模式,純粹通過訪問一個(gè)messagebroker這個(gè)servlet來訪問java類。因此如果不 太容易接受新架構(gòu)或者對新架構(gòu)不能靈活改變的話,會(huì)有些麻煩,比如說,他獲取不到傳統(tǒng)request對象。當(dāng)然這也是可以完全通過改造程序框架得到解決 的。

          最后
          項(xiàng)目還在進(jìn)行中,我還在緩慢的學(xué)習(xí)Flex的過程中。
          可以感覺到領(lǐng)導(dǎo)們都很忙,而最底層的人卻很清閑,包括我,還有時(shí)間在這里寫B(tài)LOG呢。
          很想幫上忙,卻幫不上什么,只希望這個(gè)項(xiàng)目的技術(shù)框架早一些定下來。


          歡迎來訪!^.^!
          本BLOG僅用于個(gè)人學(xué)習(xí)交流!
          目的在于記錄個(gè)人成長.
          所有文字均屬于個(gè)人理解.
          如有錯(cuò)誤,望多多指教!不勝感激!

          Feedback

          # re: Flex項(xiàng)目技術(shù)架構(gòu)前的假想  回復(fù)  更多評論   

          2008-01-30 13:21 by 魚中魚
          在安裝Flex builder 的時(shí)候需要apach conifgura文件是怎么回事?

          怎么操作?

          麻煩了

          wangqianyfz@163.com

          # re: Flex項(xiàng)目技術(shù)架構(gòu)前的假想  回復(fù)  更多評論   

          2008-01-30 13:36 by 咖啡屋的鼠標(biāo)
          我的上一個(gè)項(xiàng)目就是用的第一種方法,然后用AS寫了一個(gè)底層通訊的類,總的來說代碼是比較清晰的,唯一的問題是前后臺的數(shù)據(jù)傳遞,F(xiàn)lex端不管是解析XML(偉大的E4X?。┻€是使用JSON對象都很方便,可是后臺就不太方便了。mapping那塊很麻煩,還對重構(gòu)不太友好?;蛟S可以考慮寫一個(gè)CodeGen來輔助。

          我個(gè)人是傾向第三種解決方案。試用了一下BlazeDS還是不錯(cuò)的,省掉了很多麻煩。不過沒有在真實(shí)項(xiàng)目用過還不知道在細(xì)節(jié)上會(huì)不會(huì)有嚴(yán)重的問題。如果采用這種方式,我覺得像寫Servlet一樣寫一些門面類,讓Flex通過門面來訪問是比較穩(wěn)妥的一個(gè)方案,不要暴露太多后臺的類給前臺。

          寫模塊的時(shí)候mxml寫view,as寫model和controller(必要的時(shí)候as也可以寫點(diǎn)view,因?yàn)榫幾g速度快),盡量減少代碼行數(shù),不要寫沒用的類結(jié)構(gòu)。較大而且獨(dú)立性比較強(qiáng)的模塊就用Module,Module直接寫在mxml中是沒用的,得使用ModuleLoader。

          # re: Flex項(xiàng)目技術(shù)架構(gòu)前的假想  回復(fù)  更多評論   

          2008-01-30 13:46 by 久城
          @魚中魚
          沒遇到過這種情況,不知道你裝的是什么版本,如果你安裝的是FLEX BUILDER 3 BETA3的STANDALONE版本的話,一定不會(huì)有這個(gè)現(xiàn)象的。建議下載重新安裝一下試試。
          @咖啡屋的鼠標(biāo)
          多謝指點(diǎn)?。海┠阋部梢哉f是老手了,我還在不停的寫DEMO呢。別人也推薦我用BlazeDS,都說很好很強(qiáng)大,但最終項(xiàng)目用什么還是領(lǐng)導(dǎo)們說了算嘿嘿。目前項(xiàng)目view層的模塊化實(shí)現(xiàn)的挺好,如你所說的,mxml寫view,as寫model和controller,但是畫面的邏輯還是寫在view里。

          # re: Flex項(xiàng)目技術(shù)架構(gòu)前的假想  回復(fù)  更多評論   

          2008-01-30 16:54 by 地球玩家
          框架有問題?!進(jìn)www.cnflex.org看看吧

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          Copyright © 久城

          主站蜘蛛池模板: 江城| 苍山县| 安泽县| 班玛县| 洛隆县| 冷水江市| 讷河市| 沅陵县| 岑巩县| 荆门市| 静宁县| 买车| 长春市| 昌都县| 怀集县| 广州市| 茶陵县| 梅州市| 建瓯市| 浮山县| 定西市| 泾川县| 永福县| 海宁市| 广西| 武胜县| 郯城县| 萨嘎县| 瑞安市| 周至县| 抚松县| 项城市| 旬阳县| 明溪县| 当阳市| 安仁县| 咸阳市| 和田县| 措美县| 凤山市| 东丽区|