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

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


咨詢
建站咨詢
