Hasor是一套基于 Java 語言的分布式應用程序開發(fā)框架,它的核心設計目標是提供一個簡單、且必要的環(huán)境給開發(fā)者。區(qū)別于其它框架的是 Hasor 有著自己一套完整的體系,無論您是一般的Web項目,還是幾百人團隊中復雜的分布式系統(tǒng)。Hasor都會給予你最有力的支持。
Hasor 是一款基于 Java 語言的應用程序開發(fā)框架,它的核心設計目標是提供一個簡單、且必要的環(huán)境給開發(fā)者。開發(fā)者可以在此基礎上,通過 Hasor 強有力的粘合機制,構建出更加完善的應用場景。同時 Hasor 的各種內置插件也會幫助開發(fā)者進行快速開發(fā)。而所有內置插件,在初始化的時都做了智能加載,只有用到了它們才會被加載到框架中。否則這些內置插件在初始化期間就會放棄加載自己。基于目前 Hasor 內核上已經發(fā)展出 DB、Web、Restful 三大基礎框架。
Hasor 提倡開發(fā)者充分利用編程語言的優(yōu)勢進行三方整合和模塊化設計。同時 Hasor 也主要是通過這種“ 微內核+插件 ”的方式豐富開發(fā)所需的所有功能。
決定避開 COC 原則的原因是, COC 雖然已約定的方式降低了整個框架的設計復雜度,但同時也最大限度的犧牲了框架的靈活性。缺少靈活性的框架在應用場景上會受到極大的制約。而 Hasor 的設計則更加面向底層,因此需要更多的靈活性。
Hasor 強大的靈活性表現(xiàn)在模塊整合能力上,對于某一個領域開發(fā)方面 Hasor 依然強調并力推 COC 。小而美的核心,大而全的生態(tài)圈是 Hasor 的目標。
Hasor 起源于2012年,并在2013年初具雛形。當時尚未開源,并被應用到公司個大項目中。那個時候 Hasor 還是基于Guice構建,并且整合了Spring JDBC、Guice Servlet等大量三方框架。還有少量自建功能,例如:WebMVC。當時整個框架還未從軟件產品中完全剝離出來,其中最基本的要素經過打包會產生約 130MB的 JAR包依賴。與目前相比顯得無比臃腫。
隨后2013年開始,通過對整套框架的重新梳理。 Hasor 才得以從項目中脫離出來成為獨立的框架,依賴也隨時聚減。同年開始計劃開源版本的實現(xiàn),也就是如今的 Hasor 。
2013年9月15日,0.0.1版本,第一個版本被推送到Maven中央倉庫, Hasor 的雛形被確立,Module化的插件概念被提出,依賴減少到只有Guice和slf4j。
2014年7月26日,0.0.9版本被推送到Maven中央倉庫。經歷多個版本迭代最后一個核心依賴Guice也被去除。而此時 Hasor 已經擁有了Web、JDBC、和完整的數(shù)據(jù)庫事務能力。在這個階段中 Hasor 曾經在Guice、Spring之間搖擺不定,也對未來的路線和定位發(fā)生過幾次重大的改變。
2015年7月3日,1.0.0版本發(fā)布,這是一個里程碑。首先 1.0 開始 Hasor 許多零碎的項目合并到了一起(all-in行動),同時 Hasor 的發(fā)展方向和目標也更加明確。同年11月27日,2.0版本發(fā)布。 Hasor 確立了“小而美的核心,大而全的生態(tài)圈”的目標。
2016年8月18日,2.4.3版本,經過持續(xù)的沉淀、整合、優(yōu)化。 Hasor 越來越穩(wěn)定可靠,基于2.4版本 Hasor 開始孕育全新的子項目 Hasor-RSF (分布式RPC)。