Jerry的SAP UI5框架程式碼自學教程
SAP UI5對View元素基於jQuery的操作方式,使得其學習曲線相對Angular/React來說比較平緩,至少對於我個人而言是這樣。對於已經有jQuery經驗的前端開發人員來說很容易上手。
使用UI5開發SAP UI應用,在開發過程中往往會遇到各種各樣的問題,比如最後出來的UI效果和你預料的不一樣,或者console裡面顯示一些奇奇怪怪的error message. 對於後者來說,這些error message通常都是UI5框架程式碼報出來的,這並不意味著是UI5框架程式碼的bug。相反,往往是應用程式中developer自己犯的錯,導致UI5框架在runtime執行時出錯,exception被框架程式碼捕捉到,最後顯示在console裡。
遇到這種情況,如果你一遍又一遍地看自己的應用程式碼,但是覺得它們的書寫都是正確的,找不到線索,那麼你要麼問問身邊其他對UI5比較熟悉的同事,要麼自己啃框架的程式碼慢慢分析到底為什麼框架程式碼執行到你的應用以後會出錯。
曾經有剛接觸UI5的同事和我討論過,說對UI5框架程式碼很感興趣,想學習,但是迷失在程式碼海洋裡,UI5 core的程式碼一個檔案動輒就是幾千上萬行,不知道從哪裡入手。
對這個困擾我自己的思路是,從最容易的地方入手,採用以點帶面的方式學習。 試想下面這個scenario:
" 在UI上畫個button,這個button有一個"click me"的label. 點這個button,彈個message出來 ".
Scenario夠簡單吧,這個效果每個UI5 developer都能做出來,但是你能搞清楚它背後的工作原理麼?為什麼你在model裡設定的文字最後會顯示在button label上? 你UI5程式碼裡new出來的button instance最後怎麼就變成了html標籤?你沒有用html native的onclick屬性註冊事件響應,為什麼你最後點選了button,你在controller裡定義的event handler仍然會被呼叫?
真正搞清楚了這些問題,說明你已經對UI5的框架程式碼有一些認識了。這個時候,憑藉這些基礎,你可以根據自己的興趣或者工作需要,用同樣的辦法去研究UI5框架的其他topic.
這個系列是我2015年做CRM Fiori標準開發的時候寫的,教程連結: https://blogs.sap.com/2015/10/26/a-tutorial-how-i-do-self-study-on-a-given-fiori-control-and-ui5-framework-code-behind/
其內容得到了SAP Walldorf的UI5 developer的認可, 內容的正確性上沒有問題。
Another UI5 walkthrough from my previous colleague Wu Ji
Wu Ji以前在SAP工作過,我有幸和他共事過18個月的時間。Wu Ji是一位我非常佩服的專業的程式設計師,我因為曾經能和他共事而感到榮幸。
這是他的github:
Wu Ji也寫過UI5的walkthrough, 也可以作為研究UI5框架程式碼的材料:
SAPUI5 walkthrough step 1: Hello World! BaseObject, where where it all began: https://blogs.sap.com/2016/01/12/sapui5-walkthrough-step-1-hello-world-where-where-it-all-began/
SAPUI5 walkthrough step 2 – bootstrap, dive in – how does attachInit work? https://blogs.sap.com/2015/10/29/sapui5-walkthrough-and-dive-in-step-2-bootstrap/
SAPUI5 walkthrough step 3 – controls, dive in – how does a control get created? https://blogs.sap.com/2015/11/03/sapui5-walkthrough-and-dive-in-step-3-controls/
SAPUI5 walkthrough step 4 – XML views, dive in – how does a xml view get created? https://blogs.sap.com/2015/11/15/sapui5-walkthrough-step-4-xml-views-dive-in-how-does-a-xml-view-get-created/
SAPUI5 walkthrough step 5 – controllers, dive in – how does a controller get created? https://blogs.sap.com/2015/11/22/sapui5-walkthrough-step-5-controllers-dive-in-how-does-a-controller-get-created/
SAPUI5 walkthrough step 6 – modules, dive in – how does modules work? https://blogs.sap.com/2015/11/25/how-does-modules-work-in-sapui5/
SAPUI5 walkthrough step 7 – JSON model, dive in – how does JSON model work? https://blogs.sap.com/2015/12/05/sapui5-walkthrough-step-7-json-model-dive-in-how-does-json-model-work/
SAPUI5 walkthrough step 8 – translatable texts, dive in – how does i18n model work? https://blogs.sap.com/2015/12/06/sapui5-walkthrough-step-8-translatable-texts-dive-in-how-does-i18n-model-work/
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2150838/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SAP UI5框架自學教程UI框架
- Jerry的CDS view自學系列View
- SAP UI5自學教程一:button.js的載入邏輯UIJS
- 深入學習SAP UI5框架程式碼系列之四:SAP UI5控制元件的後設資料實現UI框架控制元件
- 深入學習SAP UI5框架程式碼系列之六:SAP UI5控制元件資料繫結的實現原理UI框架控制元件
- 如何修改 SAP UI5 框架的原始碼實現,以及使用本地部署的 SAP UI5 SDK 試讀版UI框架原始碼
- 深入學習SAP UI5框架程式碼系列之五:SAP UI5控制元件的例項資料修改和讀取邏輯UI框架控制元件
- SAP UI5 框架的 manifest.jsonUI框架JSON
- Jerry眼中的SAP客戶資料模型模型
- SAP UI5 初學者教程之二十 - SAP UI5 的表示式繫結用法講解UI
- SAP UI5 初學者教程之六 - 瞭解 SAP UI5 的模組(Module)概念試讀版UI
- SAP UI5 初學者教程的學習目錄UI
- SAP UI5 初學者教程之二:SAP UI5 的引導過程(Bootstrap) 試讀版UIboot
- 通過最簡單的button控制元件,深入學習SAP UI5框架程式碼系列之零控制元件UI框架
- SAP CDS view自學教程之八:SAP Fiori Elements裡不同型別的annotationView型別
- SAP UI5 初學者教程之十一 :SAP UI5 容器類控制元件 Page 和 PanelUI控制元件
- MVC框架的程式碼審計小教程MVC框架
- SAP UI5 初學者教程之十九 - SAP UI5 資料型別和複雜的資料繫結UI資料型別
- 淺談 SAP UI5 框架對一些其他前端框架比如 Vue 的支援UI框架前端Vue
- SAP UI5 應用開發教程之一百零六 - 如何提高 SAP UI5 應用路由 url 的可讀性UI路由
- SAP UI5 初學者教程之二十八 - SAP UI5 應用的整合測試工具 OPA 介紹UI
- SAP UI5 初學者教程之十 - 什麼是 SAP UI5 應用的描述符 Descriptor 試讀版UI
- 關於使用 SAP UI5 程式碼設定應用 theme 的技巧UI
- SAP UI5 應用的中文亂碼問題UI
- 使用程式碼給 SAP UI5 XML 檢視新增自定義 CSSUIXMLCSS
- SAP UI5 應用開發教程之七十二 - SAP UI5 頁面路由的動畫效果設定試讀版UI路由動畫
- SAP UI5 應用開發教程之一百零一 - SAP UI5 應用的 Locale 決定機制試讀版UI
- SAP UI5 應用開發教程之五十六 - SAP UI5 樹控制元件(tree)的開發試讀版UI控制元件
- SAP UI5 應用開發教程之三十 - SAP UI5 的路由過程中進行引數傳遞UI路由
- SAP UI5 初學者教程之二十一 - SAP UI5 的自定義格式器(Custom Formatter) 試讀版UIORM
- 使用 Babel 將基於 ES6 的 SAP UI5 的程式碼轉譯成傳統 JavaScript 程式碼BabelUIJavaScript
- SAP UI5 的前世今生UI
- SAP UI5 初學者教程之十六 - 圖示 icon 的使用UI
- SAP UI5應用入口App.controller.js是如何被UI5框架載入的?UIAPPControllerJS框架
- SAP UI5 應用開發教程之三十二 - 如何建立一個自定義 SAP UI5 控制元件UI控制元件
- SAP UI5 應用開發教程之一百零二 - SAP UI5 應用的列印(Print)功能實現詳解試讀版UI
- SAP UI5 應用開發教程之四十二 - SAP UI5 自帶的 Diagnostics 診斷工具使用方法介紹UI
- SAP UI5 應用開發教程之四十三 - SAP UI5 自帶的 Support Assistant 工具使用方法介紹UI