摘要:隨著網(wǎng)絡(luò)發(fā)展的如此迅速,數(shù)據(jù)信息越來越多,各種軟件,網(wǎng)站如雨后春筍般地悄悄發(fā)芽,縱觀整個互聯(lián)網(wǎng)的發(fā)展歷史,前端與互聯(lián)網(wǎng)的發(fā)展是相輔相成的,一方面互聯(lián)網(wǎng)的高速發(fā)展給前端創(chuàng)造了良好的環(huán)境,而前端各種技術(shù)的誕生以及更加工程化的開發(fā)也進一步地推動互聯(lián)網(wǎng)的飛速發(fā)展。
關(guān)鍵詞:互聯(lián)網(wǎng);發(fā)展;前端;框架
一、引言
回首過去的二十年里,互聯(lián)網(wǎng)的發(fā)展是迅速的,我們從早期的2g,3g網(wǎng)絡(luò)發(fā)展到如今的4g,5g網(wǎng)絡(luò)。在互聯(lián)網(wǎng)發(fā)展的同時,也帶來了許多新的知識和技術(shù),現(xiàn)如今有各種各樣的網(wǎng)站,淘寶、京東的網(wǎng)絡(luò)購物平臺的出現(xiàn)也依賴于互聯(lián)網(wǎng)的高速發(fā)展,現(xiàn)如今,網(wǎng)絡(luò)迎來了新時代。
作為一個前端開發(fā)人員,我深深地感受到了互聯(lián)網(wǎng)的發(fā)展對網(wǎng)站的頁面帶來的變化,在互聯(lián)網(wǎng)的早些時候,與后臺的連接也不是很方便,甚至來說是困難的。在過去我們先要做好后臺開發(fā),連接數(shù)據(jù)庫,等后臺開發(fā)完成之后才能進行前端頁面的開發(fā),通過模板引擎或jsp的相關(guān)操作來完成網(wǎng)站的開發(fā),這在當(dāng)時來說是主流的網(wǎng)站開發(fā)方式,現(xiàn)如今,隨著互聯(lián)網(wǎng)的高速發(fā)展和大量的程序員的出現(xiàn),一些新的技術(shù)被研發(fā)出來,前后端開始分離出來,前端不必等后端開發(fā)完成之后在進行開發(fā),前后端分離就是前端和后端同時開發(fā),前端和后端之間通過約定的Api接口來進行開發(fā),這大大地節(jié)省完成項目的開發(fā)時間。
二、轉(zhuǎn)折點
作為前端的另一個里程碑的發(fā)展是node的出現(xiàn),node的出現(xiàn)使得前端發(fā)生了本質(zhì)的改變,過去前端的任務(wù)實際上是非常簡單的,我們只要用html來表現(xiàn)網(wǎng)頁的基本內(nèi)容,用css來進行布局,將整個瀏覽器的頁面分解成一塊一塊地塊級區(qū)域,在對每一個塊級區(qū)域進行排版和美化,常用的布局方式有盒子模型和彈性盒子兩個方式,整體頁面分為3中,標(biāo)準(zhǔn)流,定位和浮動。我們一般用標(biāo)準(zhǔn)流進行頁面的展示,用定位來布局頁面中固定的元素,用浮動來完善頁面的布局。至于網(wǎng)頁中的動態(tài)效果和動畫我們交給JavaScript來做。這是我們以前的前端開發(fā)?,F(xiàn)在node的出現(xiàn)使得前端有自己的服務(wù)器端,我們可以用node來作為我們的后端,這樣可以用前端來做一些后端開發(fā)的事情。通過node的包管理器我們可以制作出各種各樣的工具,也讓前端來到了一個新時代,大前端時代。
三、前端與后端的區(qū)別
作為一個從事網(wǎng)站開發(fā)的工作人員,我們經(jīng)??梢月牭絼e人總喜歡將前端與后端進行比較,在我看來二者的開發(fā)邏輯是完全不同的,前端相較于后端沒有那么嚴(yán)謹(jǐn)?shù)倪壿嬮_發(fā)方式,就拿Java來說,Java的包管理機制使得Java在后臺開發(fā)中占據(jù)絕對的優(yōu)勢,Java開發(fā)的過程中每一步做些什么,以及各個包的導(dǎo)入都是十分嚴(yán)謹(jǐn)?shù)?,反觀前端,前端的開發(fā)在早些時候是十分繁瑣的,JavaScript作為前端三要素的核心,JavaScript本意就是用來處理瀏覽器輕量的腳本的,Brendan Eich自己也未想到JavaScript未來可以發(fā)展得如此強大,另一方面,我們寫的html、css、JavaScript代碼都要在瀏覽器上運行,通過瀏覽器的引擎為我們渲染出頁面和加載腳本。但是目前市面上主流的瀏覽器眾多,其中比較主流的有chrome、ie、firefox等等。這些瀏覽器的內(nèi)核與引擎都不一樣,要花很長的時間和精力來完成適配各個瀏覽器。
四、前端開始變得工程化
在進行長時間的發(fā)展和沉淀,前端開發(fā)終于開始邁向工程化,在這個大背景下,前端3大框架開始應(yīng)運而生,前端3大框架包括Vue、React、Angular,對于中國的前端開發(fā)人員來說,我們用Vue.js比較多,Vue是一個循序漸進的JavaScript框架。它的核心是存在一個虛擬Dom,可以大大減少瀏覽器訪問的壓力,我們都知道后端有一個mvc三層架構(gòu),首先來說,三層架構(gòu)與MVC的目標(biāo)一致:都是為了解耦合、提高代碼復(fù)用。MVC是一種設(shè)計模式,而三層架構(gòu)是一種軟件架構(gòu)。三層架構(gòu)分為:表現(xiàn)層(UI)(web層)、業(yè)務(wù)邏輯層(BLL)(service層)、數(shù)據(jù)訪問層(DAL)(dao層),再加上實體類庫(Model)而在vue中出現(xiàn)了一種mvvm的概念,前后端開始出現(xiàn)分離,前端主要完成頁面的展示效果,以及一些簡單的邏輯操作,后端主要連接數(shù)據(jù)庫,將數(shù)據(jù)庫中的數(shù)據(jù)通過后臺傳遞給前端。這樣前后端各司其職,可以有條不紊地完成項目的開發(fā)。
五、前端火熱的框架Vue
Vue的優(yōu)點:
(一)輕量級框架
只關(guān)注視圖層,是一個構(gòu)建數(shù)據(jù)的視圖集合,大小只有幾十kb,Vue.js通過簡潔的API提供高效的數(shù)據(jù)綁定和靈活的組件系統(tǒng)。
(二)簡單易學(xué)
(三)雙向數(shù)據(jù)綁定
通過MVVM思想實現(xiàn)數(shù)據(jù)的雙向綁定,讓開發(fā)者不用再操作dom對象,有更多的時間去思考業(yè)務(wù)邏輯。
(四)組件化
在前端應(yīng)用,這就引入了組件化開發(fā)的思想,分模塊開發(fā)。Vue.js通過組件,把一個單頁應(yīng)用中的各種模塊拆分到一個一個單獨的組件(component)中,我們只要先在父級應(yīng)用中寫好各種組件標(biāo)簽,并且在組件標(biāo)簽中寫好要傳入組件的參數(shù),然后再分別寫好各種組件的實現(xiàn),然后整個應(yīng)用就算做完了。
(五)視圖,數(shù)據(jù),結(jié)構(gòu)分離
使數(shù)據(jù)的更改更為簡單,不需要進行邏輯代碼的修改,只需要操作數(shù)據(jù)就能完成相關(guān)操作。
(六)虛擬DOM
總的來說,用Vue來創(chuàng)建一個前端項目是比較簡單的,這也是框架的好處,它把一些復(fù)雜的部分封裝了起來。我們只需要按照它的規(guī)定來使用即可,減少我們的開發(fā)時間。但是我們也不能基礎(chǔ)知識沒有學(xué)好就開始學(xué)習(xí)框架的知識。畢竟,基礎(chǔ)是最重要的。
六、總結(jié)
本文主要講述了前端隨著互聯(lián)網(wǎng)的發(fā)展歷程以及每個階段的發(fā)展經(jīng)歷,前端的發(fā)展主要有以下幾個時期,JavaScript的產(chǎn)生,瀏覽器可以運行腳本,各個瀏覽器,各種腳本語言,出現(xiàn)百花齊放的一種趨勢,JavaScript逐漸完善,瀏覽器進行合并或被淘汰,node.js的出現(xiàn)使得JavaScript可以做一些后端的操作,使得前端的功能越來越多。最后也就是現(xiàn)在的局面,直到三大框架的出現(xiàn),前端慢慢進入工程化,有著嚴(yán)格的項目創(chuàng)建過程。
參考文獻:
[1]朱利娜,周寧. 軟件項bai目管理的思考[J]. 平原du大學(xué)學(xué)報, 2007,(02) .
[2]羅鐵清,王瑩,王如龍. 軟件項目管理流程分析與設(shè)計[J]. 計算技術(shù)與自動化, 2005,(03) .
[3]楊智明. 軟件項目管理過程[J]. 科教文匯(下半月), 2006,(09) .
[4]陸偉. 軟件項目管理及其在中小規(guī)模開發(fā)中的實施[J]. 電腦知識與技術(shù),2005,(08) .
[5]陳意云.編譯原理[M].2版.北京:高等教育出版社,2008
[6]呂映之.編譯原理[M].北京:清華大學(xué)出版社,1998
[7]徐國定.編譯原理[M].北京:高度教育出版社,2007
[8]劉春林.編譯原理與技術(shù)[M].北京:清華大學(xué)出版社,2009
作者簡介:
甄朝明( 1998—),男, 安徽六安人, 本科學(xué)歷,現(xiàn)就讀于宿州學(xué)院本科大四軟件工程專業(yè),研究方向:前端開發(fā)。