先後端分離實際容易產生的問題

先後端分離如今火了不少年,在實際中新技術的使用通常是先在一些大廠中採用,好比在招聘網上大廠的前端招聘node要求比較高,而在中小型廠中對node的要求只是會用webpack打包工具以及npm包管理就能夠了。最近幾年傳統公司、中小型公司開始構建先後端分離模式,先後端分離的好處網上文章不少,簡單說前端能夠專一前端的開發,後端專一後端開發,開發效率和質量都會獲得提高,但在實際項目組中由於不少leader資歷比較老,思惟方式仍是傳統的軟件開發的思惟,因此構建出來的團隊只是先後端分離的形。我分享下我轉前端以來待的3家公司先後端分離模式踩的坑,也本身整理總結下先後端分離模式中要提早作好的協調和準備。前端

正式轉前端,第一次接觸先後端分離

我以前是作.net,作的項目大部分是後臺管理系統,那時候沒有分前端後端,通常是一個功能從數據庫到前端一塊兒作,因此工做按時間分佈一半時間敲C#代碼一半時間寫js,那時候後臺管理對頁面美觀的要求不高考慮開發效率因此通常都是用extjs、jQuery easyUI以及後面出來的bootstrap把樣式封裝好了,只要用裏面的組件拼接頁面實現業務邏輯就能夠了。但隨着C#在市場的需求愈來愈少,開始感受到危機,考慮要不要轉行。那時候在開發羣認識一個大佬招前端Vue,當時Vue剛出來沒多少久,很難招到人只能改變招聘要求找原生js基礎相對比較好的,就這樣我進入了這家創業公司也正式進入全職前端行業。這家公司後端3我的前端3我的,先後端的比例1:1。vue

由於團隊不大並且先後端框架都是開發老大搭建的,對前端和後端都有所瞭解,因此先後端合做的矛盾沒有那麼突出,但也有些問題和矛盾,這些矛盾在我後面兩家公司凸顯的更加明顯。node

  • 接口文檔在開發的哪一個階段出來。這家公司的模式是邊開發邊出接口文檔,也就是開發完一個出一個,這種方式的缺點在後面詳細說到,由於團隊不大因此致使的現象不突出,沒有成爲開發效率的主要限制因素,但也會出現前端沒事情作等後端接口文檔,開發完以後前端bug比後端多一些。webpack

  • 用前言vue1.0開發,開發中不少不方便和坑,2.0作了不少優化,太注重組件的複用,想把全部差很少的都封裝成一個組件致使if太多太過複雜難以維護。程序員

最後由於產品一直上線不了加上公司內部結構問題產品和研發各類甩鍋掙權,產品掙權成功佔主導,研發陸續走人崩離瓦解。web

傳統思惟公司,先後端正式開戰

第二家公司的開發模式比較傳統,由於後端的發展歷史比前端長不少,複雜度都比前端多這是事實,項目重點業務部分和數據庫都是在後端,因此通常都是後端的當研發技術老大無可厚非,若是老大隻作事後端的開發沒怎麼接觸過前端,前端在公司狀況相對後端會差些。
先說說這家公司研發組織結構到我在職的後期,後端13人左右平均工做年限3~4年左右,前端8人左右平均工做年限1~2年左右,也就是後端大部分是3年以上的,一兩個是1年左右的,前端大部分是1~2年左右,這些當中不少是非計算機專業後面培訓轉前端的,一些是剛畢業的。我雖然工做3年以上,但作全職前端也纔不到兩年。由於這種人員結構,後端都是老油條(其中有幾個脾氣不大好),前端都是剛畢業沒多久的小鮮肉(比較內向害羞),聯調的時候可想而知後端是大爺前端是跟班。數據庫

說說我我的感受這家公司開發中存在的問題:npm

  • 接口文檔在開發的哪一個階段出來,接口文檔出來的時間點也是和上家同樣,可是由於工做量大、團隊大致使這點是開發效率的主要限制因素和後面出一系列矛盾出現。直接致使的問題是開發前期前端只能作靜態頁面,中期一直在等後端出文檔,有些比較負責的前端就會不停的追問找對應模塊的後端,問他打算這塊返回的數據格式是什麼樣的。因此常常看到有幾個前端常常日後端跑,後端有點煩沒好氣的說我如今沒空或者心情好點話就講一下。bootstrap

  • 由於寫完接口出文檔,致使快到提測時間節點上是前端最忙的時候要敲後續的處理數據相關的代碼,由於時間比較緊因此先把大概功能處理完就提測,致使測試那邊反應前端不細心,細節問題一大堆。後端

  • 基於上面緣由,老闆詢問項目進度每次都是後端作完了,前端沒作完,說前端進度慢,bug還多,前端背鍋。

  • 程序員天生抗拒寫文檔,因此常常出現文檔字段說明不詳細(遇到牛逼的理由是看英文單詞就知道什麼意思啊),前端字段理解沒到位因此常常出現字段綁定問題的bug。

  • 人的天生惰性,聯調前端調用後端接口,測試接口都交給前端,後端寫完就無論了。

  • 業務處理的先後端分工不明確,主要看後端領導的性格,後端領導在公司地位高些,後端領導是怕麻煩那種性格,麻煩的處理前端能作居然給前端,前端不能作纔給後端作,沒考慮過瀏覽器的處理能力、帶寬限制、安全性因素(討論中後端老大曾說也不會把瀏覽器搞死機,也就是隻要瀏覽器不死機就行)

  • 前端團隊平均技術水平不高(畢業不久的佔比大)

  • 先後端溝通成本較大,後端不少沒作過前端,前端不少沒作事後端,溝通解釋時間較長,前端對項目的業務邏輯理解不深,後端對接口文檔不重視不知道接口文檔對前端的重要性。

後面屢次向上反映沒有什麼改善,後端以爲先出文檔作不到後端老大一直不以爲這是很大問題,最後選擇離開。

佛系公司,提高本身才是王道

如今就任的是一家上市公司背景的分部,工做節奏有點慢,先後端分離也有接口文檔出來時間問題,文檔字段描述不清楚的問題,但由於節奏慢因此問題沒那麼突出,前端壓力沒那麼大。並且項目負責人比較nice能接收別人建議的人,但改變是按部就班,在這家公司感受我的佛繫了不少。在公司很閒適合養老,固然不少會說養老公司趁早出來,通過思考我留下來有如下緣由:

  • 剛換了一家立刻又走頻繁跳槽有點累。

  • 每家公司或多或少都會有點問題,但換了幾家都是這種問題說明本身的技術就只能找到這種公司,進不了要求更高的公司,接着換公司也解決不了問題,提高本身的技術纔是關鍵。

  • 業務代碼很少恰好能夠多看看書,看看網上一些好的插件的源碼來提高本身。

  • 年紀大了,有點中年危機,常常聽吳軍的《谷歌方法論》,其中提到it年紀大沒有競爭力是由於格局和能力沒有隨着年齡一塊兒增加,想着這段時間多看點書多學習提高本身的技術水平和思惟方式。

相關文章
相關標籤/搜索