Google Sitebricks Web Framework
JSF和Wicket主要隱藏了Http,把Http打入了底層,用桌面的設計思維如: Events, components 和widgets 來和使用者的點選事件互動。而Sitebricks直接基於Http,類似REST精神,暴露Http,而不是隱藏。
我個人以前在帖子裡也嘀咕過JSF這種模式,現在都是WOA,都在向Web學習, 而JSF則是讓Web向桌面Swing學習,倒行逆施吧,Web世界是多大的一個資訊科技世界,不是你幾個SUN公司或 IBM公司以及微軟所有天才設計師加在一起就能抵得過的。但是我們更多企業程式設計師屁顛顛參加這些IT廠商 的各種所謂技術釋出會,被一些忽悠概念誤導,真正技術就很簡單,就在你每天使用的瀏覽器中。
我在Spring被收購時,也指出其一個缺點,就是沒有跟上REST大勢,果真現在很具有RESTful的Web框架終於出來了,雖然我們更看好基於RIA的Restful的Web框架,不過Sitebrick探索也讓我們感覺非常有衝擊力。
Sitebricks = MVC + RESTful + Google Guice
用Sitebricks寫一個MVC的Controller如下,很類似REST框架的Resource類:
Sitebricks的 templating layer建立類似面向功能語言functional language, 允許你以一種簡單明瞭方式進行頁面組合Compose。每個頁由 Html模板和POJO兩個部分組成。如:
Sitebricks作者指出了現有Web框架陷入了怪異的誤區,導致Javascript等AJAX無法正常順利使用(左撇子),而Sitebricks由於基於乾淨的html,所以對AJAX能很正常支援,這也是我至今喜歡用Struts1.x的原因,它簡單的Jsp/html頁面和Javascript能夠天然融合。
所以,盲目跟風,最後反覆傷害的是自己,表面上,自己學習了一個新框架使用,其實可能是學了一個垃圾,浪費精力,有這個時間少加點班,多陪陪家人女朋友呢。關鍵是要有自己的架構主見思維,可惜不以為然人太多。
Sitebricks目前處於alpha版本,雖然沒有正式版本,但是至少讓我們明白現有表現層框架Struts 1/2 JSF和Wicket的不足:
我個人以前在帖子裡也嘀咕過JSF這種模式,現在都是WOA,都在向Web學習, 而JSF則是讓Web向桌面Swing學習,倒行逆施吧,Web世界是多大的一個資訊科技世界,不是你幾個SUN公司或 IBM公司以及微軟所有天才設計師加在一起就能抵得過的。但是我們更多企業程式設計師屁顛顛參加這些IT廠商 的各種所謂技術釋出會,被一些忽悠概念誤導,真正技術就很簡單,就在你每天使用的瀏覽器中。
我在Spring被收購時,也指出其一個缺點,就是沒有跟上REST大勢,果真現在很具有RESTful的Web框架終於出來了,雖然我們更看好基於RIA的Restful的Web框架,不過Sitebrick探索也讓我們感覺非常有衝擊力。
Sitebricks = MVC + RESTful + Google Guice
用Sitebricks寫一個MVC的Controller如下,很類似REST框架的Resource類:
@At("/blogs") //URL public class Blogs { private Blog newBlog = new Blog(); private List<Blog> blogs; @Post //http的POST操作 public void postEntry() { ...save(newBlog); return "/blogs"; //重定向到 '/blogs' as a GET ,就是下面這個方法} @Get //http的GET 返回Blog列表 public void listBlogs() { this.blogs = .. ; //fetch from store } } |
Sitebricks的 templating layer建立類似面向功能語言functional language, 允許你以一種簡單明瞭方式進行頁面組合Compose。每個頁由 Html模板和POJO兩個部分組成。如:
<html> <body> @ShowIf(true) <p>${message} from Sitebricks!</p> </body> </html> |
Sitebricks作者指出了現有Web框架陷入了怪異的誤區,導致Javascript等AJAX無法正常順利使用(左撇子),而Sitebricks由於基於乾淨的html,所以對AJAX能很正常支援,這也是我至今喜歡用Struts1.x的原因,它簡單的Jsp/html頁面和Javascript能夠天然融合。
所以,盲目跟風,最後反覆傷害的是自己,表面上,自己學習了一個新框架使用,其實可能是學了一個垃圾,浪費精力,有這個時間少加點班,多陪陪家人女朋友呢。關鍵是要有自己的架構主見思維,可惜不以為然人太多。
Sitebricks目前處於alpha版本,雖然沒有正式版本,但是至少讓我們明白現有表現層框架Struts 1/2 JSF和Wicket的不足:
http://code.google.com/p/google-sitebricks/
INFQ採訪錄:
Google Sitebricks Web Framework - Q&A with Dhanji Prasanna
[該貼被banq於2009-09-28 15:06修改過]
[該貼被admin於2009-09-28 16:05修改過]
相關文章
- Google Web StarterGoWeb
- 快速web開發框架——learun frameworkWeb框架Framework
- 高效能Web框架Zend FrameworkWeb框架Framework
- TreeFrog Framework(C++ web framework, based on Qt)開發環境搭建FrameworkC++WebQT開發環境
- Google與Web創新GoWeb
- Google如何統治WebGoWeb
- .NET Framework 4.8 Web API+Entity Framework(實現增刪改查)FrameworkWebAPI
- 一起寫個 WSGI Web FrameworkWebFramework
- WEB.DEV – Google SEO 工具WebdevGo
- Google Web Fundamentals 配置筆記GoWeb筆記
- 試用Google的picasa webGoWeb
- sbt建立play framework(play!)scala web專案FrameworkWeb
- .net Framework Web Api 實現多國語FrameworkWebAPI
- Google 是如何構建 Web 框架的GoWeb框架
- 國產paozhu c++ web framework 正式版釋出C++WebFramework
- SharePoint Framework 向web部件中新增外部庫FrameworkWeb
- 如何在Google Web Toolkit環境下GetshellGoWeb
- 686K TPS with Spring Framework Web App and VoltDBSpringFrameworkWebAPP
- Spring Boot整合Google Bard - Web介面訪問Google AI聊天機器人Spring BootGoWebAI機器人
- Google Web Toolkit(GWT)-各位高手談談看法啊!GoWeb
- Gear: 一個 Go web framework 的設計思考和討論GoWebFramework
- 向Google學習打造靈動的web體驗GoWeb
- SharePoint Framework 構建你的第一個web部件(三)FrameworkWeb
- SharePoint Framework 構建你的第一個web部件(一)FrameworkWeb
- SharePoint Framework 構建你的第一個web部件(二)FrameworkWeb
- 求助:Spring web framework(jpetstore)中幾個簡單的問題SpringWebFramework
- Google I/O 2018 : Web 現狀綜述GoWeb
- Node with React: Fullstack Web Development 課程手記(二)——Google OAuthReactWebdevGoOAuth
- Google Web應用開發指南第一章:什麼是Web應用?GoWeb
- 基於.Net Framework 4.0 Web API開發(2):ASP.NET Web APIs 引數傳遞方式詳解FrameworkWebAPIASP.NET
- 實現Google帶截圖功能的web反饋外掛GoWeb
- Google Web App開發指南第三章:案例研究GoWebAPP
- Entity Framework Tutorial Basics(20):Persistence in Entity FrameworkFramework
- Entity Framework Tutorial Basics(2):What is Entity Framework?Framework
- 改造動態framework為靜態frameworkFramework
- Google Web App開發指南第四章:構建優秀的Web AppsGoWebAPP
- XNA FrameworkFramework
- .NET Framework 4 和 .NET Framework 4 Client ProfileFrameworkclient