在企業為開發應用程序選擇框架時,都希望能選中一款最佳框架,這要就需要在以下幾個標準之間找到最佳的折衷方案:
1. 適用范圍 —— 框架可以開發應用程序的哪一部分?需要一組框架還是只需要一個?
2. 開發速度 —— 開發速度能有多快?
3. 可管理性和靈活性 —— 框架的體系結構、性能和其他限制。
框架的分類
將上述標準與各個類別的一套特點突出框架相結合,得出了如下結果:
高級編程語言或“無框架”方法
這種“沒有框架”的方法是一個退化的案例,它提供了最廣泛的適用性和最高的可管理性和靈活性。顯然,這也是企業開發應用程序最慢的方法,所有的組件都需要您重新手動創建。通常,這一級別用于構建使開發速度更快的框架。
狹隘的框架
這一類中具有代表性的框架很多。它們都旨在通過提高抽象層次,為其領域提供一個明確的API來簡化某個特定的、非常小的領域的開發。捆綁ORM、中間件、用戶界面、消息和其他類型的框架并不是一件容易的事情。然而,在這個類別中,框架都具有令人滿意的開發速度和高度靈活性。
代碼生成器/聚合器
這一類的框架旨在加快應用程序開發的早期階段。事實上,它們基于窄集中的框架來配置您的應用程序。以JHipster為例,它將使用基于生成Spring的應用程序,來生成一個基于Angular的用戶界面。在啟動階段之后,使用這樣的框架的價值并不大。
高層次的全堆棧框架
這一類介紹了針對窄焦點框架的下一個抽象層次。因此,在這一層您已經擁有了一個完整的基礎架構,可以更快地構建全面的企業應用程序。以CUBA平臺為例,它提供了用于構建三層應用程序的全棧體系結構,其中包括軟件刪除、數據感知組件、文件存儲以及高級模塊等廣泛使用的企業應用程序通用功能:認證和授權、數據審計等。這一類最適合開發ERP類系統、業務應用程序或企業級定制軟件。
低/無代碼框架
在這一階段,您完全失去了對代碼庫的控制,只能在預定義的擴展點中開發少量的邏輯。因此,如果這樣的框架在性能、部署選項、UI組件、集成等方面滿足您的要求,這將是配置您的應用程序的最快方式。但您可能無法跨越架構限制。
寫在最后
在為企業選擇合適的應用程序開發框架時,首先要解決權衡問題,并找到適合要求的適用范圍、開發速度、靈活性和可管理性的組合。一旦解決了這個問題,就將能夠專注于在正確的類別中選擇框架。
最后,筆者提供了一個框架類和典型應用的表,以供企業選擇。