回覆列表
  • 1 # IT人劉俊明

    作為一名IT行業的從業者,同時也在帶計算機專業的研究生,所以我來回答一下這個問題。

    早期前端程式設計師從事全棧開發的難度是比較大的,因為當時的前端開發主要以Web前端開發為主,前端程式語言也有比較明確的應用邊界。但是隨著移動網際網路、大資料和物聯網的發展,目前前端程式設計師轉向全棧開發是完全可以的,而且未來將有更多的前端程式設計師走全棧開發路線。

    隨著JavaScript語言的應用邊界被不斷拓展,以及Nodejs的廣泛應用,目前前端開發後端化也是一個比較明顯的趨勢,一些常規的後端開發任務採用JavaScript都可以實現,這是前端程式設計師可以向全棧程式設計師方向發展的重要基礎。當然,前端程式設計師要想走全棧路線還需要補學大量的後端開發知識,包括資料庫知識。

    前端開發後端化另一個重要的推動力是雲計算的應用,主要是PaaS的推動。PaaS服務能夠整合大量的後端開發模組,前端程式設計師可以根據業務邏輯的需求來選擇不同的功能模組,這也是未來一個比較重要的開發方式。在前端開發場景逐漸豐富的情況下,目前整個軟體開發團隊當中前端程式設計師的比例也在提升,尤其是Android開發、iOS開發和小程式開發併入到前端開發團隊之後。

    隨著5G通訊標準的落地應用,未來物聯網領域將釋放出大量的開發崗位,物聯網開發涉及到嵌入式開發、大資料開發以及人工智慧開發任務,而這些開發任務都離不開前端開發,所以未來前端開發的發展前景還是不錯的。

  • 2 # 演算法

    作為IT行業的多年程式猿,我來解答下這個問題。

    從前端到全棧說難,其實也很難,但是說不難吧,對於一些人來說其實也不是很難。難的在於您是否有一顆愛好學習的心,可以沉下心來,鑽研發展技術,提升自己的技術能力。

    全棧開發工程師可以說是近幾年或者未來的主流開發人員。全棧工程師是指程式設計師掌握多種技能,可以用多種技能獨立的解決問題。

    從全棧工程師解釋的字面意思就知道,前端工程師首先要能夠獨立的解決問題,要獨立的解決問題,就離不開專案經驗,前端人員需要積累自身的開發經驗,並且常總結。另外就是拓展自己的知識領域,雖說前端主要是css、HTML、JavaScript等,但是隻寫元件也不能提升自己的水平,需要其前端人員去不斷的開拓新的知識面,

    node.js

    、Vue其實都是前端科技進步的產物,微服務架構、雲服務模式都是需要拓展的知識面。

    其次,全棧人員需要掌握多種技能,開發人員不能單純的說只會前端,不會處理伺服器、Linux等相關問題。資料庫連線、持久層操作都是需要全棧人員去搭建以及解決相關的問題。服務的效能、資料的快取穿透這些問題都不止侷限於後端層面。後端功能前端化的推行,讓前端的界限變得更加廣闊,那就需要前端開發人員掌握更多的技術能力來解決問題。多角度,多模式的處理問題。

    前端的提升,全棧只是一個遠期目標,立足於當下,努力的充實自身的薄弱面,提升自己的技術水平,多去參與一些新的技術搭建的新專案。

    跳出職場的舒適圈,不斷的學習他人的經驗。不斷的提升自身的技術水平才是前端發展為全棧的途徑。

    沉下心發展技術,提升自身,全棧其實不難,但是浮於表面,不能夠正視自己,全棧是很難的。

    我本人從事多年網際網路Java開發,感興趣的朋友可以關注私聊,共同努力,共同進步。

  • 3 # 丁哥開講

    正所謂難者不會,會者不難。從前端到後端,並沒有什麼過不去的坎。

    我們先假定你現在已經是一名前端大神了。那麼作為前端大神,你肯定懂下面這些技術。一種或者幾種都可以。

    html, css, javascript, angular, vue, react, android, ios, 等等。

    那接下來我們再看後端。後端現在比較流行的技術。用一種或者幾種都可以。spring boot, golang, asp.net core, nodejs, php, ruby, python 等等。

    那後端這塊還要包含資料庫的知識。不管是常規的SQL資料庫或者是non sql資料庫。比較常用的SQL資料庫有oracle, sql server, postgres, sqlite 等等。no sql 資料庫比較多,比較常用的是文件型別的資料庫,比如mango db。

    不管前端還是後端,都需要了解的技術有資料結構,基礎的網路知識,比如說HTTP的這幾個方法。

    前端工程師要做後端的工作,可以從這些有共性的知識點入手,慢慢的, 一步步的,熟悉後端的工作流程。

    舉個例子,比如說前段後端,都會共享比較類似的資料定義模型。前端這邊比較傾向於呼叫後端的資料介面。這樣子就會用到介面方面的定義,以及返回值的模型。這個時候,就可以去看後端這部分是怎麼實現的, 因為後端的任務傾向於如何實現這些資料介面。

    簡單一點說,就是介面的兩邊,前端這邊注重的是應用, 後端這邊注重的是具體實現。

    進一步說一下,後端的具體實現部分。根據輸入的引數和介面的定義, 後來需要在對應的資料庫表中尋找合適的資料,然後進行一些邏輯的運算,並返回結果。

    其實,這部分說起來確實不難。

    接下來就是一些程式設計的技術細節了。如果前端跟後端用的不是一種程式語言的話,可能有一點學習的瓶頸。但是問題並不大。只要你走通了如下幾個步驟: 修改程式碼,除錯,驗證結果。

    接下來,都是一些力氣活了。就是反覆的重複上面的步驟,把你的計算機知識和程式設計技能,應用到後端的程式設計當中去就可以了。

    關於資料庫的這一部分,我們稍微提一下。因為效率的原因,如果你使用關係型資料庫的話,可能會用到stored procedure, 這個東西的好處就是執行效率高。不好處就是被伺服器的效能要求高,並且程式碼不容易維護。

    如果你用Java spring的話,hibernate是一個很好的選擇。

    如果你用ASP Dot Net Core的話, entity framework是個很好的選擇。

    如果你用的是postgres資料庫, JavaScript的一些擴充套件是很好的選擇。

    後端不需要成為資料庫的管理員。但是,資料庫相關的一些知識還是必須的。

    對於非關係型資料庫,尤其是文件資料庫,基本上就是一些資料集。沒有關係型資料庫那麼複雜。

  • 中秋節和大豐收的關聯?
  • 《多寶塔碑》哪位書法家講的最好?