Java Web框架:asta4d
一個靈感來自Scala框架Lift的Java Web框架。它提供了View First的開發模式,以及代碼與模板分離的機制,是一個對設計師和開發人員極度友好的框架。
在過去十年,基于Java的MVC框架如同雨后春筍一般層出不窮,但都不愿意面對或者解決的問題是,它對前端設計師極不友好,而且,開發效率及其低下,互聯網企業鮮有基于Java,尤其是基于MVC來構建自己的網站,是有深刻的原因的:
1. 對前端設計師極不友好。MVC模式下,可編程的模板語言成為非常重要的角色,而以視覺創造為主要工作的前端設計師,他們熟悉的是HTML和CSS,而嵌入模板文件的各類動態代碼,對他們來說即使不是如同天書,也是及其讓人及其困惑的,當然,他們必然要面對這些內容,因此,傳統的PHP必然成為他們的最佳,因為,這個至少是比較容易讓人理解的。
2. 開發效率低下。互聯網企業的開發通常是快速迭代的,并沒有明確的需求一說,傳統的PHP開發模式之所以受到青睞,就在于它易于變更,開發速度快,MVC模式的開發在這一點基本完敗,因此,很少有互聯網企業會基于Java來構建自己的前端頁面,即使有,也通常是基于JSP的自有框架。
更進一步的,在過去將近10年的MVC歷史中,我們其實一直都被下面的問題困擾著:
1. 前端設計師和工程師一直在抱怨嵌入到頁面的動態代碼讓他們很難對頁面進行大規模的重構,而另一方面,后端開發人員也經常抱怨他們要花很大的精力才能修復前端對頁面的重構帶來的問題。
2. 開發人員經常還會因為模板語言貧乏的功能而飽受折磨。一些特殊的復雜渲染邏輯經常需要富有經驗的開發人員才能寫出極具技巧性的代碼來實現。而這樣的代碼,通常會成為誰也無法理解的魔術代碼。
3. 開發人員對MVC低下的開發效率極度不滿,我們一直在渴望可以有一個更加高效的開發模式。
我們認為,Asta4D提供了對上述問題的完美答案,Asta4D通過分離的模板和代碼向前端工程師提供了最為友好的工作環境,而另一方面,后端開發人員再也不必受到模板語言的折磨,Java將成為他們手中最趁手的武器,而且,View First的模式,將開發人員的效率提升到了前所未有的高度。
更進一步的,Asta4D引入了函數式編程的“副作用”的概念,通過對副作用的隔離,使得頁面的渲染邏輯變得極富彈性,在Asta4D中,多線程頁面渲染是基本的內置功能,開發人員可以輕松的選擇多線程渲染模式而無需擔心線程安全問題。