從一個(gè)初入行的程序員的角度來(lái)看前端入門(mén)很簡(jiǎn)單,要完成項(xiàng)目實(shí)際所需的效果很難,需要對(duì)CSS和JS有很深入的認(rèn)識(shí),況且現(xiàn)在的前端工程師都需要會(huì)一些前端的框架以提高開(kāi)發(fā)速度,而且前端像是Node.js直接可以搭建服務(wù)器,功能十分強(qiáng)大,并且一些厲害的前端對(duì)于瀏覽器的JS引擎以及優(yōu)化都有很深的見(jiàn)地。
后端現(xiàn)在很難純粹的去處理業(yè)務(wù)邏輯,所以基本的HTML和CSS、JS你也要會(huì),如果是PHP,也需要會(huì)THINKPHP,YII,CI等框架,適合小型網(wǎng)站,對(duì)于數(shù)據(jù)庫(kù)的知識(shí)要求較高,如果是JAVAEE,那么S2SH是基礎(chǔ),JSP或者一門(mén)模板技術(shù)(velocity、Freemarker),數(shù)據(jù)庫(kù),服務(wù)器原理(Tomcat、WebLogic或者Jboss),還有多線程技術(shù)等等都需要比較扎實(shí)的基礎(chǔ)。
做個(gè)人主頁(yè)也是需要后端的,除非全部都是靜態(tài)頁(yè)。不用與數(shù)據(jù)庫(kù)交互。不論是前端還是后端,最差的程序員都是不缺的,越高級(jí)的程序員就越缺,前端后端是一樣的。能力才是決定“前景”最重要的因素。至于是選擇前端還是后端,對(duì)“前景”的影響并不大,還不如有個(gè)好運(yùn)氣去個(gè)好一點(diǎn)的公司的影響大。
Web前端:顧名思義是來(lái)做Web的前端的。這里所說(shuō)的前端泛指Web前端,也就是在Web應(yīng)用中用戶可以看得見(jiàn)碰得著的東西。包括Web頁(yè)面的結(jié)構(gòu)、Web的外觀視覺(jué)表現(xiàn)以及Web層面的交互實(shí)現(xiàn)。Web后端:后端更多的是與數(shù)據(jù)庫(kù)進(jìn)行交互以處理相應(yīng)的業(yè)務(wù)邏輯。需要考慮的是如何實(shí)現(xiàn)功能、數(shù)據(jù)的存取、平臺(tái)的穩(wěn)定性與性能等。
前端和后端是Web開(kāi)發(fā)中的兩個(gè)不同的專業(yè)。在2000年代,前端開(kāi)發(fā)人員是網(wǎng)站的設(shè)計(jì)者,其余人員則是后端開(kāi)發(fā)人員。
現(xiàn)在,在中型或大型公司中,涉及的角色更多。但是在小型公司(也稱為初創(chuàng)公司)中,通常有兩種類型的開(kāi)發(fā)人員:一種用于前端,另一種用于后端
前端
前端是與用戶界面和交互相關(guān)的所有內(nèi)容。其中包括HTML作為表示信息的語(yǔ)言,CSS作為表示信息的語(yǔ)言的語(yǔ)言以及JavaScript作為交互的語(yǔ)言
后端
后端是您無(wú)法直接在瀏覽器中看到的內(nèi)容。它是處理信息并在后臺(tái)準(zhǔn)備的東西
后端開(kāi)發(fā)人員通常應(yīng)負(fù)責(zé)數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)可以是關(guān)系數(shù)據(jù)庫(kù)(例如 PostgreSQL)或面向文檔的數(shù)據(jù)庫(kù)(例如 MongoDB)。后一種類型也稱為NoSQL。當(dāng)數(shù)據(jù)庫(kù)足夠大以成為公司的核心時(shí),另一個(gè)角色將接管 數(shù)據(jù)庫(kù)管理
前端和后端指的是網(wǎng)站建設(shè)當(dāng)中的分工,之所以分前端和后端是因?yàn)榫W(wǎng)站建設(shè)要不同的人分工合作,主要分為前端和后端,下面說(shuō)一下什么是前端和后端。
1、網(wǎng)站前端
網(wǎng)站前端就是網(wǎng)站的頁(yè)面設(shè)計(jì)或者是靜態(tài)的網(wǎng)頁(yè)設(shè)計(jì),簡(jiǎn)單的說(shuō)我們?cè)L問(wèn)一個(gè)網(wǎng)站看到的所有頁(yè)面網(wǎng)頁(yè)上的內(nèi)容和版式樣式都屬于網(wǎng)站前端,網(wǎng)站前端工作就是設(shè)計(jì)網(wǎng)站的靜態(tài)頁(yè)面,所謂的靜態(tài)頁(yè)面就是網(wǎng)站前端不包括后端,簡(jiǎn)單的例子說(shuō)一下,靜態(tài)頁(yè)面就像一張報(bào)紙,上面有文字圖片和內(nèi)容,并排好版,之所以稱之為靜態(tài)是因?yàn)檫@些內(nèi)容不能動(dòng)態(tài)的改變,也就是所有人看到的靜態(tài)頁(yè)面都是一模一樣的,沒(méi)有任何區(qū)別,這是因?yàn)檫@個(gè)頁(yè)面是靜態(tài)的,不會(huì)改變。總之,網(wǎng)站前端就是指的網(wǎng)站的靜態(tài)頁(yè)面設(shè)計(jì),網(wǎng)站前端工作使用的是html、css、js等技術(shù)設(shè)計(jì)網(wǎng)站頁(yè)面的樣式和排版布局,這就是網(wǎng)站前端。
2、網(wǎng)站后端
網(wǎng)站后端也叫網(wǎng)站后臺(tái)技術(shù)或者動(dòng)態(tài)網(wǎng)站技術(shù),上面我們也說(shuō)了靜態(tài)頁(yè)面的缺點(diǎn)就是不能動(dòng)態(tài)的改變頁(yè)面上的內(nèi)容和實(shí)現(xiàn)一些代碼邏輯,比如我們要實(shí)現(xiàn)用戶的注冊(cè)登錄驗(yàn)證、或者購(gòu)物結(jié)算等,這些都是要代碼邏輯來(lái)實(shí)現(xiàn)的,還有我們需要一個(gè)后臺(tái)來(lái)往我們的網(wǎng)頁(yè)添加一些消息新聞通知等,因?yàn)椴皇敲恳粋€(gè)網(wǎng)站的使用者都懂前端技術(shù)來(lái)來(lái)改變頁(yè)面內(nèi)容,而且這樣也太不方便了,所以需要網(wǎng)站后臺(tái)來(lái)實(shí)現(xiàn)這些功能,這些東西都是需要網(wǎng)站后臺(tái)技術(shù)來(lái)實(shí)現(xiàn)的。常見(jiàn)的網(wǎng)站后端開(kāi)發(fā)語(yǔ)言有asp、asp.net、jsp、php等。同時(shí)網(wǎng)站后臺(tái)技術(shù)還包括數(shù)據(jù)庫(kù)如MySQL、sqlserver等,數(shù)據(jù)庫(kù)是用來(lái)存儲(chǔ)后臺(tái)數(shù)據(jù)的。
3、再說(shuō)一下為什么要分前端和后端。
現(xiàn)在大家明白了,網(wǎng)站前端和后臺(tái)的工作是完全不同的,前端的工作是設(shè)計(jì)靜態(tài)頁(yè)面,后臺(tái)是結(jié)合數(shù)據(jù)庫(kù)實(shí)現(xiàn)一些代碼的邏輯如驗(yàn)證用戶登錄等,后臺(tái)更加偏重與邏輯思維。總之網(wǎng)站只所以分前端和后臺(tái)是為了使不同的人干不同的事情,前端的專業(yè)做前端后端專業(yè)的做后臺(tái),這樣分工就不用一個(gè)既懂前端技術(shù)又懂后端技術(shù)。