本篇參考: https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_vf_fundamentals
不知不覺已經做了三年多的salesforce,大部分專案還是以classic為主,但是以後的salesforce的市場畢竟屬於lightning,所以對lightning的學習也沒法停止。因為做的lightning的專案不多,所以大部分的實踐經驗可能還要依託於trailhead。做或者學lightning的時候其實很多人都會發現,lightning和classic針對前臺的互動真的相差蠻多的,它會要求你更多的javascript的知識,更多css以及DOM理解的知識。誠然以前的專案都會用到javascript以及CSS相關的UI處理,但是學的總是一知半解,從來沒有系統性的讀過一本書或者看過一個完整的教程,基本上就是了解一個大概,後期用到哪百度谷歌,倒是也不耽誤開發。然而學習lightning的時候發現,如果對javascript以及CSS還是抱著之前的態度去學習,確實會變得越來越累,因為lightning很多的前臺的框架機制以及寫法確實好多都借鑑了javascript。所以在避免盲目學習,學玩就忘的前提下,翻了一些trailhead以後,安利一下官方提供的這個lightning aura框架下的基礎學習。
一. JavaScript的學習
Javascript對於開發人員來說不會是不可能的,但是深入學習的可能並不太多,Null, Undefined , NaN區別;基礎型別以及非基礎型別都包括哪些內容,有哪些具體的區別以及常用方法;嚴格等於(===)和常規等於區別(==)以及哪種場景下應該優先考慮哪種寫法,javascript對於事件的處理機制;同步以及非同步的用處場景;handler call的機制以及best practice等等。太多太多我們在專案中常用的但是總是會模糊和混淆的,所以兵欲善其事,必先利其器。想要學好lightning提供的aura框架開發也好,LWC開發也好,先將自己的javascript基礎夯實起來才是王道。這裡官方推薦了好幾個優秀的書籍,其中有兩個可以線上觀看。其中 Speaking JavaScript適合0基礎或者有基礎但是基礎薄弱的人,真正耐心讀下來確實受益匪淺,鍛鍊了英語也夯實了javascript的基礎知識。慚愧的是我目前只是淺顯的讀了一遍,權當拋磚引玉。
Speaking JavaScript : http://speakingjs.com/es5/index.html
Eloquent JavaScript : http://eloquentjavascript.net/
二. HTML、CSS以及LDS學習
HTML、CSS是一個必須要打好基礎的東西,往小了說好多標籤的轉義影響了javascript針對form中或者html中使用的不同方式取值,往大了說影響到你對DOM結構深層次的理解。所以建議有時間的小夥伴還是最好先多多瞭解一些HTML的基礎以及CSS的深入使用。
說到lighting,自然會說到官方提供的強大的LDS:https://www.lightningdesignsystem.com/ 包括了官方封裝好的常用的標籤的 html/css的實現以及各種適配的css樣式庫和一些icon等。曾經學習lightning看到這些大量的封裝好的庫檔案確實很頭疼,讀起來也很費勁,也不太清楚學習的方向,基本上會用標籤會查文件就好了。後來基本上用到哪個lightning封裝好的標籤便會看一下這個對應的html/css實現,多讀多看,時間長了對於提升css能力還是有很大幫助的,感興趣的小夥伴可以嘗試。當然,因為做lightning專案比較少,有更加高效或者更加深入學習的方式,還請這方面的前輩多多指教。
三. 針對Aura 框架下的學習
Aura框架的入門其實還是很容易的,官方提供了很多的trailhead用來學習:其中 https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_basics?trail_id=lex_dev 基本上這個trailhead涵蓋了簡單的lightning的元件開發的基礎東西,剩下的就要看多讀官方的文件,aura框架就可以入門了。當然,看trailhead學到的永遠是淺顯的東西,真正的深入最好還是做專案。專案中至少在規範性以及實用性會讓你學到很多東西,而且經歷了坑,才會知道哪些坑是你不能再踩得,自主學習學到的永遠是理想狀態下的皮毛而已了。所以沒做過lightning的小夥伴,快快找個lightning專案實施吧。共勉,加油。