就以爲最可笑的事情,一方面口口聲聲稱前端不該該被語言侷限,跑過去用nodejs作後端,一方面說前端的進階就應該是懂算法懂底層懂框架懂全部後端要懂的東西作了幾乎全部後端要作的事用nodejs作服務器端渲染還繼續聲稱本身是前端僅僅是由於用了js。前端
你說這羣人是前端工程師都不精準,JavaScript工程師纔是他們最但願本身被認可的身份,別人都在討論在什麼場景下用什麼語言什麼架構什麼框架來解決問題,只有JavaScript的工程師們持之以恆的堅持在各個領域裏JavaScript均可以搞定並且必須是最好的方案。node
因此明確一下,前端是指在用戶端運行的代碼,後端是指在服務器端運行的代碼。算法
你用nodejs作什麼中轉層,你的nodejs只要不是在瀏覽器端運行的,它就歸屬於後端。編程
你能夠說招募一個JavaScript工程師用nodejs來作後端開發,兼作着前端開發,不要再說咱們招一個前端工程師,可是要你去作nodejs了。後端
最不喜歡PHPer和前端er的就是他們永遠都學不會什麼場景下用什麼語言或工具解決什麼問題,一個好的工程師不會是語言的奴隸,後端架構師之因此是架構,在某種程度上就是包含了異構的元素。瀏覽器
你把本身始終束縛在JavaScript的層面上,反反覆覆的去爭什麼JAVA作到的,nodejs也能作到純屬扯淡和賭氣。服務器
前端的進階有兩個方向,橫向來講,去作Android,iOS,vr,動畫,js這些。這纔是真正的大前端,你的領域就應該是在用戶這一方,須要我作什麼,就應該作什麼,這三個部門就應該合併在一塊兒,統一安排,統一規劃。前端工程師
這種橫向發展能夠幫助你更深刻的理解語言的差別,也能夠幫助公司更好的控制成本和進度。架構
縱向發展就是複用性和擴展性。前端變化快,不肯定強,那麼到底有哪些內容是能夠本項目複用,跨項目複用的?能支持到什麼程度的需求變化?框架
這是你的業務,你的架構思想,你的編程能力和視野決定的深度,你的功底越深,抽象能力越好,封裝的越強,寫出來的代碼越賞心悅目。
工程師除了性能,穩定性,擴展性以外,還要考慮的就是開發效率,什麼方法能讓我一天以內完成過去兩週才能夠完成都事情?
算法切頁面不也是一個很開心的方向麼。若是你樂意徹底能夠作這個啊,雖然更偏算法工程師,但你是用它來應用在前端。
也許將來有一天前端工程師的職責就是跳個參數重跑算法和簡單調整。
系統的性能,擴展,複用和研發效率的提高,是前端目前來講最重要的四個方向。
後端來講多了一個穩定,對複用的指望程度略低於前端。
因此這就是前端工程師的技術進階,作出angular這種工程化思惟強烈的框架,大概就是長期期內的努力反向。
單純從業務上來講,就是知道各類框架的底層實現以便快速定製和調試系統研發中出現的問題。
這些足夠花3年到5年以內的時間認真去學習和成長。
而先學會用這些框架每每是初級工程師當前的目標。
【用】,【懂】,【改】,【創】四字真言送給你。
順便附上前端時間討論的朋友圈。
沒打馬賽克,帶着兩位原搜狐好友一塊兒出鏡了。
若是能明白【六色描述法】的含義,緊奔着複用,性能,擴展等目標去,就不會迷失方向。