作為一名前端開發工程師,哪門後端語言最適合掌握?
php ? python ? ruby ? nodejs ? java ? 。。。
自己喜歡的,推薦 python
這個話題是無解,如果你只是想雙修好「混飯吃」,那國內學 PHP、Java 目前是比較容易混的。
如果你是想提高自己的水平,接觸未知的世界的話,你至少要「了解」兩門。
一門是 PHP、Ruby 等「傳統」語言,一門是 Node.js。
雖然她們可以做一樣的事,但是工作方式不一樣,Node.js 利用了 JS 的特性,是回調又回調,是並發。而 PHP、Ruby 等語言就不是為並發而生,默認是很傳統地「一次干一件事」。
然後來說 PHP、Ruby 等語言,網頁開發的話,我個人比較推薦 Ruby:
- CoffeeScript 和 Ruby 語法差不多,大多數情況都以函數為核心,如 [].each 和 [].forEach,語法理解上比較有優勢
- Rails 框架。通過這套框架,你可以學到很多,因為包含的東西太多,RESTful API、Scss、CoffeeScript 等等PHP、Java 的框架由於面向對象的緣故,個人覺得理解起來不太輕鬆(我不太喜歡面向對象編程),太冗餘啰嗦。基本都是扯,看你的所在的公司,你公司具備有資源優勢,學其它的,沒有這個優勢。
有興趣可以研究一些函數式語言, haskell lisp之類, js有蠻不錯的函數式支持, 而函數式對你寫出更清楚的代碼很有幫助.
native語言的話建議學個腳本, ruby, python之類的, 平時用來寫一些腳本提高工作效率, 另外學習其他語言可以幫助你更好的理解js本身的優勢與缺陷.
Node.js 是個不錯的選擇,python、php也不錯,哈哈哈。
後端語言的說法,有點籠統。伺服器端的編程,實際工程中需要各種功能,業務邏輯、cache、非同步任務、資料庫, 還需要監控、性能、擴展等等方面的知識。
前端工程師,大部分情況和後端的打交道就是模板層和數據介面;也有少數的團隊,會包含更廣的方面,比如伺服器端前級的業務邏輯。實際情況看,後者會是一個趨勢(因為前端工程師更了解瀏覽器端渲染的時候,需要什麼數據結構。)
所以 描述成「掌握後端編程的一些技能」 比 」掌握後端語言「 其實更合適一點。
Node.js 目前在使用的車間還不多,不過會多起來的。不過前端工程師理解起來,應該還是比較容易的,至少語法障礙這一小關卡不用跨越了,:) 。 (不過其實多了解一個語言,看它的語法、API設計還是很有好處的)。
務實點, PHP , Java , Python 應該是目前最有市場的 . java應該是寫起來最費事的,哈哈哈。
還是想說 語言無關,不過業務邏輯通常是有腳本寫的,各種技術也需要腳本語言粘合,粘合的方法,可能是網路(像資料庫),可能通過擴展模塊(php的c++擴展,node的c++擴展)。你公司後台用什麼,就學什麼。
1. 可以直接了解後台功能,架構。每天接觸最多的代碼是很好的學習工具。
2. 身邊有同事可以直接做指導,很容易繞過學習中的陷阱。3. 直接用項目代碼試手,學以致用。這樣形成一個良好的循環,提升很快。作為前端開發者,首先要掌握的就是HTML+CSS,有了這兩項最基礎的知識,就能得心應手的將設計師的Web頁面切出來(將PSD設計圖轉換成Web靜態頁面)。但這還是不夠的,還需要能熟練的處理各瀏覽器的兼容。為了能更好的要求自己,盡量要讓自己的Web頁面符合W3C標準和語義化的規範。這方面雖然不是硬性的要求,但HTML5培訓認為做好這兩者很有必要,也具有較大的難度。 充分掌握了HTML和CSS方面知識後,接下去要把JavaScript拿下,這也是前端工程師必備技能之一,也算是較難的一部分,只懂HTML、CSS和JavaScript其中一個或兩個還不行,你必須對這三門語言都很熟悉。也不是說必須對這三門語言都非常精通,但你至少要能夠運用它們完成大多數任務,而無需頻繁地尋求別人的幫助。
個人鍾愛JAVA,其思想也是超贊,我是以這個為參考架構的,並不是主要以其OOP特性為參考
前端工程師,如果你對後台感興趣,去掌握也無妨,一般來說,了解就差不多了,理解這麼一個流程
php 也是腳本語言,眾多人認為入門簡單
ruby 也是開發利器,據說也易學,可快速開發也可考慮 GWT 等可以更加專註在前端上面,VML 會做嗎? CANVAS 會用嗎? 有做過非FLASH動畫嗎?推薦閱讀:
※2016 年前端開發領域有什麼趨勢值得關注?
※如何系統的學習nodejs?
※為什麼互聯網公司開始用node.js做web服務的中間件?有什麼好處嗎?
※前端構建工具webpack有什麼缺陷?
※DocumentFragment真的能提高 JS 動態添加 DOM 的性能嗎?
TAG:前端開發 | 程序員 | JavaScript | Nodejs | 前端工程師 |