❶ 前端項目的開發流程
前端開發流程概述
前端開發流程可分為需求分析、開發階段、測試階段、維護階段,下面分別進行敘述。
2.1 需求分析
這個環節中,首先是和客戶進行交流,了解客戶的需求,然後分析項目的可行性,撰寫項目需求文檔。如果項目可行,則起討論具體方案,分模塊分步驟進行規劃,分析項目進度安排、所需成本,進行原型設計(包括頁面布局圖,頁面邏輯流程圖,說明文檔等。通過原型設計,可以讓項目組和客戶都可以對項目有一個直觀感受,同時可以低成本高效率的復現業務場景和各模塊流程)。
可以說需求分析階段是整個前端項目的基礎,基礎不牢,地動山搖。可以試想,如果和客戶溝通不順暢,有的方面客戶沒搞清楚是什麼效果,開發完成後就可能與客戶發生糾紛;如果可行性有問題,有的模塊很難實現或成本超出預算,就很難處理。
2.2 開發階段
這個環節是前端工程師主要參與的部分,按照需求分析階段的規劃按步驟完成任務。
根據產品需求分析文檔和原型圖進行UI設計,對產品的整體美術風格、交互設計、界面結構、操作流程等做出設計。負責項目中各種交互界面、圖標、LOGO、按鈕等相關元素的設計與製作。
根據UI設計進行規劃,提取界面中可以復用的模塊方便重復利用,分析界面是否有實現難度比較困難的地方,進行溝通和功能排期,按功能大小以及難度進行功能時間的評估,和後端溝通好排期時間,保證大家能夠更有效地開發合作,針對功能復雜的地方要先理清思路。
不要盲目開發前端搭建框架。根據設計圖進行前端界面開發,以及遇到的問題及時與產品、UI、後台人員溝通,保持大家信息一致,針對不清楚的地方也要及時溝通,以免做錯功能。
根據後端介面進行欄位填充,以及部分功能開發。針對缺少的欄位或者數據結構進行提出,及時與後端反應,盡量讓大家都能以最小的改動完成後續開發工作。前後端都要按照規范進行開發,針對不規范的地方要給與提出、指正,營造出規范的工作模式,以後維護成本和溝通成本更低以及開發效率更高。如果前端的設計進度遠遠超前後端的介面和數據結構設計,也不必等後端,可以自行開發nodejs伺服器配合postman等介面軟體進行開發。
前後端功能聯調、完成自測。檢查功能完成情況,看是否有遺漏,出現問題及時溝通解決。
2.3 測試階段
發布測試、修改bug、發布上線,自測完成後提交測試,測試根據提交的項目以及需求進行測試,提出bug給相關人員修改,開發人員周期性的配合修改bug,保證今天能夠修復昨天的bug。
發布dev環境,配合測試,修復bug以及需求優化
發布test環境,修復bug以及需求優化
發布it環境,修復bug以及需求優化
發布pre環境,修復bug以及需求優化
pre驗收之後,發布線上環境,產品進行驗收
2.4 維護階段
如果客戶驗收通過,項目就進入了維護階段,程序的維護包括程序上線後後續bug的修復和程序版本的更新。
3 個人經驗總結
3.1 文檔很重要
前端項目的文檔似乎已經作為前端工程化的標准流程之一了,文檔寫的好,可以便於同事快速了解你的代碼功能和需求,便於協作。可以想像,隨之項目復雜度增加,體量越來越龐大,開發團隊人數也越來越多。這種情況下,如果像變魔術一樣隱匿中間流程而直接得出結果,後果可想而知:項目復雜度越增加就越難以管理,開發效率低,合作混亂,結果甚至導致項目死亡。
好的文檔看起來就像一個產品說明書,但作用卻遠遠超過了說明書,不僅僅告訴你如何使用,還應該告訴你項目的設計思路,用了哪些組件,哪些部分不完善,將來有什麼規劃等等。這是一份比較好的說明文檔。
3.2 與客戶及時溝通很重要
3.3 扎實的基本功很重要
盡管當下框架、函數庫、工具包等更新迭代非常快,前端工程師有很多新的知識要學,但原生JS、HTML和CSS依然是重要的基本功,在學習前沿工具的同時不能放棄基本功的訓練。
❷ 學完Web前端後的發展方向如何
今天小編要跟大家分享的文章是關於學完Web前端後的發展方向如何?正在學習和從事Web前端相關學習和工作的小夥伴們來和小編一起看一看吧,希望本篇文章能夠對大家有所幫助。
一、職業方向定位
首先,只有確定好自己的職業方向,才能做好職業規劃。在我看來,做Web前端技術能夠找到的職業方向有以下幾種:
(1)資深Web前端工程師
這個方向算是一個Web前端最基本的選擇了,在國外,很多老外都能夠把自己的專業做到極致,能一輩子就在一個專業領域不斷學習和積累。主要在於內因和外因兩方面,內因是老外通常思想比較簡單直接,容易一直專注於一個領域;外因是國外的環境很好,能夠良好的支撐這樣的職業發展道路。
反觀國內,從內因來講,WEB前端技術人員還是蠻浮躁的,通常會因為Web前端知識的更新速度太快而覺得學習起來辛苦,最終轉向後台或其他道路。
從外因來講,Web前端人員沒有獲得公平的待遇,可能從HTML頁面製作就開始並沿襲下來的,從來WEB前端人員都比後端人員低一等,貌似前端就是「淺顯」的代名詞、後端就是「深奧」的代名詞,這也直接造就了前端人員的收入無法和後端人員媲美,同時直接影響到前端人才市場的活躍程度。另一方面,前端的技術入門較容易,造成另一個極端情況:人員泛濫、人才稀缺。
我想對所有的WEB前端工程師說:麵包總會有的,要耐得住寂寞!我個人比較推薦這個職業發展方向,因為,在這個方向下,只要足夠耐心、厚積薄發,成功的概率是非常高的。同時,這是一條最單純的路,我們更多的是花費精力在技術的鑽研上,而不是辦公室政治等其它瑣事。
(2)資深Web架構
說功利點兒,我喜歡這個方向,既兼顧了工作的單純性、又能夠減少實際Coding的工作量能騰出更多時間鑽研技術。在國內,Web前端工程師遇到較多的情況是總是反復編寫著同樣的代碼,總是面對著同樣的技術和產品,容易感覺枯燥。由於我們擁有最為廣泛的Web相關知識沉澱,使得我們更加容易成為一名架構師。這個職業發展方向不如第一種來得平滑,主要是作為一名架構師不得不學習:後端技術、DBA、Platform等內容,而這種學習通常需要實際操刀做項目,不是自己在家裡寫兩個Demo就好的,這就勢必會遭遇一段時間的陣痛期。雖然不是很平滑,但是,對於一個大局觀好、悟性好、知識面廣的前端工程師,我推薦你們努把力,走一條光榮的架構師之路吧。
(3)自己創業
其實,自己創業是最好的道路、也是成功率最低的道路,挑戰和機遇並存。這里,作為一個前端技術人員,需要將自己的視野更多放在行業的動態、產業鏈的動態、
相關產品領域的動態,把關注細節的優勢繼續保持,同時,增強自己把控一個產品乃至一個公司命運的能力。但是,這條道路和技術之路稍有分歧,後續將不再贅述。
(4)轉崗管理或其他
由於這條職業道路和Web前端技術之路關系不大,故而,這里不做過多討論,但是,無論是否走上這條道路,我覺得對於任何技術之路,更好的大局觀、更廣泛的視野是良好發展的必備條件,擁有良好的大局觀和更廣泛的視野別無他法,只能不斷的進行知識的橫向拓展和積累,同時,多在橫向拓展知識的時候進行實踐,把知識變成技能。
二、職業發展目標
我都有一個最終的目標,在這個目標之上,我們需要給自己制定一系列學習和成長計劃,制定的方法如下:
第一、梳理知識架構;
梳理知識架構的目的在於,我們要了解清楚,哪些技術是前置、哪些技術是後繼,那些技術是深度、哪些技術是廣度,按照這兩個維度梳理好知識架構之後,我們才能准確地制定清晰的成長目標、高效的成長計劃。
第二、分解目標;
我認為,大抵可分解為三個階段,包括:起步階段、提升階段、成型階段。這三個階段分別對應著不同的目標:
起步階段:
1、基本知識的掌握
在我們梳理的知識架構中,按照我們分析的兩個維度里最前置的、最淺顯的部分,作為打基礎的階段,必須要在這個過程中更多投入到實踐中去,我們通常做的多了、熟練了,就認為這部分知識和內容掌握了。
2、常用工具的掌握
對於常用工具的掌握應該掌握一些有大公司或專業團隊背景的流行工具,這些工具的熟練掌握能夠提升專業度、職業度,同時,能提升我們的工作效率。我們只有在檢驗自己對於知識和技能熟練程度的時候,才會自虐式的用Notepad去編寫頁面、css和腳本等內容。
3、溝通技巧的掌握
通常做技術的人會被定位為「不善溝通」的人,這是為什麼呢?究其原因,主要是因為多跟程序和代碼打交道,跟人的溝通較少導致。這種時候我們要特別注意增加
和人溝通的機會,著重提升這塊兒的能力。另一方面,我們通常被稱為「不懂溝通技巧」的人。作為一個技術人員,包括我自己,似乎天生就有一些難以接受挑戰的缺陷。在國內,我們的技術人員通常都是自己制定方案、自己執行方案,在執行過程中又缺乏相關產品、交互設計等人員的溝通,大多是在自己的思路貫徹下進行開發,久而久之,我們習慣於信任自己的觀點、在自己的視角看問題,對於挑戰總是百般地「據理」力爭。我們需要更多提升的是,如何在對方的視角看問題、如何在用戶的視角看問題。
4、良好的開發習慣
開發習慣是養成的,一旦有不好的習慣,對於將來去修正帶來的將是很大的麻煩,我們在培養良好開發習慣一定要從起步時做起,例如:寫代碼之前先分析、先寫文
檔、先寫注釋。定義變數最好能用直接可理解的語義,最好是拼音,別整英文,尤其是生僻單詞,將來自己忘了還要開金山詞霸。文件最好有有意義的文件夾命名來管理,文件名最好有意義,需要版本號的最好能和項目版本號一同更新等等。
提升階段:
1、高級技術的掌握在提升階段對於知識和技能掌握,我們需要從梳理好的知識架構中選擇更深一層次的技術進行學習,選擇之前,我們先通過類比或預估的方法,衡量自身學習的難點,
以學習難點和自己最不感興趣的部分為主。這樣推薦大家的原因是:這個階段我們興趣正濃,已經度過了苦澀的起步階段,到達了興奮的提升階段,我們要用興趣和興奮去挑戰最困難的部分,在我們信心受挫和興趣濃厚之中找到平衡。同時,輔以其他的深層次知識一起學習和研究。
2、產品思想的學習
沒有正確的產品思想,很難設計出良好的程序,無論從界面、交互,還是介面、邏輯,不能夠理解產品、理解用戶需求,我們會給自己造成很大的麻煩,例如:我們
千辛萬苦用最新技術、最復雜的實現做出的功能,卻得不到使用者或領導、同事的認可。為了使我們的工作和學習更加有效率、避免無用功,我們需要不斷的學習產品的思想,只有理解了產品的思路,我們才知道用我們的技術去輸出什麼。
3、各種框架的學習
框架是我們提高工作效率的優秀手段,對於框架的學習是成長必經之路。我們學習框架的路線通常應該是:使用——》分析——》個性化定製——》模仿編寫自己的框架。只有大量的使用,才能明白設計框架者在設計背後的思路,只有了解到設計的思路,才能做正確全面的分析,只有正確全面的分析才能支撐我們去對其裁剪或擴展,只有經過實際分析、修改別人的框架,才有可能寫出優秀的、自己的框架。學習通常的路線是:學習、理解、模仿、創造。
4、富客戶端應用的學習
隨著帶寬和計算機性能的提升,以及Web2.0的如火如荼,富客戶端應用充斥著互聯網,如果你不懂得富客戶端應用,你就不能稱之為一個合格的前端技術人員。可以按照:Flash動,畫—>Flash編程—>Flex—>Air—>Silverlight動畫—Silverlight編程
的步驟學習,先學Flash後學Siverlight的原因,一來Silverlight還不太成熟,二來,實際Silverlight借鑒了很多Flash的思想,最好在學習的時候不要本末倒置。
5、各種網路協議的學習
Web前端技術就是雲上的技術,雲的協議有N種,我們應該著重學習:TCP/IP,UDP,HTTP,POP3,SMTP這幾種協議,在開發Web前端應用過程中,這些協議是我們的技術的載體,有時候決定了我們的應用是否能實現、有時候決定了我們的應用是否高性能,同時,這些協議還是我們和後端技術交互的重要手段,這些協議就像是密碼字典,幫助我們把後端傳輸過來的密文解釋成我們前端技術能夠理解的明文。
6、程序設計
這個階段我們需要學習OO、UML、設計模式、設計方法,我們要讓技術開發工作變成有目的性、有計劃性,並且,這些目的和計劃必須有理論的支持,這樣,我們設計出來的程序才能夠更優秀、我們的開發才更有效率,這樣,我們的技術才能有所提升。為什麼要學習程序設計呢?主要是,就算我們不用Flash的ActionScript編寫程序的前端邏輯,我們至少要把我們自己的Javascript函數、包的定義規劃起來,避免將來自己或他人維護代碼的時候出現問題。程序設計能力,在技術人員仍然被看作是程序員的這個年代,是灰常、灰常重要滴。
成型階段:
到了這個階段,我也沒什麼好說的了,如果能達到這個階段,就證明後續的成長之路是異彩紛呈的,是成為一個資深Web前端工程師,還是成為一個資深Web架構師,亦或其他,都要具體分析自身的特點和興趣所在。如果是資深的前端工程師,我覺得更重要的是去作新技術的研究,互聯網技術發展速度日新月異,不斷學習新技術,否則就被淘汰。此外,我建議在知識的廣度、深度方面最好能挑選一個自己最擅長和最感興趣的一兩個領域深入鑽研,不要挑太多,多而不精。如果是資深的Web架構師之路,我建議要深入了解後台技術,這種深入了解一定要伴隨著實際的項目開發,基本方法是:按照別人設計的架構實現幾個Server—>自己設計並實現幾個Server。
現在這個時代,金錢都變成了數字,從前都是拿在手上,現在都變成了虛擬幣一樣,互聯網時代,我們拼的是時間,只有在有限的時間,把自己提升上去,才能去給自己獲得更多的回報!
以上就是小編今天為大家分享的關於學完Web前端後的發展方向如何的文章,希望本篇文章能夠對小夥伴們有所幫助,想要了解更多Web前端知識記得關注北大青鳥Web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的Web前端程序員。
文章來源:張_前端留學生
❸ 前端和後端哪個需求比較大
一般情況下,後端人才的需求會略大。
1、前後端應該都挺有發展前景,相對來說前端會比較簡單一點。但是現在對於同個層次的人,一般公司前後端待遇都差不多,待遇好的肯定是你技術擺在那裡。
2、你應該想 一下你自己對哪個比較感興趣,比較想學哪個,時間長了自然有收獲,就怕總是處於觀望狀態,學前端的感覺後端待遇好,後端的感覺前端待遇好。
❹ 前端程序員會不會被淘汰
文章略長,沒耐心者可以跳到文末小編已用三句話概括全文。
事情起因是這樣子的,有團隊做了一款可以直接生成網頁的手機APP發布了。某知友就慌亂了,覺得前端工程師會被AI所取代,開始糾結學習前端還是後端。
「手機APP可以直接生成網頁,取代了前端工程師的一部分工作,隨著APP的進一步開發使用,前端開發的行業空間將更加狹小,是不是就意味著,前端開發正面臨著被淘汰的局面?」
前端真的會被取代嗎?
答案是否定的。誠然,按照人類現在的發展趨勢,未來所有工作都將被AI取代,但是計算機行業肯定也是要在後期才會被取代,優先取代的必然是一些流水線上的固定崗位的重復工作。
很多人會有這種想法,有以下幾個原因:
1、大部分人對於前端工程師的誤解
一個轉換網頁的APP的出現就能引起這么多人的猜測和恐慌,足以說明很多人對於前端開發的認識和了解是不夠清晰的。
真正的前端開發並不是傻瓜式的網頁生成可以取代的,在這個前端開發快速發展的互聯網時代,你還認為前端開發只是切網頁的,那你就大錯特錯了。
來看一則招聘啟示:
文末小編總結一段話,概括所有問題。
前端開發近十年都不易被撼動或取代,重要程度逐年增長中,吸金能力亦然。從業者應該注重自身知識鞏固和新知識的更新迭代。找准時代發展方向,努力專研,勇於創新能讓你走在時代最前頭。
❺ Web前端工程師的成長路線指南
今天小編要跟大家分享的文章是關於Web前端工程師的成長路線指南.關於一個WEB前端的職業規劃,其實是有各種的答案,沒有哪種答案是完全正確的,全憑自己的選擇,只要是自己選定了,堅持認真走下去即可。在這里,深度給大家分析一下:任何規劃和目標的實現都依賴於知識的積累,而知識的積累來源於學習及學習後大量的實踐。下面我們一起來看一看吧!
第一:梳理知識架構
梳理知識架構的目的在於,我們要了解清楚,哪些技術是前置、哪些技術是後繼,那些技術是深度、哪些技術是廣度,按照這兩個維度梳理好知識架構之後,我們才能准確地制定清晰的成長目標、高效的成長計劃。
第二:分解目標
我認為,大抵可分解為三個階段,包括:起步階段、提升階段、成型階段。這三個階段分別對應著不同的目標:
起步階段
1、基本知識的掌握
在我們梳理的知識架構中,按照我們分析的兩個維度里最前置的、最淺顯的部分,作為打基礎的階段,必須要在這個過程中更多投入到實踐中去,我們通常做的多了、熟練了,就認為這部分知識和內容掌握了。
2、常用工具的掌握
對於常用工具的掌握應該掌握一些有大公司或專業團隊背景的流行工具,這些工具的熟練掌握能夠提升專業度、職業度,同時,能提升我們的工作效率。我們只有在
檢驗自己對於知識和技能熟練程度的時候,才會自虐式的用Notepad去編寫頁面、css和腳本等內容。
3、溝通技巧的掌握
通常做技術的人會被定位為「不善溝通」的人,這是為什麼呢?究其原因,主要是因為多跟程序和代碼打交道,跟人的溝通較少導致。這種時候我們要特別注意增加和人溝通的機會,著重提升這塊兒的能力。另一方面,我們通常被稱為「不懂溝通技巧」的人。作為一個技術人員,包括我自己,似乎天生就有一些難以接受挑戰的
缺陷。
在國內,我們的技術人員通常都是自己制定方案、自己執行方案,在執行過程中又缺乏相關產品、交互設計等人員的溝通,大多是在自己的思路貫徹下進行開
發,久而久之,我們習慣於信任自己的觀點、在自己的視角看問題,對於挑戰總是百般地「據理」力爭。我們需要更多提升的是,如何在對方的視角看問題、如何在用戶的視角看問題。
4、良好的開發習慣
開發習慣是養成的,一旦有不好的習慣,對於將來去修正帶來的將是很大的麻煩,我們在培養良好開發習慣一定要從起步時做起,例如:寫代碼之前先分析、先寫文
檔、先寫注釋。定義變數最好能用直接可理解的語義,最好是拼音,別整英文,尤其是生僻單詞,將來自己忘了還要開金山詞霸。文件最好有有意義的文件夾命名來管理,文件名最好有意義,需要版本號的最好能和項目版本號一同更新等等。
提升階段
1、高級技術的掌握
在提升階段對於知識和技能掌握,我們需要從梳理好的知識架構中選擇更深一層次的技術進行學習,選擇之前,我們先通過類比或預估的方法,衡量自身學習的難點,以學習難點和自己最不感興趣的部分為主。
這樣推薦大家的原因是:這個階段我們興趣正濃,已經度過了苦澀的起步階段,到達了興奮的提升階段,我們要用興趣和興奮去挑戰最困難的部分,在我們信心受挫和興趣濃厚之中找到平衡。同時,輔以其他的深層次知識一起學習和研究。
2、產品思想的學習
沒有正確的產品思想,很難設計出良好的程序,無論從界面、交互,還是介面、邏輯,不能夠理解產品、理解用戶需求,我們會給自己造成很大的麻煩,例如:我們
千辛萬苦用最新技術、最復雜的實現做出的功能,卻得不到使用者或領導、同事的認可。為了使我們的工作和學習更加有效率、避免無用功,我們需要不斷的學習產品的思想,只有理解了產品的思路,我們才知道用我們的技術去輸出什麼。
3、各種框架的學習
框架是我們提高工作效率的優秀手段,對於框架的學習是成長必經之路。我們學習框架的路線通常應該是:使用——》分析——》個性化定製——》模仿編寫自己的框架。只有大量的使用,才能明白設計框架者在設計背後的思路,只有了解到設計的思路,才能做正確全面的分析,只有正確全面的分析才能支撐我們去對其裁剪或擴展,只有經過實際分析、修改別人的框架,才有可能寫出優秀的、自己的框架。學習通常的路線是:學習、理解、模仿、創造。
4、富客戶端應用的學習
隨著帶寬和計算機性能的提升,以及WEB2.0的如火如荼,富客戶端應用充斥著互聯網,如果你不懂得富客戶端應用,你就不能稱之為一個合格的前端技術人員。可以按照:Flash動畫—>Flash編程—>Flex—>Air—>Silverlight動畫—>Silverlight編程
的步驟學習,先學Flash後學Siverlight的原因,一來Silverlight還不太成熟,二來,實際Silverlight借鑒了很多
Flash的思想,最好在學習的時候不要本末倒置。
5、各種網路協議的學習
WEB前端技術就是雲上的技術,雲的協議有N種,我們應該著重學習:TCP/IP,UDP,HTTP,POP3,SMTP這幾種協議,在開發WEB前端應
用過程中,這些協議是我們的技術的載體,有時候決定了我們的應用是否能實現、有時候決定了我們的應用是否高性能,同時,這些協議還是我們和後端技術交互的重要手段,這些協議就像是密碼字典,幫助我們把後端傳輸過來的密文解釋成我們前端技術能夠理解的明文。
6、程序設計
這個階段我們需要學習OO、UML、設計模式、設計方法,我們要讓技術開發工作變成有目的性、有計劃性,並且,這些目的和計劃必須有理論的支持,這樣,我們設計出來的程序才能夠更優秀、我們的開發才更有效率,這樣,我們的技術才能有所提升。
為什麼要學習程序設計呢?主要是,就算我們不用Flash的
ActionScript編寫程序的前端邏輯,我們至少要把我們自己的Javascript函數、包的定義規劃起來,避免將來自己或他人維護代碼的時候出現問題。程序設計能力,在技術人員仍然被看作是程序員的這個年代,是灰常、灰常重要滴。
成型階段
如果能達到這個階段,就證明後續的成長之路是異彩紛呈的,是成為一個資深WEB前端工程師,還是成為一個資深WEB架構師,亦或其他,都要具體分析自身的特點和興趣所在。如果是資深的前端工程師,我覺得更重要的是去作新技術的研究,互聯網技術發展速度日新月異,不斷學習新技術,否則就被淘汰。
此外,我建議在知識的廣度、深度方面最好能挑選一個自己最擅長和最感興趣的一兩個領域深入鑽研,不要挑太多,多而不精。如果是資深
的WEB架構師之路,我建議要深入了解後台技術,這種深入了解一定要伴隨著實際的項目開發,基本方法是:按照別人設計的架構實現幾個Server—>自
己設計並實現幾個Server。
最後結語
好了,說了那麼多,相比很多躍躍欲試的零基礎朋友,別急,北大青鳥開設「Web前端開發工程師」培訓課程,無論你是零基礎、有基礎、有經驗,我們這里都有按照你的基礎開設的班級,滿足你的需要,保障所有學員達到最好的學習效果,入行好選擇,月薪過萬輕輕鬆鬆!如果還不確定自己適不適合做前端開發,小編建議先報名試聽一下免費的web前端培訓課程,這樣才能對自己有一個完整的認識。
❻ 前端工程師都有什麼樣的職業規劃路線
對於一個WEB前端的職業規劃,其實是有各種的答案,沒有哪種答案是完全正確的,全憑自己的選擇,只要是自己選定了,堅持去認真走,就好。
一、職業方向定位
首先,只有確定好自己的職業方向,才能做好職業規劃。在我看來,做WEB前端技術能夠找到的職業方向有以下幾種:
(1)資深WEB前端工程師
這個方向算是一個WEB前端最基本的選擇了,在國外,很多老外都能夠把自己的專業做到極致,能一輩子就在一個專業領域不斷學習和積累。主要在於內因和外因
兩方面,內因是老外通常思想比較簡單直接,容易一直專注於一個領域;外因是國外的環境很好,能夠良好的支撐這樣的職業發展道路。反觀國內,從內因來
講,WEB前端技術人員還是蠻浮躁的,通常會因為WEB前端知識的更新速度太快而覺得學習起來辛苦,最終轉向後台或其他道路。從外因來講,WEB前端人員
沒有獲得公平的待遇,可能從HTML頁面製作就開始並沿襲下來的,從來WEB前端人員都比後端人員低一等,貌似前端就是「淺顯」的代名詞、後端就是「深
奧」的代名詞,這也直接造就了前端人員的收入無法和後端人員媲美,同時直接影響到前端人才市場的活躍程度。另一方面,前端的技術入門較容易,造成另一個極
端情況:人員泛濫、人才稀缺。我想對所有的WEB前端工程師說:麵包總會有的,要耐得住寂寞!我個人比較推薦這個職業發展方向,因為,在這個方向下,只要
足夠耐心、厚積薄發,成功的概率是非常高的。同時,這是一條最單純的路,我們更多的是花費精力在技術的鑽研上,而不是辦公室政治等其它瑣事。
(2)資深WEB架構師
說功利點兒,我喜歡這個方向,既兼顧了工作的單純性、又能夠減少實際Coding的工作量能騰出更多時間鑽研技術。在國內,WEB前端工程師遇到較多的情
況是總是反復編寫著同樣的代碼,總是面對著同樣的技術和產品,容易感覺枯燥。由於我們擁有最為廣泛的WEB相關知識沉澱,使得我們更加容易成為一名架構
師。這個職業發展方向不如第一種來得平滑,主要是作為一名架構師不得不學習:後端技術、DBA、Platform等內容,而這種學習通常需要實際操刀做項
目,不是自己在家裡寫兩個Demo就好的,這就勢必會遭遇一段時間的陣痛期。雖然不是很平滑,但是,對於一個大局觀好、悟性好、知識面廣的前端工程師,我
推薦你們努把力,走一條光榮的架構師之路吧。
(3)自己創業
其實,自己創業是最好的道路、也是成功率最低的道路,挑戰和機遇並存。這里,作為一個前端技術人員,需要將自己的視野更多放在行業的動態、產業鏈的動態、
相關產品領域的動態,把關注細節的優勢繼續保持,同時,增強自己把控一個產品乃至一個公司命運的能力。但是,這條道路和技術之路稍有分歧,後續將不再贅
述。
二、職業發展目標
我都有一個最終的目標,在這個目標之上,我們需要給自己制定一系列學習和成長計劃,制定的方法如下:
第一、梳理知識架構;
梳理知識架構的目的在於,我們要了解清楚,哪些技術是前置、哪些技術是後繼,那些技術是深度、哪些技術是廣度,按照這兩個維度梳理好知識架構之後,我們才能准確地制定清晰的成長目標、高效的成長計劃。
第二、分解目標;
我認為,大抵可分解為三個階段,包括:起步階段、提升階段、成型階段。這三個階段分別對應著不同的目標:
起步階段:
1、基本知識的掌握
在我們梳理的知識架構中,按照我們分析的兩個維度里最前置的、最淺顯的部分,作為打基礎的階段,必須要在這個過程中更多投入到實踐中去,我們通常做的多了、熟練了,就認為這部分知識和內容掌握了。
2、常用工具的掌握
對於常用工具的掌握應該掌握一些有大公司或專業團隊背景的流行工具,這些工具的熟練掌握能夠提升專業度、職業度,同時,能提升我們的工作效率。我們只有在 檢驗自己對於知識和技能熟練程度的時候,才會自虐式的用Notepad去編寫頁面、css和腳本等內容。
3、溝通技巧的掌握
通常做技術的人會被定位為「不善溝通」的人,這是為什麼呢?究其原因,主要是因為多跟程序和代碼打交道,跟人的溝通較少導致。這種時候我們要特別注意增加
和人溝通的機會,著重提升這塊兒的能力。另一方面,我們通常被稱為「不懂溝通技巧」的人。在國內,我們的技術人員通常都是自己制定方案、自己執行方案,在
執行過程中又缺乏相關產品、交互設計等人員的溝通,大多是在自己的思路貫徹下進行開
發,久而久之,我們習慣於信任自己的觀點、在自己的視角看問題,對於挑戰總是百般地「據理」力爭。我們需要更多提升的是,如何在對方的視角看問題、如何在
用戶的視角看問題。
4、良好的開發習慣
開發習慣是養成的,一旦有不好的習慣,對於將來去修正帶來的將是很大的麻煩,我們在培養良好開發習慣一定要從起步時做起,例如:寫代碼之前先分析、先寫文
檔、先寫注釋。定義變數最好能用直接可理解的語義,最好是拼音,別整英文,尤其是生僻單詞,將來自己忘了還要開金山詞霸。文件最好有有意義的文件夾命名來
管理,文件名最好有意義,需要版本號的最好能和項目版本號一同更新……等等。
提升階段:
1、高級技術的掌握
在提升階段對於知識和技能掌握,我們需要從梳理好的知識架構中選擇更深一層次的技術進行學習,選擇之前,我們先通過類比或預估的方法,衡量自身學習的難
點,以學習難點和自己最不感興趣的部分為主。這樣推薦大家的原因是:這個階段我們興趣正濃,已經度過了苦澀的起步階段,到達了興奮的提升階段,我們要用興
趣和興奮去挑戰最困難的部分,在我們信心受挫和興趣濃厚之中找到平衡。同時,輔以其他的深層次知識一起學習和研究。
2、產品思想的學習
沒有正確的產品思想,很難設計出良好的程序,無論從界面、交互,還是介面、邏輯,不能夠理解產品、理解用戶需求,我們會給自己造成很大的麻煩,例如:我們
千辛萬苦用最新技術、最復雜的實現做出的功能,卻得不到使用者或領導、同事的認可。為了使我們的工作和學習更加有效率、避免無用功,我們需要不斷的學習產
品的思想,只有理解了產品的思路,我們才知道用我們的技術去輸出什麼。
3、各種框架的學習
框架是我們提高工作效率的優秀手段,對於框架的學習是成長必經之路。我們學習框架的路線通常應該是:使用——》分析——》個性化定製——》模仿編寫自己的
框架。只有大量的使用,才能明白設計框架者在設計背後的思路,只有了解到設計的思路,才能做正確全面的分析,只有正確全面的分析才能支撐我們去對其裁剪或
擴展,只有經過實際分析、修改別人的框架,才有可能寫出優秀的、自己的框架。學習通常的路線是:學習、理解、模仿、創造。
4、富客戶端應用的學習
隨著帶寬和計算機性能的提升,以及WEB2.0的如火如荼,富客戶端應用充斥著互聯網,如果你不懂得富客戶端應用,你就不能稱之為一個合格的前端技術人 員。可以按照:Flash動畫——》Flash編程——》
Flex——》——》Air——》Silverlight動畫——》Silverlight編程
的步驟學習,先學Flash後學Siverlight的原因,一來Silverlight還不太成熟,二來,實際Silverlight借鑒了很多
Flash的思想,最好在學習的時候不要本末倒置。
5、各種網路協議的學習
WEB前端技術就是雲上的技術,雲的協議有N種,我們應該著重學習:TCP/IP,UDP,HTTP,POP3,SMTP這幾種協議,在開發WEB前端應
用過程中,這些協議是我們的技術的載體,有時候決定了我們的應用是否能實現、有時候決定了我們的應用是否高性能,同時,這些協議還是我們和後端技術交互的
重要手段,這些協議就像是密碼字典,幫助我們把後端傳輸過來的密文解釋成我們前端技術能夠理解的明文。
6、程序設計
這個階段我們需要學習OO、UML、設計模式、設計方法……,我們要讓技術開發工作變成有目的性、有計劃性,並且,這些目的和計劃必須有理論的支持,這
樣,我們設計出來的程序才能夠更優秀、我們的開發才更有效率,這樣,我們的技術才能有所提升。為什麼要學習程序設計呢?主要是,就算我們不用Flash的
ActionScript編寫程序的前端邏輯,我們至少要把我們自己的Javascript函數、包的定義規劃起來,避免將來自己或他人維護代碼的時候出
現問題。程序設計能力,在技術人員仍然被看作是程序員的這個年代,是灰常、灰常重要滴。
成型階段:
到了這個階段,我也沒什麼好說的了,如果能達到這個階段,就證明後續的成長之路是異彩紛呈的,是成為一個資深WEB前端工程師,還是成為一個資深WEB架
構師,亦或其他,都要具體分析自身的特點和興趣所在。如果是資深的前端工程師,我覺得更重要的是去作新技術的研究,互聯網技術發展速度日新月異,不斷學習
新技術,否則就被淘汰。此外,我建議在知識的廣度、深度方面最好能挑選一個自己最擅長和最感興趣的一兩個領域深入鑽研,不要挑太多,多而不精。
經驗可以積累,但夢想永遠不能磨滅
❼ 學完前端可以做什麼工作
入門級做頁面。就這么簡單。把Designer出的各種設計圖轉化成html+css+js+image的靜態網頁,並把它們交給後端開發人員製作成頁面模板。這就是入門級的前端工程師所做的事情。
進階級還是做頁面。不過稍微復雜一些,你需要開始注意一些更復雜的問題,首當其沖的就是瀏覽器兼容性問題。老實說瀏覽器兼容性問題真的不是那麼好搞定的,畢竟每個項目對瀏覽器版本的要求都不一樣,而且現在不光有PC瀏覽器還有各種移動設備上的瀏覽器,同時國內廠家的瀏覽器種類也越來越多,坑也是密密麻麻。除了兼容性,你可能還要關注一下性能問題,包括但不限於網路性能、渲染性能、js邏輯的性能等等,這個展開講可以寫本小冊子了,呵呵。
中級帶團隊。你可能會奇怪,一個中級工程師就能帶團隊了?可是真的很多公司就是這樣,尤其是小公司。當你了解了html、js、css以及各種瀏覽器的各種特性細節之後,你會被任命帶領一個小的開發團隊,當然是前端開發團隊。可能加你一共也就三四個人,甚至更少。這時候你的工作內容除了自己寫一點頁面以外,還會幫助組員解決各種各樣的細節問題,畢竟,組里,你是最懂技術細節的。這個時候,一部分人開始停步不前,而另一部分人開始關注另一個新的問題:工程化。前端代碼都是非常鬆散的,項目結構性差,一旦開發人員數量多起來,業務復雜起來,如何管理這么多人、這么多代碼是個非常大的問題。能否在這個問題上得到突破,決定了你能否邁向下一個級別。
高級架構設計。此時你熟悉前端開發的各種技術細節(當然忘了一部分細節也沒事 ^_^),同時對各種前端框架、技術的特性聊熟於胸,你知道如何組織和管理項目讓大家能以最快的速度達到項目要求,你甚至了解手下每個人的所長所短。於是當新項目到來,你迅速根據自身過往的經驗選取若干種技術和工具,配上你認為最合適的人選組成項目團隊,披荊斬棘日夜兼程將產品汪的各種奇葩需求斬於馬下。這么做了一兩個項目之後,你可能又覺得空虛了,你要尋求新的目標。恰好,NodeJS打開了通往新世界的大門。
非典型前端穿過NodeJS打開的大門,你進入了全新的世界——後端。全新的世界,無限的可能。樓上寸老師說的「上天入地,無所不能」,我猜就是這個狀態。愛幹嘛幹嘛吧,這個時候,你應該不會再來問「後端程序員都在幹嘛」這種問題了。其實,要成為一名「非典型前端」並不一定非得經過1~4的步驟。只是現在已經上了年紀的前端大多是這樣過來的,畢竟,NodeJS出來的時間也並不算很久。
❽ web前端和後端有哪些區別
前端和後端之間的區別
1、前端與後端的含義的區別
前端是用戶可以看到和交互的網站的一部分,例如圖形用戶界面(GUI)和命令行,包括設計,導航菜單,文本,圖像,視頻等。相反,後端是部分用戶無法查看和互動的網站。一切都是關於一切如何運作的。
2、前端與後端的作用的區別
兩者都在網路開發中起著至關重要的作用,盡管它們有相當大的差異,但它們就像是同一枚硬幣的兩面。前端是關於用戶可以看到和體驗的網站的視覺方面。相反,在後台發生的所有事情都可歸因於後端Web開發。它更像是前端Web體驗的推動者。
3、前端與後端開發上的區別
前端也被稱為「客戶端」而不是後端,後端基本上是應用程序的「伺服器端」。後端Web開發的基本要素包括Java,Ruby,Python,PHP,.Net等語言。最常見的前端語言是HTML,CSS和JavaScript。
如果您對前端和後端之間的差異仍然有點困惑,請始終記住前端與瀏覽器以及發送給它的所有內容相關。如果它與資料庫有關,那麼它與後端相關。
(8)前端後續擴展閱讀:
web前端與後端解耦的好處
前端 - 後端解耦是相關的,特別是在Web應用程序和移動應用程序的情況下,因為開發和發布的速度非常快。在這些域中,用戶體驗優先於其他方面,包括功能深度。讓我們看一下解耦架構提供的一些關鍵優勢。
1、快速開發和測試:作為最大優勢,解耦架構允許前端和後端開發人員獨立工作。由於開發是並行進行的,因此減少了整個項目的時間。業務團隊通常對項目的UI / UX部分的進展非常感興趣,從而導致更快的前端部署。這有助於後端開發人員創建適合前端的數據結構。解耦架構允許項目團隊獨立並行地測試他們的構建,進一步優化項目持續時間。
2、敏捷性:作為另一個好處,UI團隊可以對前端設計進行適當的更改,而無需擔心依賴性和/或對後端進行相應的更改。以同樣的方式,後端開發人員可以修改他們的代碼,而無需冒險進入前端領域。例如,後端開發人員不必確切地考慮特定數據點將如何在屏幕上顯示(反之亦然)。這提高了組織的運營效率,使其能夠以更高的靈活性響應不斷變化的市場需求。
3、開發人員自由:由於應用程序的後端和前端組件與API的謹慎使用鬆散耦合,因此可以最大限度地降低架構的整體復雜性。復雜性降低使開發人員可以自由地對代碼進行更改,從而提高更新發布頻率。
❾ 前端好還是後端好
關於前後端的選擇,前端更容易入門,每天調整界面的展示,通過代碼完成優美的界面和酷炫的交互。後端入門稍困難,每天關注的是業務邏輯的處理,數據的增刪改查,性能的優化。總之,前端和後端工資和職業發展前景就都不錯。
前端開發主要做的是用戶所能看到的前端展示界面。前端開發用到的技術包括但不限於html5、css3、javascript、jquery、Bootstrap、Node.js 、AngularJs等技術。
後端開發主要做的是邏輯功能等模塊,是用戶不可見的。後端開發 以java為例,主要用到的是包括但不限於Struts、spring、springmvc、Hibernate、Http協議、Servlet Tomcat伺服器等技術。
前端開發的內容:
前端開發主要做的是用戶所能看到的前端展示界面。前端開發用到的技術包括但不限於html5、css3、javascript、jquery、Bootstrap、Node.js 、AngularJs等技術。從開始的切頁面,到現在復雜的前端單頁應用,node服務端應用,移動端react-native等。
前端的技術更新速度遠遠超過服務端的更新速度,這也就要求前端同學,需要不停地學習新的技術來跟上前端技術的升級,一旦鬆懈,就可能被淘汰。前端現在所覆蓋的場景已經越來越廣,從傳統的前端,已經延伸到服務端,工具鏈,移動端等。
❿ 一件事情,前端沒有做好,後續做得再好也沒什麼用。用成語或文言文該怎麼說
一步錯,步步錯
於事無補
始亂終棄
亡羊補牢,為時已晚