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