新聞中心
學(xué)前端開(kāi)發(fā)需要掌握哪些編程語(yǔ)言呢?
Web前端是互聯(lián)網(wǎng)時(shí)代軟件產(chǎn)品研發(fā)中不可缺少的一種專業(yè)研發(fā)角色。從狹義上講,Web前端工程師使用HTML、CSS、Java等專業(yè)技能和工具將產(chǎn)品UI設(shè)計(jì)稿實(shí)現(xiàn)成網(wǎng)站產(chǎn)品,涵蓋用戶PC端、移動(dòng)端網(wǎng)頁(yè),處理視覺(jué)和交互問(wèn)題。從廣義上來(lái)講,所有用戶終端產(chǎn)品與視覺(jué)和交互有關(guān)的部分,都是Web前端工程師的專業(yè)領(lǐng)域。

就目前Web前端開(kāi)發(fā)可能涉及的語(yǔ)言來(lái)講,有PHP語(yǔ)言、JavaScript、Ruby、HTML5、Java和Python。當(dāng)然并不是說(shuō)以上這些語(yǔ)言前端開(kāi)發(fā)工程師都必須掌握,其實(shí)只選擇一兩門(mén)熟練掌握即可。下面一起來(lái)看看這些Web前端開(kāi)發(fā)語(yǔ)言的具體介紹和自身的優(yōu)勢(shì)。
1、JavaScriptJavaScript是一種屬于網(wǎng)絡(luò)的腳本語(yǔ)言,被廣泛用于Web應(yīng)用開(kāi)發(fā)。作為一種動(dòng)態(tài)編程語(yǔ)言,它主要用于增添網(wǎng)站的交互性。作為運(yùn)行在瀏覽器中的解釋型的編程語(yǔ)言,它的優(yōu)勢(shì)也是顯而易見(jiàn)的,比如可以輕松實(shí)現(xiàn)跨平臺(tái)、跨瀏覽器驅(qū)動(dòng)網(wǎng)頁(yè)以及與用戶交互的功能。同時(shí),JavaScript還能開(kāi)發(fā)很多Web框架,如Angular.js、Ember.js以及Javascript MVC等。
2、PHP語(yǔ)言常常聽(tīng)說(shuō)PHP是世界第一的語(yǔ)言,其實(shí)這種說(shuō)法也有一定道理。作為Web架構(gòu)開(kāi)發(fā)常用語(yǔ)言,PHP開(kāi)發(fā)了很多Web框架,有Zend framework、CakePHP、ThinkPHP等等。PHP獨(dú)特的語(yǔ)法混合了C、Java、Perl 以及 PHP 自創(chuàng)新的語(yǔ)法。目前,PHP主要用在服務(wù)器端上用于Web開(kāi)發(fā)。
PHP語(yǔ)言的優(yōu)勢(shì)在于可以更快速的執(zhí)行頁(yè),而且功能強(qiáng)大,支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng),還可以用C、C++進(jìn)行程序的擴(kuò)展!另外,PHP提供了幾個(gè)框架,比如Laravel和Drupal,幫助開(kāi)發(fā)人員更快地構(gòu)建應(yīng)用程序,擁有更高的可擴(kuò)展性和可靠性。PHP擁有最簡(jiǎn)單的學(xué)習(xí)曲線、廉價(jià)的托管環(huán)境、豐富的學(xué)習(xí)資源和相對(duì)容易的開(kāi)發(fā)環(huán)境。這對(duì)初學(xué)者來(lái)說(shuō)是個(gè)不錯(cuò)的選擇。
3、HTML5HTML是超級(jí)文本標(biāo)記語(yǔ)言,是為“網(wǎng)頁(yè)創(chuàng)建和其他可在網(wǎng)頁(yè)瀏覽器中看到的信息”設(shè)計(jì)的語(yǔ)言。HTML5是由萬(wàn)維網(wǎng)發(fā)布的最新的語(yǔ)言規(guī)范,是開(kāi)放的Web網(wǎng)絡(luò)平臺(tái)的奠基石,所以做Web前端,精通HTML5是必須要掌握的一項(xiàng)技能。
4、Ruby(與Ruby on Rails一起使用)Ruby是一種純粹的面向?qū)ο缶幊陶Z(yǔ)言。Ruby 的特性與 Smalltalk、Perl 和 Python 類似。Perl、Python 和 Smalltalk 是腳本語(yǔ)言。Smalltalk 是一個(gè)真正的面向?qū)ο笳Z(yǔ)言。Ruby,與 Smalltalk 一樣,是一個(gè)完美的面向?qū)ο笳Z(yǔ)言。使用 Ruby 的語(yǔ)法比使用 Smalltalk 的語(yǔ)法要容易得多。ruby是一種優(yōu)秀的純面向?qū)ο蟮木幊陶Z(yǔ)言,學(xué)習(xí)它可以很好理解面向?qū)ο蟮木幊?,其次ruby的開(kāi)發(fā)效率也很高。ruby在國(guó)內(nèi)不常用的原因是因?yàn)閞uby在國(guó)際上沒(méi)有大廠商的支持,所以在國(guó)內(nèi)一般就不怎么用,但是還有很多網(wǎng)站使用ruby開(kāi)發(fā)的??傊瑢W(xué)習(xí)不同語(yǔ)言都能幫助自己更好的理解編程。這不是前端必須的,學(xué)有余力可以去學(xué)習(xí)。
5、Java語(yǔ)言Java是一門(mén)面向?qū)ο蟮木幊陶Z(yǔ)言,在電子商務(wù)領(lǐng)域以及網(wǎng)站開(kāi)發(fā)領(lǐng)域占據(jù)了重要的地位。之所以把它列為Web前端開(kāi)發(fā)語(yǔ)言之一,是因?yàn)殚_(kāi)發(fā)人員可以運(yùn)用很多不同的框架來(lái)創(chuàng)建Web項(xiàng)目,如SpringMVC,Struts2.0以及frameworks等,即使是簡(jiǎn)單的servlet、jsp和以struts為基礎(chǔ)的網(wǎng)站在項(xiàng)目中也經(jīng)常被用到,療救護(hù)、保險(xiǎn)、教育、國(guó)防以及其他的不同部門(mén)網(wǎng)站也都是以Java為基礎(chǔ)來(lái)開(kāi)發(fā)的。
6、PythonPython是一種解釋型的腳本語(yǔ)言,它非常適合用來(lái)做Web開(kāi)發(fā)。它的優(yōu)勢(shì)也是顯而易見(jiàn)的,比如開(kāi)發(fā)效率高,有上百種Web開(kāi)發(fā)框架,有很多成熟的模板技術(shù),如Django、flask等,選擇Python開(kāi)發(fā)Web應(yīng)用。不但開(kāi)發(fā)效率高,而且運(yùn)行速度快。
總結(jié)一下,Web前端開(kāi)發(fā)語(yǔ)言主要就是以上這些,關(guān)于他們各自的優(yōu)勢(shì)相信大家已經(jīng)基本了解了。我介紹了這么多的語(yǔ)言,大家都掌握其中多少語(yǔ)言呢?當(dāng)然了,學(xué)習(xí)在精不在多,只要熟練掌握一兩門(mén),就能大大提高Web前端開(kāi)發(fā)能力。
你在成為前端工程師之前都是什么專業(yè)出身?
由于收父輩的影響,我大學(xué)專業(yè)義無(wú)反顧的學(xué)習(xí)了機(jī)電專業(yè),本想著出來(lái)直接去工廠工作,吃喝不愁。誰(shuí)知天有不測(cè)風(fēng)云,親戚在的那家廠子收益不好,倒閉了,據(jù)說(shuō)是收煤炭的影響。
之后出來(lái)開(kāi)始找工作,在做了半年,覺(jué)得還是技術(shù)活更加適合自己,又通過(guò)多放打聽(tīng)結(jié)合自己實(shí)際情況,找個(gè)一個(gè)培訓(xùn)機(jī)構(gòu)學(xué)習(xí)了半年前端?,F(xiàn)在已經(jīng)可以帶人做項(xiàng)目了,當(dāng)然不是很大的那種。
學(xué)習(xí)前端什么是最難的?
前端開(kāi)發(fā)是創(chuàng)建Web頁(yè)面或app等前端界面呈現(xiàn)給用戶的過(guò)程,通過(guò)HTML,CSS及JavaScript以及衍生出來(lái)的各種技術(shù)、框架、解決方案,來(lái)實(shí)現(xiàn)互聯(lián)網(wǎng)產(chǎn)品的用戶界面交互。它從網(wǎng)頁(yè)制作演變而來(lái),名稱上有很明顯的時(shí)代特征。在互聯(lián)網(wǎng)的演化進(jìn)程中,網(wǎng)頁(yè)制作是Web1.0時(shí)代的產(chǎn)物,早期網(wǎng)站主要內(nèi)容都是靜態(tài),以圖片和文字為主,用戶使用網(wǎng)站的行為也以瀏覽為主。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和HTML5、CSS3的應(yīng)用,現(xiàn)代網(wǎng)頁(yè)更加美觀,交互效果顯著,功能更加強(qiáng)大。
移動(dòng)互聯(lián)網(wǎng)帶來(lái)了大量高性能的移動(dòng)終端設(shè)備以及快速的無(wú)線網(wǎng)絡(luò),HTML5,node.jS的廣泛應(yīng)用,各類框架類庫(kù)層出不窮。
學(xué)習(xí)Web 開(kāi)發(fā)前端,最大的難處應(yīng)該在于Javascript語(yǔ)言的掌握,Javascript語(yǔ)言非常靈活,易學(xué)難精,要徹底掌握需要大量的練習(xí)和實(shí)踐。另外熟悉了解html、css等知識(shí)??蚣芎蜑g覽器不同也是麻煩的需要應(yīng)對(duì)。
怎樣從前端小白到前端大神?
這個(gè)問(wèn)題等你往深的接觸并有自己一定理解后你可能跟我一樣會(huì)對(duì)整個(gè)前端有新的認(rèn)知。
過(guò)硬的基礎(chǔ)這個(gè)問(wèn)題可能不止一遍又一遍的強(qiáng)調(diào),熟練運(yùn)用( html, css, js)這并不意味著基礎(chǔ)就扎實(shí)了。你是否會(huì)遇到這樣的問(wèn)題: 吐槽自己的代碼為什么沒(méi)有長(zhǎng)進(jìn)?吐槽新的框架出來(lái)了,可我連之前的版本還沒(méi)掌握?嘗試著翻閱源碼奈何根本讀不下去或者只是一知半解?因?yàn)檫@些問(wèn)題都是發(fā)生在我的身上,我嘗試著去擴(kuò)展自己的技術(shù)棧,然后小程序也會(huì),web app也懂,服務(wù)端也略知一二,瀏覽器源碼...... 這些看似有著豐富經(jīng)驗(yàn)的回答,但實(shí)則暴露了一個(gè)問(wèn)題,哪一個(gè)都是只知皮毛。后來(lái)我沉下心來(lái),重拾基礎(chǔ),慢慢的我代碼可以做性能優(yōu)化,源碼似乎也看進(jìn)去了。然后我發(fā)現(xiàn)基礎(chǔ)往深的鉆研,我似乎發(fā)現(xiàn)一樣。接下來(lái)給大家分享一下我的學(xué)習(xí)經(jīng)歷; 依舊是基礎(chǔ),并逐步展開(kāi)。
html重新把 html 知識(shí)點(diǎn)并且重點(diǎn)是 html5 的新特性再過(guò)一遍,對(duì)常用的語(yǔ)義化標(biāo)簽,新增的 canvas,本地存儲(chǔ),xhr,dom,bom api進(jìn)行總結(jié)歸納。然后嘗試著封裝一些 api,對(duì)原始 xhr 進(jìn)行整理等等,對(duì)于這些知識(shí)不需要刻意去弄懂底層實(shí)現(xiàn),只要能夠熟練掌握并可以根據(jù)業(yè)務(wù)做到良好的擴(kuò)展就可以了。
另外,這個(gè)權(quán)威指南看不下去就算了,找其中的重難點(diǎn)知識(shí)進(jìn)行梳理。
css我不知道以后會(huì)不會(huì)出現(xiàn) css4 ,但就目前而掌握 css3 已經(jīng)相當(dāng)不錯(cuò),在前端領(lǐng)域?qū)邮秸莆盏绞值角軄?lái)絕非易事(并不是熟練應(yīng)用各種類庫(kù),插件)。我當(dāng)初學(xué)習(xí)樣式始于興趣,終于瓶頸,不過(guò)目前依舊在學(xué)習(xí)嘛。學(xué)習(xí)樣式最快而且最容易上手的是拿現(xiàn)有模板去實(shí)現(xiàn)交互效果。舉例,以實(shí)現(xiàn)天貓靜態(tài)頁(yè)為依劇,不管你用什么前端框架做輔助( jquery),一定要手寫(xiě),既鍛煉了html,也能快速css,css3。如果遇到難點(diǎn),查閱資料(科學(xué)上網(wǎng)),或者控制臺(tái)查其網(wǎng)頁(yè)實(shí)現(xiàn),然后就往深層挖掘。
然后就是這本書(shū),很有必要讀一讀。
JavaScript前端的核心,從web端,到移動(dòng)端,到客戶端,再到服務(wù)器,都可以看到j(luò)s的身影。你抱怨自己編程能力沒(méi)有長(zhǎng)進(jìn),抱怨源碼讀不懂都和不理解它有密切關(guān)系。js 的類型和語(yǔ)法、作用域和閉包、this 和對(duì)象原型鏈、異步和性能、es6 新特性( promise、proxy)。這些是從基礎(chǔ)到進(jìn)階,每一塊都必須深入掌握,越深越好。
不管你是否造輪子,也或者你正忙于業(yè)務(wù)開(kāi)發(fā),真正阻礙你前進(jìn)的便是這些大山,去掌握它們,鍛煉自己的內(nèi)功。
不管你之前讀的是犀牛書(shū),紅寶書(shū)還是官方web文檔mdn,我現(xiàn)在只想推薦你認(rèn)真讀一下這個(gè)系列。
前面說(shuō)了一大堆關(guān)于基礎(chǔ)的問(wèn)題,前端也不止這些但不管怎么說(shuō)基礎(chǔ)必須過(guò)關(guān)。
類庫(kù)及框架有了基礎(chǔ),相信你應(yīng)該不懼目前的各類框架,mvc也好,mvp也罷,mvvm( vue, angular, react )也都o(jì)k。保持你的深度,然后擴(kuò)展技術(shù)棧,這個(gè)時(shí)候你不用擔(dān)心翻看源碼的問(wèn)題,相信你能快速掌握。
掌握node以前端代表服務(wù)器開(kāi)發(fā)node為主,你不會(huì)陌生,有了基礎(chǔ)什么事件循環(huán)( even loop)、任務(wù)隊(duì)列、異步回調(diào),掌握它們只是時(shí)間問(wèn)題,當(dāng)前這些是 js 引擎和瀏覽器機(jī)制相關(guān)的問(wèn)題。然后就是至少熟悉一種后端語(yǔ)言,數(shù)據(jù)庫(kù)知識(shí)( sql, nosql)。
web api掌握瀏覽器的渲染機(jī)制,緩存機(jī)制,安全問(wèn)題,性能優(yōu)化,網(wǎng)絡(luò)io,同源策略等等
算法和設(shè)計(jì)模式最后補(bǔ)充一個(gè)就是它,提示自己的邏輯思維和編程能力,算法必不可少。掌握設(shè)計(jì)模式通樣可以便于我們對(duì)代碼的掌握,以及性能優(yōu)化,重構(gòu)等工作。
沒(méi)事了也刷刷題訓(xùn)練一下思維能力。
寫(xiě)在最后,說(shuō)了這么多還是想重點(diǎn)提及的是基礎(chǔ)。我也一直在學(xué)習(xí),希望能夠同大家一起進(jìn)步。
網(wǎng)站欄目:學(xué)前端開(kāi)發(fā)需要掌握哪些編程語(yǔ)言呢?(你在成為前端工程師之前都是什么專業(yè)出身?)
網(wǎng)站URL:http://fisionsoft.com.cn/article/cooseod.html


咨詢
建站咨詢
