前端架構變更記

我一開始來公司的時候,公司只有兩個剛畢業的前端,前端也僅僅是基於jquery,那個時候,我還是第一次經歷這種前後端分離的組織架構。開發時間也是大大的高於預期,我很快意識到這種組織結構是弊大於利的。

隨後我做的企業博客項目由於前後端都是我一個人開發,項目時間和進度都和估計的差不多,用時遠遠低於前後端分開開發的時間。

隨後我需要對核心業務進行一次徹底重構,這個時候我們前端想要進步,想用先進的技術組織前端,好吧,我理解。我們看了angular,vue,react ,由於我們的前端是運行在微信端,react首先出局,然後是angular,它那個時候還沒有treeshaking這種精簡前端編譯後代碼的工具呢,另外對於前端來說,angular大量用了後端的思想,入門門檻比較高,也出局了。我們看了一下vue的代碼,確實比較簡單,就採用它了。但是在項目分工上,產生了分歧。前端想後端提供接口,自己開發和調試,但是我想後端提供接口,前後端同時開發,最後後端統一聯調代碼,但是被領導給駁回了。在我的反覆解釋下,他也清楚這樣代碼的開發速度會很慢,但是好處就是讓前端感覺被重視,不會離職。好吧,老闆買單我還說什麼呢!我們開發用了比正常多一半的時間,把這個版本開發出來了。並且最重要的是,沒有人精通全部的邏輯,沒有人能對代碼的正確性負責,只能靠測試。最終我們到年底的時候發現了一個bug,導致我們損失30多萬。導致所有人的年終獎(一個月工資)都被扣了,期權也扣了點。在項目開發的初期,我曾經對前端的代碼評審過,感覺他們是爲了技術而技術,把簡單的邏輯封裝得很複雜,也用了最先進的sass,es6,提出質疑的時候,他們還說這樣寫比較規範,我要求他們改的時候,老闆恰好在旁邊,老闆不懂技術,但是他覺得要以理服人,不要強制。唉,算了我又說服不了人家,只能隨他們搞了,結果就是前端邏輯搞得異常複雜,對於新手來說,入門門檻非常高。

隨着我們業務的發展,我們也融了資,開始了擴張之路。後端招人是比較容易的,但是前端由於vue是比較新的技術,會的人不多,因此招人不是很順利,基本上是自己培養。還有我們老闆要留的前端全部離職了,現在全是新手,導致我們開發一個需求,後端開發完過了3~4個星期都快忘了,前端纔開始和我們聯調。本來我們現在招的人是打算開發一個其他的產品線的,但是全部都用來維護我們的借條業務了。我們今年新加入的合夥人兼cto,已經不寫代碼了,但是爲了我們能提高效率,學習好久的vue技術,但是覺得前端vue的入門門檻太高了,終於說服老闆下定決心,對前端代碼進行重構,採用前後端的邏輯都由後端維護,前端只負責切圖的開發模式。轉型必然是痛苦的,所有前端都反對並且離職。我們重新招了前端,只負責切圖,後端負責實現邏輯。我們重構的前端採用mui+vue多頁面的架構,只用vue基本的mvvm特性,類似freemaker的寫法,加快開發的速度。

這個對於前端開發人員的確是個打擊,但也是真相,一個全棧工程師的開發效率絕不是1個前端+1個後端能比擬的,一個全棧工程師能頂1.5個前端+1.5個後端,成本全在互相的理解和交流上,也就是讓大家對業務理解一致上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章