Flex開發者需要知道的10件事
1. 再簡單的東西也是非同步的
Flex是一個非同步框架,因此我們絕對不能指望程式碼呼叫後就能立刻執行。事實上,我們是無法預知方法的呼叫序列的。
2. 搞清楚Flex元件的樣式與屬性
Flex UI元件(按鈕、選單等等)既有屬性(通過ActionScript語言指定)也有樣式(通過Flex框架指定)。搞清楚他們之間的區別是非常重要的,因為元件的某些視覺化效果可以通過屬性指定,但另一些卻只能通過樣式設定。通過屬性指定:
button.width = 100; button.height = 50;
通過樣式指定:
<mx:Style> Button { color: #cc0000; textRollOverColor: #ccff00; fontFamily: Trebuchet MS; } </mx:Style> <mx:Button id="setupB" text="Click Me" click="onSetup()" />
3. Flex中的樣式與HTML中的不盡相同
可以使用標準的CSS樣式表來為Flex元件新增樣式,也可以在Flex應用中包含CSS樣式表。雖然標準CSS使用連字元(例如text-font)格式來定義樣式名稱,但是Flex使用駝峰式的命名格式(例如textFont)。這是因為連字元不能出現在XML的屬性中,所以不能用這樣的名字作為MXML標籤的屬性。
當然了,如果把樣式定義在外部的CSS檔案中或者Style標籤中,也可以使用連字元格式的樣式名。此外,Flex還定義了很多HTML中不存在的CSS樣式。
4. 儘管看起來不同,但MXML和ActionScript本質上是一回事
在Flex中宣告的所有MXML標籤都會被Flex編譯器轉換為ActionScript程式碼;當然了,也可以在MXML檔案中嵌入內聯的ActionScript程式碼。既可以使用MXML也可以使用ActionScript建立新元件。
5. 理解Flex的Code-behind模式
雖然MXML和ActionScript本質上是一樣的,但他們各司其職。一般來說,MXML負責顯示介面,而ActionScript用來完成功能。Code-behind用於解耦MXML和ActionScript,這樣設計師可以直接修改MXML而無需閱讀程式碼,程式設計師則可以更好地組織和重用功能。
6. 理解Flex元件的生命週期
Flex通過狀態機機制定義了一套完美的生命週期模型,用於元件的建立、執行和銷燬,還定義了一些“入口”,開發者可以藉此完成定製化的工作。沒有透徹理解元件的生命週期可能會導致錯誤的程式設計模型。
7. 理解Flash執行時所使用的“跑道”模型
理解Flash Player的渲染和程式碼執行機制非常重要的。在執行了改變介面的指令時,Flash Player並不是立刻把你要的內容顯示在螢幕上,它根據一定的週期來重新整理螢幕,而程式碼的執行則是另一回事。這和Java正好相反,Java總是等待程式主動告訴它什麼時候重繪螢幕。
8. 理解資料繫結與檢視器(Watcher)
Flex提供了一種資料繫結機制。簡單地說,就是將一個源屬性繫結到一個目標屬性上,當源屬性發生變化時,目標屬性也會隨之變化。不僅僅可以繫結到屬性,還可以繫結到函式。甚至可以為某個屬性建立一個Watcher,當屬性變化時會獲得事件通知。
9. 資料封裝與鬆耦合非常重要
對於Flex和AIR專案來說,程式碼組織與高層結構非常重要。有些人竟然在一個檔案中編寫了1000多行程式碼,這導致的問題就是牽一髮而動全身。
10. 理解ActionScript中的弱引用與強引用
不管使用何種語言與開發環境,記憶體管理始終是一個重要的問題,ActionScript也不例外。如果不理解執行時環境的記憶體管理,那麼很容易就會出現記憶體洩露與記憶體碎片問題。請閱讀這篇博文及文章來深入瞭解ActionScript的垃圾收集機制。
相關文章
- 開發者測試:你必須知道 7 件事
- ?Web開發者需要知道的CSS TricksWebCSS
- Flutter入門,開發者需要知道的10個知識點Flutter
- 你想知道的2018年軟體開發“10件事”
- 新手工程師需要知道的 7 件事工程師
- 學習swoole之前,你需要知道的幾件事
- 成功部署AIOps需要知道的7件事AI
- 成為優秀Angular開發者所需要學習的19件事Angular
- 過來人分享:遊戲開發者創業需要注意的五件事遊戲開發創業
- SQL Server DBA需要知道的三件事XTSQLServer
- 正確建立開發者社群,你需要知道這三點!
- 你需要知道的小程式開發技巧
- 在使用Redux前你需要知道關於React的8件事ReduxReact
- 使用 Jira Service Management 管理資產,您需要知道的5件事
- 企業管理者需要知道的
- 寄Android開發Gradle你需要知道的知識AndroidGradle
- 專案經理應該知道的97件事 --譯者序
- 前端開發者務必知道的JavaScript技巧前端JavaScript
- 10 萬開發者都知道的部署方式,你居然不知道!?內含懸賞活動
- 創業者需要知道的50句話創業
- MVVM 開發總結 —— Vue 元件(你所需要知道的)MVVMVue元件
- iPhone X下架的真實原因 你需要知道這十件事iPhone
- 關於遠端辦公,每個企業都需要知道的5件事
- 打造適合日常使用的Linux系統需要做的10件事情Linux
- Java開發三大框架,你必需要知道的IT乾貨!Java框架
- 後端開發者需要掌握的技術棧後端
- 精讀《不再需要 JS 做的 5 件事》JS
- 程式設計師採用低程式碼開發需要考慮的五件事 – thenewstack程式設計師
- 進入中東遊戲市場,你需要知道這三件事遊戲
- 開發者需要了解的nodejs中require的機制NodeJSUI
- 用友雲開發者中心,你應該知道的那些事
- PHP開發者該知道的多程式消費佇列PHP佇列
- 每個黑帶大師都應該知道的10件事(建議收藏)
- 開發者談設計《我的戰爭(This War Of Mine)》所學到的7件事
- 高階前端開發需要知道的 25 個 JavaScript 單行程式碼前端JavaScript行程
- [管理]管理者應需要知道的一些定律
- React 初學者需要知道的一些知識React
- 【譯】10 個你不知道你需要的 HTML 元素HTML
- 每位開發者都應該知道SOLID原則Solid