目前前端開發者使用JS框架是種很普遍的現象,因為框架可以加快開發速度,同時避免各類浏覽器的兼容性問題。不過同樣是用框架開發,不同開發者的境界水平還是有一定差距,本文將這些前端開發者分為三個等級。
第一種境界:了解各類框架、並熟悉甚至精通某種框架的使用,但並未看過框架代碼、或者並不理解框架核心細節的實現,甚至不清楚框架的設計原理、基本思想、適用場景。這類人的編程思路始終限制在”特定框架“的范圍內,盡管能使用框架寫出滿足需求的代碼。
這種人停留在”會用“框架的階段,他們很在乎各種框架的比較,且一定要對框架分出三六九等。這些人寫代碼的思路始終沒有離開”功能實現“。
第二種境界:精通各類框架,熟讀各類框架源碼,非常了解各類框架的核心功能的細節實現,熟識各類框架的優缺點和適用場景,權衡利弊後理性選擇相對適用業務邏輯的框架,並能根據業務的需要有針對性的修改框架核心代碼使之更加滿足可維護性和性能上的需求,但依然要基於某種框架進行業務開發,框架的范圍依然停留在組織代碼、第一層的抽象和組件的模塊化的范圍內。
這種人停留在”精通“框架的階段。他們的特點是有能力去對框架做有針對性的二次封裝,甚至有些人有能力重寫框架核心代碼,但依然要基於某種框架做擴展和hack。這些人寫代碼的思路始終在”代碼管理和框架級別的抽象“。
第三種境界:異常精通各類框架,同時精通業務邏輯,娴熟的對業務邏輯進行抽象,具備傳統軟件工程師的基本素質,有能力設計業務框架,並根據業務邏輯的需要重寫合適的底層框架。這類人的編程思路已經完全脫離“框架”的限制,達到一種真正自由超然的境界。
這種人已經達到技術方和需求方一致認可的“專家”級別,技術功底扎實、同時精通業務。他們寫代碼的思路已經完全脫離“框架”,並始終圍繞業務邏輯,主要工作即為業務邏輯層面的抽象和接口設計。
那麼,你在哪個境界?