前端工程師為什麼總分開div+css和js?
01-25
我的意思是人的角色分工上,不是說代碼分開。
為啥不都讓一個人做,或者js學習下css不就可以啦
html css js理應由一個人負責,
因為:
- js直接操作的是DOM, 而DOM由html直接決定, DOM是前端性能的主要瓶頸之一, 如果js開發者不自己控制html, 何談保證高質量代碼?
- 隨著技術發展, 越來越多的效果或交互已經能由css完成, 無論是開發便捷的程度或是性能, 都不遜甚至由於js實現, 開發人員需要清楚的了解css與js的優勢與互補, 採取最佳方案
目前很多大公司將前端拆分成頁面重構(html,css)和js工程師, 個人認為主要是因為這些公司的人員分工較細, 需求量大, 然而國內前端整體供應量較小, 因此只要只要某一方面擅長往往就給招進去了.
但是, 這些公司一定會有一小批人是前後全通, 涉獵廣泛的, 他們的職責就是設計架構並且做好一堆積木. 而這些只會html或js的人, 就只有負責拼積木而已...
另外, 前端絕不只是html, css, js而已css和html本質是定義外觀,js更多的是交互邏輯,兩者思維模式不一樣。設計師上手css還是相對簡單的,叫他做js就很吃力。傳統軟體工程背景過來的前端,你叫他按著設計圖扣像素,他也覺得累。但理想情況下,最好是能兩邊都精通。
css跟ps離的近點,js跟sql離的近點,而ps跟sql離得遠,所以分開了。大多是不分的,因為關注的重點不一樣。
CSS+DIV更注重對HTML tag本身的操作;JS雖然涉及到 HTML tag ,但更注重後HTML tag 操作,也就是說,把 HTML tag 相關信息拿到,經過js一些列的運算,反映到瀏覽器標籤上。一個靜態,一個動態(雖然現在css也能實現動態效果了)
可以一個人做,團隊合作就是這樣分工,提高效率,大牛做 js,然後新來的會做 html+css,而且也不太衝突。
div+css主要是負責渲染部分的辦法,js主要負責操作/通訊方面的邏輯。兩個方面的兼容性問題不一樣,介面也可以很小,所以有分工很正常。
CSS用於定義頁面樣式, 這種工作, 如果非要由一人兼任的話, 我感覺由設計頁面的美工去做更為合適. CSS本身的語法也是偏向於設計師的.
以上扯蛋,CSS最難做的是組織代碼,定義名稱這些東西,對於美工來說,不太容易。因為javascript是編程語言,html和css不是編程語言
div+css也不是很簡單,需要考慮很多兼容性和對JS的介面;
前端開發偏程序方向,沒精力去調整樣式設計。
2個都很牛的就是大拿,前端leader了。如果有這樣的朋友,想創業歡迎聯繫我!剛入門的新手對js這塊較弱,所以大型js項目開發還必須交給專職js工程師或實力較強的後台工程師來完成
容易維護呀,而且js放在最後的話可以避免因為運行js而延緩網頁的載入和渲染速度。不是每個前端工程師都包攬js和div+css的,如果代碼都混在一起,合作開發就蛋疼了。
團隊合作,講究的是效率,這樣一個人干一種自己專長的,效率快,就像汽車一樣,靠一個螺絲一個螺絲拼起來的,要是整個就是一塊鋼板的話,不美觀技術難度要大
據我所了解的矽谷一些熱門創業公司,包括很多大公司中的小團隊,前段都是按模塊分,而不是按照div(html)+css和js分的。
在有設計師(負責視覺效果)的配合下,前端是一個人可控的,而且很多的框架/類庫也是需要兩邊同步進行,在代碼管理工具中的更新,最好是原子的。
另外,有些大案中提到由設計師來做html+css,我覺得還是不太好,因為js的DOM操作極大依賴於html+css的設計。當然設計師最好能有html和css的知識,這樣不至於做出個難以實現或者就算實現了性能也很成問題的界面。但是真的來寫的話,還是讓前端來吧。。。
題外話,還有很多公司/團隊是full stack的,也就是按照功能縱向分,而不是按照架構橫向分。對於小公司來說是少了不必要的分工少浪費人力資源,對於大公司來說就是減少互相依(che)賴(pi)。報社不會叫寫文章的畫配圖吧 除非寫文章那傢伙的美術也很牛B
推薦閱讀:
※教你如何在Chrome下恢復老版本知乎界面
※從培訓班出來之後找工作的經歷,教會了我這五件事
※2017前端技術發展回顧
TAG:前端開發 | JavaScript | DivCSS | 前端工程師 |