新聞中心
有關(guān)Scala Lift框架

港閘網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
Lift是一個用于開發(fā)Web應用的表達力強大而優(yōu)美的框架。lift強調(diào)安全性、可維護性、可伸縮性和性能,同時使開發(fā)者達到高水平的生產(chǎn)效率。
編輯推薦:Scala編程語言專題
Lift 0.6帶來了以下刺激的新鮮的增強的新特性:
◆支持Scala 2.7.0(這意味著你可以使用Eclipse來開發(fā)lift應用)
◆lift核心類的本地化(謝謝Marius)
◆增強了重定向的支持
◆支持Cookie(而不是使用基礎(chǔ)的Servlet cookie支持)
◆增強了Prepared Statements
◆顯著增強了對JSON的支持和客戶端HTML生成
◆提高了測試和文檔
Scala Lift 0.6發(fā)布時的訪談
08年三月Lift 0.6發(fā)布時,InfoQ詢問了David關(guān)于他開發(fā)lift的動機以及到目前為止他使用Scala的經(jīng)驗。
你可以給我們介紹一些導致你開發(fā)lift的背景經(jīng)驗么?
我做了18個月的Rails開發(fā)和10年的Java開發(fā)。Rails對于Web開發(fā)來說是一個新穎的視角……對于普通任務,Rails是“最便捷”(short path)的方式。它很偉大。但是,我發(fā)現(xiàn)Ruby的動態(tài)類型導致了許多錯誤,并且導致需要95%的測試覆蓋率來保證可靠的部署。不幸的是,為了達到95%的測試覆蓋率,我的代碼數(shù)量(包括測試)激增到接近Java代碼數(shù)量的水平。而且,因為Rails在開發(fā)、測試和部署的時候“總是改變事物”(Rails動態(tài)改變它的方法),即使有出色的測試覆蓋,還是經(jīng)常出現(xiàn)部署事故。上述情況再加上aMRI Ruby實現(xiàn)的緩慢和不穩(wěn)定以及開發(fā)社區(qū)的漠不關(guān)心,我決定“另尋出路”。我無意中碰到了Scala然后立刻認識到它就是我正在尋找的語言。Scala擁有所有我喜歡的Ruby的語言特征和所有我喜歡的Java的語言特征。對我來說,這是一個“把你的花生醬放進我的巧克力”的時刻。
什么因素使得Scala成為構(gòu)建一個Web框架的偉大環(huán)境?
句法。性能。穩(wěn)定性。一個僅當你需要的時候才出現(xiàn)的優(yōu)秀的類型系統(tǒng)。閉包。模式匹配。內(nèi)建的XML語言支持(XML literals)。Actor[譯注:Scala的基本并發(fā)構(gòu)造]。很難說什么是決定性因素。
lift與Rails以及Seaside或者其他Java框架例如Structs或者Spring的區(qū)別是什么?
像Rails一樣容易而簡明。
像Seaside和Wicket一樣安全而正式。
類型安全但不像Struts一樣冗長。
支持允許多人合作的“實時”應用。
所以,你可以飛快地構(gòu)建巨強大的應用(就像Rails),但是你不必把所有的狀態(tài)一股腦地扔進一個關(guān)系數(shù)據(jù)庫中。狀態(tài)是“活的”而不是凍干的,這使得寫從前端訪問數(shù)據(jù)庫表的應用非常地不同以往。
你可以描述一下你在生產(chǎn)環(huán)境中部署lift的經(jīng)驗么?你看到的性能如何?
我對lift應用做了許多基準性能測試。lift的渲染管道簡明扼要,而且lift在標準的web容器中運行。這意味著你可以得到與良好開發(fā)的J2EE應用相同的性能。對于數(shù)據(jù)庫無關(guān)的頁面,lift的渲染時間通常低于1秒。對于需要訪問數(shù)據(jù)庫的頁面,頁面渲染時間與數(shù)據(jù)庫訪問相關(guān)。在一個Amazon EC2實例上(1.7Ghz Intel處理器,2GB內(nèi)存),我可以支撐每秒500+的頁面訪問,其中50%的頁面要訪問數(shù)據(jù)庫,而且MySQL實例與Web應用運行在相同的服務器上。
你如何看待lift與現(xiàn)存的Java應用配合工作,或者在混合語言環(huán)境(例如JRuby)中工作?
lift與現(xiàn)存的Java代碼配合工作的非常好。lift的RabbitMQ和XMPP支持是基于Java庫的。Scala可以100%無縫的調(diào)用Java代碼。Scala可以100%無縫的實現(xiàn)Java接口,繼承Java類。它就是可以工作。至少有一個lift項目,其中l(wèi)fit和Spring在同一個WAR文件中共存。我的第一個Scala應用是一個Servlet容器。"它就是可以工作"讓我松了一大口氣。
Scala Lift框架1.0版發(fā)布時的總結(jié)
在Lift 1.0版本發(fā)布(09年3月)時,David Pollak 說道:兩年前的今天,我上線了Lift web 框架,這是一個開源項目,這是一個長久而充滿樂趣的經(jīng)歷。今天,很多Lift新功能得到確認,Lift社區(qū)非常高興宣布Lift 1.0 發(fā)布了。
Lift是一個非常優(yōu)雅的web框架,基于Scala編程語言,使用Apache 2.0 license許可發(fā)布。Lift 提供開發(fā)者最好的方式創(chuàng)建交互的,高性能的web應用?;贚ift 的應用能夠部署為WAR文件進入 J2EE 容器,類似Jetty, Tomcat, 和 WebLogic?;贚ift 的應用擁有高性能和能夠使用你現(xiàn)存的Java庫。
◆Lift 的Comet 和 Ajax 支持能夠讓開發(fā)者創(chuàng)建實時交互應用
◆Lift 的簡潔的代碼允許開發(fā)者能夠極大的提高開發(fā)生產(chǎn)力,類似Rails 和 TurboGears
◆Lift 提供高性能 和 擴展能力
◆Lift 內(nèi)建支持REST 和其他 web services
◆Lift 使用Scala 的類型安全 type-safety ,所以你的測試只需要集中于 業(yè)務邏輯
以上功能是不是很酷?但是這并不是Lift 最讓人印象深刻的,Lift 是由一群對創(chuàng)建偉大的web開發(fā)工具和 web應用的 開發(fā)者和使用者社區(qū)創(chuàng)造出來的。所以 Lift 強大,因為使用 創(chuàng)造,開發(fā),使用Lift 的人們很強。Lift 社區(qū)是一個非常優(yōu)秀的社區(qū)。
讓人興奮和好奇的是Scala 一直在迅速成長,所以能夠看到 Lift 1.0 正式發(fā)布,這是一個里程碑,也是證明Scala 作為一個軟件平臺已經(jīng)成熟了!
網(wǎng)頁題目:ScalaLift框架的花生醬放進巧克力之路
分享網(wǎng)址:http://m.fisionsoft.com.cn/article/djhhcpo.html


咨詢
建站咨詢
