肖鋒 胡曦
摘 要:前端技術(shù)已成為計(jì)算機(jī)學(xué)科中較為活躍的研究熱點(diǎn)。本文分析了目前國內(nèi)外計(jì)算機(jī)專業(yè)本科階段Web開發(fā)課程開設(shè)的現(xiàn)狀,并對(duì)目前主流的前端技術(shù)框架做了介紹,并分析其發(fā)展對(duì)本科教學(xué)的影響。
關(guān)鍵詞:前端技術(shù);Web應(yīng)用課程;本科教學(xué)
1. 國內(nèi)外計(jì)算機(jī)專業(yè)本科階段web開發(fā)課程開設(shè)現(xiàn)狀
目前國內(nèi)高校計(jì)算機(jī)專業(yè)本科階段在Web開發(fā)領(lǐng)域的專業(yè)課程基本以學(xué)科基礎(chǔ)理論的講授為主,注重課堂中對(duì)相關(guān)教學(xué)重難點(diǎn)的講解。一般而言在低年級(jí)的課程設(shè)置中以專業(yè)基礎(chǔ)課為主,如《計(jì)算機(jī)體系》、《程序設(shè)計(jì)》、《數(shù)據(jù)結(jié)構(gòu)》等,此階段的學(xué)習(xí)主要是為了夯實(shí)學(xué)生的計(jì)算機(jī)專業(yè)理論知識(shí),為后續(xù)的專業(yè)應(yīng)用課程打下基礎(chǔ)。在高年級(jí)的專業(yè)課中,根據(jù)不同的專業(yè)方向,設(shè)置不同的專業(yè)選修應(yīng)用課程,目的是全面提升學(xué)生在專業(yè)方向上的學(xué)術(shù)及實(shí)踐能力。
Web開發(fā)類的課程應(yīng)用性較強(qiáng),學(xué)習(xí)相關(guān)技術(shù)能夠全面提升學(xué)生的實(shí)踐動(dòng)手能力,增加未來在就業(yè)時(shí)的優(yōu)勢(shì),因此計(jì)算機(jī)專業(yè)的學(xué)生選修的人數(shù)眾多,同時(shí)也受到很多非計(jì)算機(jī)專業(yè)學(xué)生的青睞。Web開發(fā)相關(guān)課程也基本遵循了前后端分離的原則,一般會(huì)開設(shè)諸如《Web設(shè)計(jì)基礎(chǔ)》和《JSP開發(fā)》等課程。但也存在了以下問題:
(1) 部分課程選用教材的內(nèi)容相對(duì)陳舊,某些知識(shí)點(diǎn)基本在實(shí)際開發(fā)中不再采用。
(2) 課程之間相對(duì)孤立,聯(lián)系不夠緊密,并未形成一套體系,使得學(xué)生只能了解理論知識(shí),而未能將知識(shí)串聯(lián),無法形成一個(gè)整體的Web開發(fā)的知識(shí)框架。
(3) 部分專業(yè)基礎(chǔ)課程的設(shè)置無法滿足Web開發(fā)技術(shù)體系的實(shí)際需求。比如數(shù)據(jù)庫技術(shù)在Web開發(fā)中必不可少,但目前高校在數(shù)據(jù)庫方面的課程普遍以基礎(chǔ)理論知識(shí)為主,關(guān)于數(shù)據(jù)庫在實(shí)際開發(fā)中應(yīng)用方面內(nèi)容的講解較少,導(dǎo)致學(xué)生的知識(shí)儲(chǔ)備方面存在短板,影響后續(xù)一系列應(yīng)用課程的學(xué)習(xí)。
國外高校計(jì)算機(jī)專業(yè)在本科階段專業(yè)課程上的設(shè)置更加偏向致力于對(duì)學(xué)生關(guān)于計(jì)算機(jī)專業(yè)整體知識(shí)體系的建立,應(yīng)用型課程的比例相對(duì)較少。比如斯坦福大學(xué)計(jì)算機(jī)專業(yè)教學(xué)最大特點(diǎn)是對(duì)計(jì)算機(jī)專業(yè)知識(shí)體系較為系統(tǒng)地講解。課程中較偏向理論,數(shù)學(xué)及抽象理論的課程比例較大,應(yīng)用型課程較少。加州大學(xué)伯克利分校對(duì)計(jì)算機(jī)基礎(chǔ)課程的培養(yǎng)尤其重視,很多專業(yè)基礎(chǔ)課,如《計(jì)算機(jī)體系》、《數(shù)據(jù)結(jié)構(gòu)》等課程的教材會(huì)采用競(jìng)賽中的題目,而在應(yīng)用課程的設(shè)置上,也會(huì)強(qiáng)調(diào)學(xué)生的實(shí)踐動(dòng)手能力,課程的考核也要求完成實(shí)際項(xiàng)目??▋?nèi)基梅隆大學(xué)的計(jì)算機(jī)專業(yè)則更側(cè)重軟件方向,很多課程不采用傳統(tǒng)的教材,同時(shí)注重學(xué)習(xí)的趣味性和實(shí)用性,教學(xué)宗旨主要以培養(yǎng)計(jì)算機(jī)應(yīng)用型人才為主。
2. 大前端技術(shù)研究現(xiàn)狀及發(fā)展趨勢(shì)
Web開發(fā)涉及很多方面的技術(shù),大致可以分為前段、后端以及數(shù)據(jù)庫技術(shù)等。前端技術(shù)包括HTML、CSS、JavaScript,后端技術(shù)包括動(dòng)態(tài)開發(fā)語言(Java、PHP、C#、Node.js)等,數(shù)據(jù)庫則有多種數(shù)據(jù)庫系統(tǒng)可以選擇。此外移動(dòng)互聯(lián)網(wǎng)的興起,使得Web開發(fā)還需要考慮PC端與移動(dòng)端的兼容性和適應(yīng)性,因此原生開發(fā)、混合開發(fā)以及HTML5移動(dòng)開發(fā)等解決方案紛紛提出并予以實(shí)踐。目前隨著前端框架技術(shù)的發(fā)展,前后端技術(shù)可以實(shí)現(xiàn)真正意義上的分離,更加體現(xiàn)抽象、解耦、封裝、組件化等特點(diǎn)。以Node.js、Typescript、webpack、babel等為代表的開發(fā)語言及工具的興起使得前端能夠以數(shù)據(jù)為驅(qū)動(dòng),更好地服務(wù)終端用戶。
此前在 Web 開發(fā)中,一般需要將變化的數(shù)據(jù)實(shí)時(shí)反應(yīng)到用戶界面上,這時(shí)就需要對(duì) DOM(Doucment Object Model) 進(jìn)行操作。而復(fù)雜或頻繁的 DOM 操作通常是性能瓶頸產(chǎn)生的原因,如何進(jìn)行高性能的復(fù)雜 DOM 操作通常是衡量一個(gè)前端開發(fā)人員技能的重要指標(biāo)。目前主流的前端解決方案中引入了虛擬DOM的機(jī)制:在瀏覽器端用 Javascript 實(shí)現(xiàn)了一套 DOM API,能夠批處理虛擬 DOM 的刷新,在一個(gè)事件循環(huán)(Event Loop)內(nèi)的兩次數(shù)據(jù)變化會(huì)被合并。開發(fā)時(shí)所有的 DOM 構(gòu)造都是通過虛擬 DOM 進(jìn)行,每當(dāng)數(shù)據(jù)變化時(shí),都會(huì)重新構(gòu)建整個(gè) DOM 樹,然后將當(dāng)前整個(gè) DOM 樹和上一次的 DOM 樹進(jìn)行對(duì)比,得到 DOM 結(jié)構(gòu)的區(qū)別,最后將需要變化的部分進(jìn)行實(shí)際的瀏覽器 DOM 更新。
目前國外諸如谷歌、Facebook、微軟等公司紛紛投入大前端技術(shù)的研發(fā),以Angular、React、Vue三大框架為代表的前端框架的問世極大得豐富了Web開發(fā)技術(shù)體系,從而使得開發(fā)效率得到顯著提高。
國內(nèi)的阿里、餓了嗎、美團(tuán)、網(wǎng)易杭研等公司也陸續(xù)提出了自己的大前端解決方案,涌現(xiàn)出egg.js,mpvue、KISSY、EasyReact等優(yōu)秀國產(chǎn)框架,并在實(shí)際項(xiàng)目中取得了較好的效果。
3. 大前端技術(shù)的對(duì)計(jì)算機(jī)專業(yè)本科教學(xué)的發(fā)展的影響
目前國內(nèi)外高校在計(jì)算機(jī)專業(yè)本科階段課程的設(shè)置上仍然還處于重基礎(chǔ),輕應(yīng)用的狀態(tài)。高校作為教學(xué)及學(xué)術(shù)研究機(jī)構(gòu),對(duì)于基礎(chǔ)理論知識(shí)的傳授和探究是其重要的教學(xué)任務(wù)和社會(huì)責(zé)任?;A(chǔ)理論知識(shí)對(duì)于本科階段的學(xué)習(xí)確實(shí)意義重大,但對(duì)應(yīng)用型課程也應(yīng)該予以足夠的重視。
基于大前端技術(shù)的良性發(fā)展,目前已在業(yè)界形成了較為完善的生態(tài)體系,業(yè)界以及技術(shù)社區(qū)的發(fā)展必然會(huì)影響企事業(yè)單位對(duì)開發(fā)應(yīng)用型人才的選拔和錄用。因此高校也應(yīng)該重新思考對(duì)計(jì)算機(jī)專業(yè)本科階段課程體系的建設(shè),尤其是應(yīng)用型較強(qiáng)的如Web開發(fā)等一系列應(yīng)用課程。如何在新工科背景以及新的技術(shù)發(fā)展的要求下培養(yǎng)出滿足社會(huì)和企業(yè)需求的高質(zhì)量計(jì)算機(jī)類專業(yè)人才,是高校需要深入研究的問題。
參考文獻(xiàn)
[1] 蔣宗禮. 新工科建設(shè)背景下的計(jì)算機(jī)類專業(yè)改革.中國大學(xué)教學(xué).2017(8):34-39
[2] 溫莉芳,劉江. 美國名校計(jì)算機(jī)科學(xué)專業(yè)本科教學(xué)體系現(xiàn)狀分析.計(jì)算機(jī)教育2004(8):40-43
基金項(xiàng)目:江漢大學(xué)高層次人才科研啟動(dòng)基金(1008-06680001)