說這麼硬的主題不免俗要來篇「免責聲明」,不然又是一片筆戰。
前面多篇漫漫大長篇去陳述微前端的各種細節,我也無法保證我說的一切都是「絕對正確」,架構這種東西不但沒有正確答案,也不斷隨著技術發展而演進,人的知識體量也相對有限。在這種架構議題上很少人願意跳出來討論,每個人歷練、每個團隊的調性、每個公司的文化一切不同,自然會有不一樣的觀點與看法,那會推導出的策略見解也會不一樣,很容易一個觀點導致各方人馬跑出來戰技術。架構這種東西是擁有越多方案才能夠拓展出更多看法,也才能找到更合適公司的排列組合,所以沒有「正確答案」。
前端技術也好,微前端也好,前端技術日新月異,我也努力再學習。微前端只是一個思考模式,隨著系統架構日益增大,我們要去評估應用所要考量的架構日益複雜,挑選技術選型不再是直線般思考。架構這種東西不會有最優解,要尋找的策略的前提是手上要有足夠多的方案。
微前端是個相對冷門小眾的解決方案,目前還沒有一套完善的架構體系可以很好的處理微前端的技術議題。微前端它帶來的技術門檻、學習門檻、架構門檻十分高,解決的場景又不夠大眾取向,很容易導致過程做出很多「Over Engineering」的決策。但這仍然是一塊很值得研究的技術,也很需要去完善並標準化。
目前不要說台灣,連國際上能看到實作微前端的公司少之又少,資訊非常少,也幾乎沒有什麼技術圈在討論這個議題。就算是有碰過的人,都只會將「微前端的開發體驗非常差」,很少會有比較有系統性和方案性的討論。我在研究微前端過程中只能說心酸血淚,與自己公司的 CTO 和同事之前反反覆覆討論,與許多曾經實作過的社群朋友來往討論,進行多次的 POC 與實踐,每一個階段又有另一段新發現和啟發。
希望我這一系列的文章能拋磚引玉,讓更多人看見「微前端」這門技術,一同進行開發、研究、討論。我也期許能有更活躍的社群與討論,可以讓社群良性成長。如果你對於我的技術討論有興趣,歡迎訂閱我任一社群帳號,或是私訊與我做討論。