前端系統要設計什麼?
最近因為周杰倫的演唱會,軟體工程師圈又掀起一波討論大流量系統設計的討論熱度,這大概也是工程師們樸實無華的樂趣與成就感吧!但話又說回來,前端沒有什麼所謂的微服務設計,那對於一個企業來說,資深前端架構師到底要設計什麼系統?
首先,我們要先定義前端有什麼獨於後端的問題,然後再來討論解決方案才有意義。
那前端會遇到什麼問題呢?
- 前端要關心每一包套件的 package size 和整個應用程式同步與非同步的 bundle size,以確保不要有太多流量造成企業和使用者流量的負擔。
- 前端業務端應用程式不容易被拆分,不像後端可以靠微服務去區分功能,前端很難去將功能給拆解縮小,造成管理上很大的困擾。
- 前端 UI 不是單純基於輸入輸出,所以會夾雜極大量的 Context 和體感問題,也是需求改動最為頻繁的地方。這也導致測試難度極高,但換來的效益卻不明顯。
- 是第一步接觸使用者的地方,任何操作細節的實作對於使用者都尤為明顯。特別是牽扯畫面渲染與動畫時,每一點點的時間差都會造成使用者困擾。
- 瀏覽器操作是前端獨有的手段,對於瀏覽器的安全、效能、版本管理相關調效與控制是前端在規劃時必要的考量。
字數有點太多了,後面再來聊聊解決方案。
你認為前端要關心的細節中有什麼我沒有提到的嗎?