|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点导读:3月中旬,PlayFramework2.0正式版公布了。2.0版本的次要新特征:内置对Java和Scala的撑持、完整异步编程模子、偏重于范例平安、壮大的构建体系、数据存储和模子的集成等。本文是RomanBykovskiy公布在PlayFramework的Google群组的一篇文章。
敬爱的伴侣们!
一个大事实:
Scala逊毙了。好吧,我供认这个言语也许被捧上了天,可是编译它而发生的高贵的工夫消费也是不争的现实。整整13秒!这仍是在做了微调将其酿成模板今后!我本人为了优化编译而专门分派一个分别式服务器,终极将编译速率进步到了5秒——可是这仍旧是很年夜的工夫花消!我们已实验利用其余平台了!
一个年夜假话:
“Play框架让收集使用开辟更复杂!不管是Java仍是Scala”
现实是:“Play框架让收集使用开辟更复杂——仅仅关于Scala,假如你利用Java……那末,好吧,让神明赐赉你力气吧!”我一会儿再会商这个成绩。
<br>(伯乐在线配图)我的故事
当我刚传闻Play框架的时分,我翻开了官方网站,并寓目了1.x版本的先容视频!额滴个神啊!就是它!我事先就认准了!我安装了Play框架,在我的电脑上完成了一切教授教养视频里的例子,并依据我事先正在做的项目,敏捷地写出了一份开辟文档。
整整一个月的工夫,我都在实验压服老板,在新的项目中利用Play框架,由于它比我们在利用的一切框架都更优异!最初我做到了!像变戏法一样,敏捷地改动了统统。
可是如今,当我们已经是到新的项目将利用Play2框架时,我的同事们脸都变绿了,而且我没法找就任何托言——来注释Play2跟Play1完整不是一码事。假如我本人都不睬解Play2是怎样事情的,那我怎样往匡助我的同事呢?
疾速细化
我之以是喜好Play1.x版本,是由于它的速率。这里不是指它的运转速率快(跟着电脑速率的更新,大家都能做到速率快),而是它的细化速率。框架的统统都是云云的急迅和复杂。而在2.0版本里,这一点几乎就是煎熬。2.0版本抛弃了1.0的布局和功效,反而往寻觅另外一种办法,完成那些原本在1.0中能够轻松弄定的事变,并且仍是以好几种形式往做。
Scala
我是一个Java开辟者。那末我为何要往进修用Scala言语来制造一个基本模板呢?我仅仅就是必要一个模板罢了!只不外是一种格局化输入信息的办法。它能编译固然很好!可是假如为此我就必要消费大批的工夫去向理细化,并且尽年夜多半工夫仍是在干等,那我编译它有个鬼用?
大概在美国,你们编译Scala代码,可是在我们俄罗斯,Scala是在编译你!
这感到真是相称欠好!
为了申明一些最复杂的事变,我不能不在Googlegroups上发帖,由于这里没有任何的相干信息。
我没法再模板中设定一个变量,这个变量我会在前面的轮回顶用到。
关于如许一个必要我往“制服”的模板引擎,要它何用?
12345678910111213[error]/home/romka/projects/ponominalu/target/scala-2.9.1/src_managed/main/views/html/event.template.scala:156:(expectedbut)found.[error]"""),_display_(Seq(/*123.14*/for)),format.raw/*123.17*/("""((sector,i)<-subevent.sectors.zipWithIndex)"""),format.raw("""{"""),format.raw/*123.64*/("""[error]^[error]/home/romka/projects/ponominalu/target/scala-2.9.1/src_managed/main/views/html/event.template.scala:421:illegalstartofsimpleexpression[error]""")))})),format.raw/*388.2*/("""[error]^[error]twoerrorsfound呃,我应当怎样依据这些输入查找毛病?别告知我说毛病在156行。这些破信息怎样能匡助我了解产生了甚么?他们就是一年夜堆分外的空缺字符!
模板中的数据转换又怎样呢?
在我把一切数据转换成模板情势之前,我应该利用@Before标注。好比我要在每一个页面显现菜单,如今我必需把一切的菜双数组在每一个模板挪用直达换一下,然后在每一个挪用内里再经由过程原始范例传参,这么做不是画蛇添足么?
言语转换
你能够说Scala言语是将来开展的偏向(可是我嫌疑在短时间内大概没法提拔其编译的速率,不外这些都OK)。那末实验立异,可是不要妄图替换!你以为Eban比Hibernate更好?——只要熟习Ebean的人才网会这么以为吧!
假定在日本开一家餐厅,你实验着用叉子取代筷子(由于有普遍的概念以为,叉子比筷子更有益于进食),然后看看这会不会乐成吧。
向后兼容性永久是Java言语的基本,这也就是Java版本为何演进迟缓的缘故原由,旧的程序在新版本中运转不会呈现成绩。
你作废了的War包的创立,那我怎样把程序部署到Tomcat里?你经由过程修正org.apache.commons.lang.StringEscapeUtils.escapeHtml(text)包来增添输入笔墨处置功效。很好!可是如许就会把笔墨弄得七零八落,好比像:
1Сыновья如许。
为了关失落分外的笔墨处置,我必需编纂Templates.scala并大概发生从头编译(说假话我还真不会手动编译)。假如Play框架的版本更新了,我又得重来一次。
结论
如今,Play已成了我脖中之刺!假如刚一入手下手它是一个又复杂又疾速的开辟框架,那末现在它已开展到和其他很多框架一样痴肥和粗笨。大概它能吸引大批Scala的粉丝,可是势必遭到Java开辟者的讨厌。由于利用Play开辟产物,你没法躲避利用Scala言语。
大概Scala不是那末糟,可是我是一个Java程序员。我只在我有充足闲心的时分才会往进修一门新的言语。可是我如今不能不往学,才干将我所晓得的办法,和Play框架开辟者们所传播鼓吹的那些常识交融起来。
PS1:还记得苹果公司的格言“简便至上”么?假如框架不给用户供应那些不必要的工具。那末用户大概会少一些把戏,可是这会迫利用户利用真正有代价的办法。他们一样也能够完成统统必要完成事情,与此同时,那些一般用户则被脆而不坚的工具搅得心乱如麻。
PS2:前往ok形态(…)你不是开顽笑的吧?假如我已做好了筹办前往,那我一定是已到达ok的形态了,不然我就抛出非常了。
PS3:假如利用Scala的主张是来自某个做酸绿网站的家伙,那末他就是万恶之源,没落他!
关于译(作)者:
黄小非:卒业于重庆年夜学盘算机系,南开年夜学软件工程硕士,SCJP。今朝在一家国企信息中央任职软件开辟工程师。次要手艺乐趣为Java平台相干手艺、体系构架、C/C++、盘算机图形学等。(新浪微博:@黄小非)
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... |
|