日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
致PlayFramework開(kāi)發(fā)者們的一封信

親愛(ài)的朋友們!

西寧網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站開(kāi)發(fā)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

一個(gè)小事實(shí):

Scala遜斃了。好吧,我承認(rèn)這個(gè)語(yǔ)言或許被捧上了天,但是編譯它而產(chǎn)生的昂貴的時(shí)間花費(fèi)也是不爭(zhēng)的事實(shí)。整整13秒!這還是在做了微調(diào)將其變成模板以后!我自己為了優(yōu)化編譯而專門(mén)分配一個(gè)分離式服務(wù)器,最終將編譯速度提高到了5秒——但是這仍然是很大的時(shí)間花銷!我們已經(jīng)嘗試使用別的平臺(tái)了!

一個(gè)大謊言:

“Play框架讓網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)更簡(jiǎn)單!無(wú)論是Java還是Scala”

事實(shí)是:“Play框架讓網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)更簡(jiǎn)單——僅僅對(duì)于Scala,如果你使用Java……那么,好吧,讓神明賜予你力量吧!”我一會(huì)兒再討論這個(gè)問(wèn)題。



伯樂(lè)在線配圖

我的故事

當(dāng)我剛聽(tīng)說(shuō)Play框架的時(shí)候,我打開(kāi)了官方網(wǎng)站,并觀看了1.x版本的介紹視頻!額滴個(gè)神??!就是它!我當(dāng)時(shí)就認(rèn)準(zhǔn)了!我安裝了Play框架,在我的電腦上實(shí)現(xiàn)了所有教學(xué)視頻里的例子,并根據(jù)我當(dāng)時(shí)正在做的項(xiàng)目,迅速地寫(xiě)出了一份開(kāi)發(fā)文檔。

整整一個(gè)月的時(shí)間,我都在嘗試說(shuō)服老板,在新的項(xiàng)目中使用Play框架,因?yàn)樗任覀冊(cè)谑褂玫乃锌蚣芏几鼉?yōu)秀!最后我做到了!像變戲法一樣,迅速地改變了一切。

但是現(xiàn)在,當(dāng)我們已是到新的項(xiàng)目將使用Play 2框架時(shí),我的同事們臉都變綠了,并且我無(wú)法找到任何借口——來(lái)解釋Play 2跟Play 1完全不是一碼事。如果我自己都不理解Play 2是如何工作的,那我怎么去幫助我的同事呢?

快速細(xì)化

我之所以喜歡Play 1.x版本,是因?yàn)樗乃俣取_@里不是指它的運(yùn)行速度快(隨著電腦速度的更新,人人都能做到速度快),而是它的細(xì)化速度??蚣艿囊磺卸际侨绱说拿艚莺秃?jiǎn)單。而在2.0版本里,這一點(diǎn)簡(jiǎn)直就是煎熬。2.0版本丟棄了1.0的結(jié)構(gòu)和成果,反而去尋找另一種方法,實(shí)現(xiàn)那些本來(lái)在1.0中可以輕松搞定的事情,而且還是以好幾種模式去做。

Scala

我是一個(gè)Java開(kāi)發(fā)者。那么我為什么要去學(xué)習(xí)用Scala語(yǔ)言來(lái)制作一個(gè)基礎(chǔ)模板呢?我僅僅就是需要一個(gè)模板而已!只不過(guò)是一種格式化輸出信息的方法。它能編譯當(dāng)然很好!但是如果為此我就需要花費(fèi)大量的時(shí)間去處理細(xì)化,而且絕大多數(shù)時(shí)間還是在干等,那我編譯它有個(gè)鬼用?

也許在美國(guó),你們編譯Scala代碼,但是在我們俄羅斯,Scala是在編譯你!

這感覺(jué)真是相當(dāng)不好!

為了說(shuō)明一些最簡(jiǎn)單的事情,我不得不在Google groups上發(fā)帖,因?yàn)檫@里沒(méi)有任何的相關(guān)信息。

我無(wú)法再模板中設(shè)定一個(gè)變量,這個(gè)變量我會(huì)在后面的循環(huán)中用到。

對(duì)于這樣一個(gè)需要我去“征服”的模板引擎,要它何用?

 
 
 
 
  1. [error] /home/romka/projects/ponominalu/target/scala-2.9.1/src_managed/main/views/html/event.template.scala:156: '(' expected but ')' found.
  2.  
  3. [error]                                                                                                 """),_display_(Seq(/*123.14*/for)),format.raw/*123.17*/(""" ((sector,i) <-subevent.sectors.zipWithIndex) """),format.raw("""{"""),format.raw/*123.64*/("""
  4.  
  5. [error]                                                                                                                                 ^
  6.  
  7. [error] /home/romka/projects/ponominalu/target/scala-2.9.1/src_managed/main/views/html/event.template.scala:421: illegal start of simple expression
  8.  
  9. [error] """)))})),format.raw/*388.2*/("""
  10.  
  11. [error]       ^
  12.  
  13. [error] two errors found

呃,我應(yīng)該如何根據(jù)這些輸出查找錯(cuò)誤?別告訴我說(shuō)錯(cuò)誤在156行。這些破信息怎么能幫助我理解發(fā)生了什么?他們就是一大堆額外的空白字符!

模板中的數(shù)據(jù)轉(zhuǎn)換又怎么樣呢?

在我把所有數(shù)據(jù)轉(zhuǎn)換成模板形式之前,我應(yīng)當(dāng)使用@Before標(biāo)注。比如我要在每個(gè)頁(yè)面顯示菜單,現(xiàn)在我必須把所有的菜單數(shù)組在每個(gè)模板調(diào)用中轉(zhuǎn)換一下,然后在每個(gè)調(diào)用里面再通過(guò)原始類型傳參,這么做不是多此一舉么?

語(yǔ)言轉(zhuǎn)換

你可以說(shuō)Scala語(yǔ)言是未來(lái)發(fā)展的方向(但是我懷疑在短期內(nèi)可能無(wú)法提升其編譯的速度,不過(guò)這些都OK)。那么嘗試創(chuàng)新,但是不要企圖替代!你認(rèn)為Eban比Hibernate更好?——只有熟悉Ebean的人才會(huì)這么認(rèn)為吧!

假設(shè)在日本開(kāi)一家餐廳,你嘗試著用叉子代替筷子(因?yàn)橛袕V泛的觀點(diǎn)認(rèn)為,叉子比筷子更有利于進(jìn)食),然后看看這會(huì)不會(huì)成功吧。
向后兼容性永遠(yuǎn)是Java語(yǔ)言的根基,這也就是Java版本為什么演進(jìn)緩慢的原因,舊的程序在新版本中運(yùn)行不會(huì)出現(xiàn)問(wèn)題。

你取消了的War包的創(chuàng)建,那我怎么把程序部署到Tomcat里?你通過(guò)修改 org.apache.commons.lang.StringEscapeUtils.escapeHtml(text)包來(lái)增加輸出文字處理功能。很好! 但是這樣就會(huì)把文字搞得亂七八糟,比如像:

 
 
 
 
  1. Сыновья

這樣。

為了關(guān)掉額外的文字處理,我必須編輯Templates.scala并可能產(chǎn)生重新編譯(說(shuō)實(shí)話我還真不會(huì)手動(dòng)編譯)。如果Play框架的版本更新了,我又得重來(lái)一次。

結(jié)  論

現(xiàn)在,Play已經(jīng)成為了我脖中之刺!如果剛一開(kāi)始它是一個(gè)又簡(jiǎn)單又快速的開(kāi)發(fā)框架,那么如今它已經(jīng)發(fā)展到和其他許多框架一樣臃腫和笨重。也許它能吸引大量Scala的粉絲,但是必將遭到Java開(kāi)發(fā)者的厭惡。因?yàn)槭褂肞lay開(kāi)發(fā)產(chǎn)品,你無(wú)法回避使用Scala語(yǔ)言。

也許Scala不是那么糟,但是我是一個(gè)Java程序員。我只在我有足夠閑心的時(shí)候才會(huì)去學(xué)習(xí)一門(mén)新的語(yǔ)言。但是我現(xiàn)在不得不去學(xué),才能將我所知道的方法,和Play框架開(kāi)發(fā)者們所宣稱的那些知識(shí)融合起來(lái)。

PS1:還記得蘋(píng)果公司的格言“簡(jiǎn)潔至上”么?如果框架不給用戶提供那些不需要的東西。那么用戶也許會(huì)少一些花招,但是這會(huì)迫使用戶使用真正有價(jià)值的方法。他們同樣也可以完成一切需要完成工作,與此同時(shí),那些普通用戶則被華而不實(shí)的東西攪得心煩意亂。

PS2:返回 ok狀態(tài) (…) 你不是開(kāi)玩笑的吧? 如果我已經(jīng)做好了準(zhǔn)備返回,那我肯定是已經(jīng)達(dá)到ok的狀態(tài)了,否則我就拋出異常了。

PS3:如果使用Scala的主意是來(lái)自某個(gè)做酸綠網(wǎng)站的家伙,那么他就是萬(wàn)惡之源,消滅他!

英文原文:Open Letter to Play Framework Developers

原文來(lái)自:http://blog.jobbole.com/16631/


網(wǎng)站欄目:致PlayFramework開(kāi)發(fā)者們的一封信
當(dāng)前鏈接:http://www.dlmjj.cn/article/dppdgip.html