-
1 # 空自許
-
2 # 小x全棧工程師
是的。
我開發過iOS,Android macOS app的前端開發框架,包括一部分UI部分,非同步訊息處理,對http json,http 圖片的非同步處理,sqlite封裝,一些常用檔案處理,例如圖片cache,日誌模組,音訊編碼解碼,影片解碼,OpenGL,socket 通訊的封裝。iOS和Android都是原生UI為主,不用混合框架。這裡工作量並不算太大,因為都是一套c的程式碼可以在三個系統之間移植,接近UI層的地方,iOS和macOS就用swift封裝提供給UI層呼叫,Android就jna封裝提供給java層使用。
網頁前端:websocket,jq,ajax這些也寫過不少,html/css這些必須懂,可是前端開發框架變化比較大,需要不斷更新,學習有成本,而且受制於瀏覽器,近年儘量避免陷進去。
server 端方面postgres mysql這些資料庫是標配,業務邏輯主要用java開發,也用java的nio開發高併發的通訊程式,也開發過nginx模組,各種指令碼也寫過不少。
運維是一個很大的話題,不可能全部講,只說一個方面:我整個服務端用的服務元件都是透過指令碼原始碼編譯,儘量不依賴系統的庫,因此可以輕鬆在Linux各發行版和bsd之間遷移,軟體的版本也不受限於當前作業系統,因為我就不用系統提供的,這裡包括pcre,openssl,ncurses,libz,libpng,libjpeg,curl,libiconv,Image Magic,nginx,mysql,Postgres,libssh2,ffmpeg及相關的一堆軟體庫。
-
3 # 夢迴故里歸來
按照百科的對全棧工程師嗯定義,全棧工程師是指掌握多種技能,並能利用多種技能獨立完成產品的人。
它強調兩點,一點是全面,掌握多種技能,一方面強調獨立,就是不依靠他人技能做產品的。
從以上兩點總結,全棧需要的技能有如下幾點:
1.產品設計,知道整個產品的核心競爭力。
2.前端佈局,可以根據原型圖做出產品頁面
3.APP 開發能力,可以使用原生或者混生開發,做app 並能上架
4.後端邏輯,前端是皮囊的話,後端就是產品的靈魂,需要能寫後端程式碼
5.伺服器部署,不管是網頁還是APP 都需要伺服器來部署後端程式碼
6.效能最佳化,安全最佳化,程式有問題,不管前端,還是後端,還是伺服器,你都需要找到問題的解決辦法。
全棧工程師和獨立開發者很像,都需要獨當一面,這是一個對廣度要求比深度更高的職業。
回覆列表
全棧至少來說應該掌握伺服器,資料庫,服務端程式語言,前端標記語言和指令碼語言這些技術中的其中一個,還有電腦藍色畫面怎麼修,買什麼型號的手機,無線網連不上怎麼辦等等。
在一般人的眼裡,全棧就應該是這樣,我們程式設計師是無所不能的。
其實一個全棧工程師在我看來,並不是他掌握了多少技術,而是他對出現的問題都能夠有成熟的解決方案。
我見過很多就是這種用php+js+mysql寫了一個專案,就以為是全棧了。實際上遇到問題根本不能解決,解決方案也經不起具體問題的檢驗。
這種全棧,啥的幹,也啥都會,也啥都不會。
全棧在我看來應該是一個key,什麼問題都有對應的value出來,至於這個value是啥,他總能夠解決掉。
人的精力是有限的啊,只能在專一的領域裡努力奮鬥,做到觸類旁通吧,一專多精,打好基礎,打好基礎。