June, 2006 > 所有文章列表
最近因為維護合約的關係,必需動手改一支 flex 1.5 的 application,所以把塵封已久的 flex builder 1.5 與 server又裝了起來,然後開始用力的回想 AS2 到底是怎麼個想法,沒想到六七個月不碰再回首已經忘的差不多啦~ orz
不過忘歸忘,看到程式碼左右翻翻後到底恢復不少印象,但真正的苦難才剛開始。
因為已經完全習慣 eclipse (flex builder 2)的操作介面跟眾多方便的功能,這次再回到 FB1.5(其實也就是 Dreamweaver)開發實在只能用四個字形容:『痛。不。欲。生』。
許多重要、方便的功能完全沒有,例如:
-shift-delete 刪除一整行
-ctrl-O 開啟 class listing 可快速跳到需要的 method or variable
-ctrl-J 循環搜尋關鍵字
然後 auto-completion 三不五時會失靈,或是顯示的內容不正確,或是變數名稱奇異的被反白(highlighted)。
更糟糕的是如果用 FB1.5 內建的 debug 去編譯與preview swf,速度會慢的不像話,再加上我的電腦也同時裝了 FB2 與 Flash Player 9,所以兩者相乘後下場就很精彩,大概每測試三次就準備重開一次 Orz
好險後來改成直接在browser裏按 F5 refresh , 整體開發速度才又回來,只是這下子變的看不到 trace()的內容….
所以這幾天的心得是:
1、難怪 macromedia 當年會毫不猶豫的放棄既有的 codebase 轉而擁抱 eclipse,實在是因為自已手上的東西在 IDE or editor 這塊市場根本沒搞頭,跟誰比都沒啥勝算,更別提 flex 想攻佔的企業應用市場。
2. 從 FB1.5 的慘狀,可以相對看出現在 Flex 2 整體產品線的優異與綜效的強大。很棒的 IDE,方便迅速有效率的開發流程(最重要的是它符合大多數工程師的工作習慣與工具,例如支援 cvs..),超級快的 VM與AS3,加上不錯的 framework 與 component library,這下子感覺 Adobe 終於能端上一桌像樣的好菜給企業吃,接下來就看市場的胃口如何囉
所以今日的心得是:該加把勁*敦促*客戶快點進行系統升級,讓我早日擺脫 Flex 1.5 + AS2 的日子吧 Orz Orz Orz
| by admin
這兩天正好讀了一些關於 BREW 平台的技術文件,順便也就研究了一下 CDMA/W-CDMA 跟現在3G的發展,簡單資料整理如下。
-CDMA: Qualcomm 專利,美國、中國、韓國使用為多。
-W-CDMA: based on CDMA multiplexing technology, partially Qualcomm’s patent,日本、歐洲使用較多,GSM相容性高。
-台灣:只有亞太電信用CDMA平台經營3G服務,其它各家都採用W-CDMA,推測一方面是專利授權金較低,另方面則是相容於既有廣大 GSM客戶。
-BREW:Binary Runtime Environment for Wireless, 顧名思議,是一個 runtime,角色類似 virtual machine (VM)也可比喻成 OS,它負責搞定所有跟底層硬體環境溝通的工作,讓 application只要操作它的 API就可完成大部份工作。這裏 跟 這裏 各有一篇相關文章。

就像一般寫 windows appication時如果要存取硬體內的檔案, 不用自已去跟 FAT/NTFS 打交道,只要操作 OS 層的api,例如 File.read()就好,這裏的 File.read()就是 OS提供的 API,而在 BREW裏也是類似的操作手法。
目前 BREW native支援的語言是 C/C++(btw, 資策會八月要開課),但有者彈性的 module structure, 例如已可即時下載 Java runtime for Brew 與最近剛發表的 Flashlite for Brew (其實這才是我又回頭研究 Brew的原因啊~)。
因此,只要手機有內建 Brew 晶片,就可執行 native Brew app, java app 與 flash lite app,一般 flashlite content provider只要寫好flashlite,當客戶要下載時就會自動安裝 flashlite player for Brew,更明白的解釋就是:不用會 c/c++ 也可以寫 Brew app喔。
BREW的另一個主要功能就是BDS,BDS負責的是手機用戶在無線運營商(TELCO)的網路上選購、支付、下載和安裝軟體這些事,因此是服務提供商要搞定的平台工作。
目前台灣只有亞太電信已簽約使用 BREW平台(理論上其它家電信業者應該也有在談但目前沒任何消息),但似乎沒看到任何一款支援BREW的手機,所以空有平台但沒有手機或本土化內容可能初期會有點(或 很?)難推。
BREW平台的開發者 QualComm (台灣高通)在台北信義路跟新竹有辦公室,但主要業務似乎以推CDMA chip (design/licensing)為主,在BREW的推廣上者力多少目前不知。
至於台灣的 BREW 內容開發者目前沒找到一家,但中國有幾家,例如O2。
中文少見的詳細參考資料一篇:
BREW作業平台
其它詳細規格可在 BREW official site 與 Wiki 上看到。
| by admin

大部份玩家被 flex 吸引的主要原因都是它快速layout與製作app的能力,而flex中最常使用的三種layout方式分別為:
1、Absolute Positioning
2、Flexible Layout (Flow layout)
3、Constraints Layout
其中 Absolute Positioning 就是絕對定位,直接指定 x,y的px值來放置物件。
而大家比較喜歡也常用的則是 Flexible Layout,它的特色是版面可以隨browser視窗大小而自動調整(read: just like those windows/mac application !!)
但使用Flexible Layout 的代價往往是必需用許多HBox, VBox一層層把東西包起來,結果反而加重loading 並拖慢一點點開發速度。
也因為如此,flex 提供了第三種排版的方式,叫做 Constraints Layout,這是介於 Absolute Positioning 與 Flexible Layout 中間的一種格式,它能做到絕對定位(直接指定x/y)但又能讓長/寬(w/h)的部份隨外框大小而改變。
第三種方式看起來很方便,但許多人往往搞不清楚何時該用 Flexible Layout 或 Constraints Layout,因為能做到的效果類似,但製作手法卻很不相同。
在這篇文章中,Kevin 用一個很簡單的 Login 畫面來示範了同樣的東西,用兩種不同方式製作上的差異。
有興趣的flex2 玩家可以自已先照者上面的圖試者拉一個畫面出來,然後再看他的文章中對於Constraints Layout的解釋,就會對這個問題有清楚的概念了。
以我的經驗而言,以往我100%會用 Flow Layout來排這個login畫面,但在 F2B3大幅改良Constraints Layout 的語法後,我也開始願意嚐試使用它來排版面,因為在某些應用上,它確實能減少不必要的 H/VBox 用量,間接降低loading 與 消耗的memory,這是值得努力的方向。
| by admin
wikipedia上的解釋
SaaS 有兩種
-ASP (application service provider)
-Software on Demand
*前者:client買好軟體(先付軟體費給isv) 然後拿去給 hosting provider 放上線(付hosting 跟 bandwidth 錢)
*後者:isv開發好軟體,通常是一對多的架構,同時提供 使用權 與 hosting 服務,因此client付費給同一個人。
ASP versus SaaS
來自 wikipedia 的解釋
The reason for moving away from the term ASP or Application service provider is that the ASP generation was merely traditional client-server applications with HTML frontends added as an afterthought. These applications were hosted by third-parties who ordinarily did not have application expertise, but were managed servers. Because the applications were not written as net-native applications, performance was poor and application updates were no better than self managed applications. By comparison, current net-native SaaS applications or independent portions are updated regularly, many daily.
SaaS links
Breeze
yap, Breeze也是 SaaS的一種,它完全符合上述對 SaaS 型態的描述,在合併後的adobe內甚至有一個事業群是專門在經營這塊,目前 breeze 等hosted software service是 Sean Corfield 在掌管。
Basecamp
一個小型專案管理系統,php/mysql架構,風評不錯,但顯然可改進空間頗多。

Salesforce
傳統老牌名店,最近規模越長越大也開始出現模組化架構,可以讓3rd party自已寫app然後掛進去那個platform 販售,頗有從 SaaS 變型為 platform channel 的架勢。
| by admin

原文
Adobe 的 kiwi project team 最近推出了一個概念示範的app,叫做 NoteTag, 主要是利用 blogger, tag server來存取user的note。
雖然這支app本身功能性不強,不過這個team的工程師顯然挺愛寫文章,這篇就是他們詳細分析 Cairngorm 的各部份運作原理。
文章本身是不錯的,也將這個framework 的運作流程說的很清楚,但重點在於:
看完後要能自已評估是否該採用這個framework?
評估的重點應包含:專案規模?開發人員數量?工作時程?架構複雜性?未來維護與擴充彈性?
當然,如果評估後的結論是無法全盤採用,那備案是什麼?部份採用?把核心精神學起來套在自已的手法裏?或另覓它途改用其它的framework ?
| by admin
Next Posts