Adobe Air & Adobe Flex & ActionScript & Mobile Dev & HTML5 & RIA & User Experience
SWFAddress 雖然已經給予了 Flex/Flash 網站一部分 SEO 的優勢,但是它還是有局限性。 SWFAddress 的 deepLinking,都是帶有 # 號的。假設 A 和 B 都登陸 richmediaplus.com,那么,他們的 deepLinking 分別為 richmediaplus.com/index.htm#/a/ 和richmediaplus.com/index.htm#/b/ ,這樣的URL,特別是#的存在,無論對用戶還是網站的 SEO 來說,都不是很友好。DeepLinking 最理想的方式應該是 a.richmediaplus.com 或者 richmediaplus.com/b 這樣的URL方式。 結合泛域名解析,能解決我們所碰到的尷尬問題。泛域名解析指的是通過利用通配符 * (星號) 以實現所有的次級域名指向同一個地址。以上面的例子來說,我們可以利用泛域名解析將 a.richmediaplus.com 和 b.richmediaplus.com 同時指向 all.richmediaplus.com ,在實際的服務器目錄當中,大部分的內容只存在 all.richmediaplus.com 的目錄,URLs 地址是真實存在,但是服務器中并沒有真實的目錄。all.richmediaplus.com 中的文件會 parse 當前的 Virtual Unique URLs ,結合數據訪問 Server 端 告知是 a 用戶 還是 b [...]
上次提到過ActionScript and Flex optimization techniques and practices recommendation,這次Adobe Air Team Blog發布了Performance Tips for Adobe AIR 。 總得來說有幾點可以參考: 盡可能得減少 mx:WindowedApplication:frameRate。frameRate為Air的影格速率,比如Air默認的frameRate是24,那么它說明Air的影格一秒鐘要刷24次,相當于每41ms刷一次。Arno Gourdol推薦frameRate=7開始調校。 當Air程式APPLICATION_DEACTIVATE的時候,設定frameRate=1,減少CPU消耗。 盡可能得使用Timer而不是enterFrame進行相關的程式操作。enterFrame耗費相當大的資源。 如果是基于Adobe Flex的Air,使用profile觀察減少資源消耗。Flex的話,還是先從ActionScript and Flex optimization techniques and practices recommendation做起吧。 更多參考: Writing well-behaved, efficient, AIR applications by Arno Gourdo Idle CPU Usage in Adobe AIR and Flash Player on the Mac by Grant Skinne [...]
跟大多數語言一樣,ActionScript和Flex也有Techniques Optimization。 今天在InsideRIA發現一篇值得回味的文章51 ActionScript 3.0 and Flex optimization techniques and practices,這讓人想起了當初小組討論的時候,激烈討論過在for循環里面到底是var i:number = 0還是應該var i:int = 0快一點,還有類似很多這樣優化Flex的問題,這就是一篇可以解決當時相爭的文章。不過這篇文章作者有些地方寫得不正確,看看他的Comment吧,那是一片激烈的討論啊,里面有正解哦,實在不行,你自己可以測試啦。 關于ActionScript和Flex技術算法優化的文章,我還推薦Flex SDK coding conventions and best practices,它不僅僅對ActionScript和Flex技術算法進行優化,還推薦人們形成一種嚴謹的編碼規約,雖然這篇文章也沒有完全完成,有些還是待定的,但已經指引了我們編碼規約和最佳習慣一個正確的方向。 除了上述,記住還要時刻關注ActionScript和Flex的變化,比如目前最新的穩定版本Flex3.0.2,在Flashplayer version10和Air version1.5的情況下,已經可以支持Vector了。使用Vector實例時的數組元素訪問和迭代的速度比使用Array時的速度要快很多啊,不過要稍微注意一下運行環境哦。 Flex Techniques Optimization Recommendation: 51 ActionScript 3.0 and Flex optimization techniques and practices Flex SDK coding conventions and best practices As3 Speed Optimizations
現在使用html標簽越來越頻繁,但是對Database的負擔也會隨之增加。 那么我們能不能自定義rules呢? 下面舉個簡單的例子 比如一個 link(<a target=”_blank” href=”http://www.yahoo.com.tw”><u>奇摩</u></a>) 我們將會把它變成 [http://www.yahoo.com.tw||奇摩] 然后再在Database進行存儲。相比而言,63個字符轉化29個字符,2:1的比例。考慮到其他的html標簽,我們至少能省掉數據庫一半的空間比例。 有些人說,這樣的做法不是加重了服務器的處理么?不不不,現在RIA普遍程度越來越大,很多以前放在后端的處理,都會直接放在前端進行處理。畢竟Server端只有一個,而Client端可以無窮。因此,我們只是在Client端做文章。 在向服務器存儲時,在Client端做standard_html到rule_html的處理。 在從服務器讀取時,在Client端做rule_html到standard_html的顯示。 下面貼出Client端做rule_html到standard_html的顯示Code: private static var headStr:String = "["; private static var footStr:String = "]"; private static var centerStr:String = "||"; /** * Replace Html Link * @param Link Format * @return htmlStr * @author Alvin */ public static function replaceHtmlLink(htmlStr:String):String{ if(htmlStr == [...]