<address id="jzxfj"></address>

<noframes id="jzxfj"><form id="jzxfj"><nobr id="jzxfj"></nobr></form>
<listing id="jzxfj"><listing id="jzxfj"></listing></listing>

<form id="jzxfj"><th id="jzxfj"><th id="jzxfj"></th></th></form>

<form id="jzxfj"></form>

    [科技]找不到工作?學JavaScript吧

      事實上,每家專業招聘機構,從Glassdoor.com和Linkedin到美國勞工部,都報導了就業市場對開發人員需求的增長速度出于意料地快。這種需求可能已經不新鮮了,但是就業市場對哪種開發語言的需求量最大,依然是個熱門話題。雖然對HTML5技能的依然需求保持穩定,但真正必須掌握的語言就是JavaScript。

      在Monster網站的技術求職趨勢報告中,特別指出了JavaScript是必須掌握的幾門技能之一,這要得益于企業級Web應用的增長。在2015年1月,Mashable網站列出了對于開發人員來說最重要的15項技能,JavaScript排在第二。相比前幾年JavaScript并不受歡迎,這種變化很明顯。博客作者Glen Maddern的文章代表了對JavaScript的全新思考,他相信JavaScript正從一種“湊合”的語言變成一種優秀的語言。

      JavaScript好在哪里?

      為什么如今JavaScript如此火爆?首先,很多企業都在采用它,它在很多技術系統中均扮演了正面的角色。根據JavaWorld的Martin Heller的說法,JavaScript不僅僅可以搭配HTML5和CCS來構建Web前端,在移動應用中也經常見到它的身影,甚至在后端開發領域,它也通過Node.js服務器在發揮作用。如果你去讀讀這篇文章《全棧JavaScript介紹》,你就會理解JavaScript遠遠不止是一門“90秒鐘可以掌握”的編程語言那么簡單。JavaScript在產品經理和設計師人群中越來越流行,因為它實現了很多具有良好用戶體驗的功能,支持大多數流行的網頁瀏覽器和平臺。這對于設計師和終端用戶來說是好消息。

      隨著移動領域的飛速發展,消費者和企業用戶不管使用什么設備,都開始期望得到高響應性的(譯者注:指針對不同設備的顯示屏幕自適應地顯示內容)、無縫的Web體驗。那些理解大勢所趨的品牌,都撤下了m.開頭的移動版網站,開始提供完全動態的體驗,它們具有豐富的功能,性能良好,而且可以根據環境為你展示不同的內容。此外,客戶端為了達到使人驚嘆的效果,也需要動畫和交互;最早,Flash是這些目標的解決方案。如今,JavaScript能得到更好的效果。

      以前原生應用中很多很酷的功能,在網頁瀏覽器中只能用Macromedia的Flash或微軟的Silverlight這樣的插件才能做出來。今天,JavaScript配合HTML5和CSS3就能達到這些效果。復雜的數據交互(比如內嵌過濾、即時反饋、基于上下文的規則等)以前需要花數個星期才能編出來,但現在如果用流行的JavaScript庫和框架來操作和實現,能達到開箱即用的效果。由于這些原因,前端開發人員的職位需求描述已經從“有jQuery經驗”,變成了“有Angular、Node、Bootstrap和jQuery經驗”。作為一門語言,JavaScript在迅速成長,但高質量的開發會不斷地催生新的需求。

      局限性

      光有技術還不能造就一個優秀的開發者。他要有從整體角度去理解和處理應用的能力。JavaScript可以成為架構和開發策略的一部分,但它本身并不能作為一種架構或開發策略。

      換句話說,JavaScript很不錯,但是它不是萬能的。有經驗有能力的開發者知道,何時何地應該如何去使用它。但開發新手不一樣,就像他們對待任何編程語言那樣,一旦他們熟悉了某種庫或框架,就想著用它來搞定一切,哪怕它對某個任務來說并不是很合適。這個問題要潛伏一段時間才能暴露,這將會給業務的可伸縮性、可維護性和性能帶來負面影響。

      舉個例子,在一些發展中國家,網絡帶寬、計算機的CPU和內存資源都很成問題,這種情況JavaScript就不是最好的選擇。甚至,用戶的瀏覽器版本落后最新的版本很多,也是很常見的事情,所以如果大量使用JavaScript的話,性能和兼容性就會成問題。如果你產品的受眾是世界性的,那就少用些“最前沿的UI”,否則產品到部分用戶手里會產生糟糕的用戶體驗。此外,在安全管控甚嚴的工業領域,JavaScript也不是開發應用的好選擇。

      架構師和資深開發人員理解上面這些因素,知道什么時候使用JavaScript是正確的選擇,什么時候不是。這里的底線就是把這方面的最佳實踐時刻牢記,確保用戶體驗不受影響。

      JavaScript就業市場展望

      JavaScript會經得起時間考驗嗎?會長盛不衰,還是曇花一現,很快被更好的技術所替代?換句話說,用JavaScript來開發你的企業應用是否保險?

      很多開發者同意Flash已經窮途末路。部分人認為Flash退出歷史舞臺是自然演化的結果,但更多人都知道是誰擊敗了它。JavaScript已經替代了Flash,至少在下個十年中,它會繼續擴張,在各種軟件系統中承擔越來越多的角色。我們來考慮一下Flash提供的功能——主要是UI方面的——再把這些UI功能的數量乘以幾倍來估算應用程序所有方面的功能,可想而知JavaScript將帶來多大的價值。JavaScript會有過時的一天嗎?當然會,但我們還不知道是何時。

      另一個有可能促成JavaScript長盛不衰的因素是它總是在不停地演進。新的JavaScript庫和框架在不斷地涌現出來。就在幾年前,AngularJS還處于beta測試中;而今天,就業市場對有AngularJS經驗的開發者的需求空前高漲。并且這僅是一個例子,說明JavaScript的前沿成果演變成市場主流的速度有多快。當然知識是多方面的。解決重大問題的能力、最佳實踐以及能夠清晰地理解這些庫和框架如何解決我們面臨的挑戰,是人事經理為人才定價的最重要依據。

      要精確預測一門技術會如何演進是不可能的,但是我們可以確定今天用JavaScript寫的應用,在未來好多年中都需要得到持續的支持。就算我們樂觀地認為JavaScript會很長壽,目前的這些產品也需要在未來十年中得到多次升級和修改,以適應企業級的應用。為了能維持業務,或增強JavaScript寫的應用,企業在當下以及未來都需要撥出預算來和外部機構合作,或雇傭內部的專家。

      JavaScript開發者下一步該做什么

      對于那些經歷著Web技術演進并保持自己的JavaScript技能持續更新的開發者來說,這一切都是好消息。但是,剛剛入門的開發者(或剛剛參加工作的年輕開發者)要想抓住這一波機會,應該做些什么呢?當下從事技術工作的迷人之處就在于,所有的文檔、示例代碼以及其他開發者討論過的問題,只要稍一搜索便唾手可得。

      轉投JavaScript的開發者,或者想試水現代Web技術的人,可以從在線進修課程開始。像Codecademy這樣的網站免費為初學者提供了JavaScript課程。如果開發者希望通過實戰來學習盡可能多的知識,那么訂閱Pluralsight可能是更好的選擇。Pluralsight有更多的課程門類可供選擇,從AngularJS基礎課程,到使用Backbone.js在服務端存儲數據,樣樣都有。這些課程都由業界專家編寫并解說。

      這些庫和框架的開發者社區是很強大的。如果你需要面對面討論解決問題的學習方式,那么你可以考慮找一個本地學習小組或上Meetup去找一個,這類小組通常會分享關于特定技術問題的知識。像StackOverflow這樣的網站也是一個知識寶庫,開發者遇到的常見(或不那么常見)的問題都會有。

      大多數頂級的框架和庫都是開源的,并且托管在GitHub上(比如,GitHub AngularJS)。對于當代軟件開發來說,GitHub是一筆無法想象的財富,它提供了大量在不斷演進的優秀軟件。開發者如果希望幫助開源軟件發展,并獲得開發者社區的認同,可以通過解決bug、更新wiki和提交新功能補丁等方式來參與進去。而且越來越多的技術招聘者在篩選階段要求查看應聘者的GitHub或Bitbucket的賬戶,使得這一點變得更加重要。

      你的職業發展、受歡迎程度和薪水從沒有像現在一樣,掌握在自己手里。你是否還記得幾年前,就業市場對iOS開發者的需求量空前的大?如果像你這樣的UI開發者當時只能站在邊上看著那些招聘廣告流口水,那么好消息來了:現在是你的時代了。由你統治的市場來了,并將繁榮很久。

    闺蜜男友又大又粗又黑
    <address id="jzxfj"></address>

    <noframes id="jzxfj"><form id="jzxfj"><nobr id="jzxfj"></nobr></form>
    <listing id="jzxfj"><listing id="jzxfj"></listing></listing>

    <form id="jzxfj"><th id="jzxfj"><th id="jzxfj"></th></th></form>

    <form id="jzxfj"></form>