Groovy
==================================================================
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,
Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。
Groovy 是 用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。
使用该种语言不必编写过多的码,同时又具有闭包和动态语言中的其他特性。
Groovy是JVM的一个替代语言(替代是指可以用 Groovy 在Java平台上进行 Java 编程),使用方式基本与使用 Java代码的方式相同,
该语言特别适合与Spring的动态语言支持一起使用,设计时充分考虑了Java集成,这使 Groovy 与 Java 代码的互操作很容易。
(注意:不是指Groovy替代java,而是指Groovy和java很好的结合编程。)
==================================================================
JRebel
==================================================================
JRebel是一套JavaEE开发工具。
JRebel是一套JavaEE开发工具。JRebel允许开发团队在有限的时间内完成更多的任务修正更多的问题,
发布更高质量的软件产品。 JRebel是收费软件,用户可以在JRebel官方站点下载30天的评估版本。
Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。网上可搜索到破解版。
JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。
JRebel使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,
这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程,每年可以省去部署用的时间花费高达5.25个星期。
==================================================================
javaScript模块规范、AMD、CMD
==================================================================
学无止境真是一点没错,IT行业新知识新技术简直是井喷状态在发展,这两年javaScript(以下简写JS)发展是相当迅猛,
09年诞生的node.js成长迅速,今天又在网上看到AMD/CMD两新名词,互联网就是这点好,不懂可以查可以搜。
AMD/CMD其实都是JS模块化开发的规范。最早JS需求都很简单,基本都是写函数,一种面向过程的写法,
后来慢慢的引入面对对象开发思想,慢慢写成类。随着应用程序的日益增大,JS代码行数迅猛增长,
如何管理、组织、优化成为一个很头疼的事情。node.js的模块化写法让人眼前一亮,于是乎各路牛人纷纷效仿,各种写模块的规范也就涌现出来了。
异步模块定义(AMD)是Asynchronous Module Definition的缩写,是 RequireJS 在推广过程中对模块定义的规范化产出。规范传送门
通用模块定义(CMD)是Common Module Definition的缩写,是SeaJS 在推广过程中对模块定义的规范化产出。规范传送门
此外还有 CommonJS Modules/2.0 规范,是 BravoJS 在推广过程中对模块定义的规范化产出。
等等。。。
话说光看介绍理解不能呀,主要还是试试其中的功能,感觉一下,好像各大常用的JS框架也慢慢支持模块化调用,试用下,之后再来写写感受。
==================================================================
CDN
==================================================================
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,
使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,
CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。
其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
jawr
==================================================================
http://m635674608.iteye.com/blog/1629234
现在的系统都趋向于富客户端,客户端的逻辑很多是Javascript来完成的,这样导致了JavaScript文件数量的增多,
加大了对网络带宽的需求。JAWR是一个java项目的javascript和CSS集成和压缩工具,提供如下的功能:
1. 对网络交互的数据进行压缩,比如对JS,CSS,图片等。通过去除空行,空格,换行符,注释,变量名混淆可以大大减少JS和CSS文件大小。
常用的压缩工具有JSMin, YuiCompressor,Packer,Microsoft Ajax Minifier和UglifyJS。对于第三方的JS,我们可以预先对其压缩。
但对于自己开发的JS,为了可读性和可维护性,我们只能在项目部署的时候压缩。JAWR默认的JS压缩器为JSMIN,
CSS的压缩器为CSS Compressor,可选的配置为YuiCompressor(支持JS和CSS)。
2. 可以合并所有的JS文件,合并所有的CSS文件。我们知道浏览器下载一个10K的文件,
比下载10个1K的文件的速度要快很多,因为浏览器和服务端每次交互都会发送Request Header,
服务器响应也会有Response Header,另外下载一个文件只需要建立一次网络连接,而10个文件则要建立10次网络连接,这个比较耗时。
3. 对图片Base64编码嵌入HTML页面。减少网络交互次数。
GWT
==================================================================
Google Web Toolkit的缩写,有了 GWT可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行。GWT允许开发人员使用 Java 编程语言快速构建和维护复杂但性能高的 JavaScript 前端应用程序,从而降低了开发难度,尤其是与 Eclipse Google 插件结合使用时,优势更明显。如今,编写网络应用程序是一个单调乏味且易于出错的过程。开发人员可能要花费 90% 的时间来处理浏览器行话。此外,构建、重复使用以及维护大量JavaScript 代码库和 AJAX 组件可能困难且不可靠。Google Web 工具包 (GWT) 通过允许开发人员用Java编程语言快速构建和维护复杂但高性能的 JavaScript 前端应用程序来减轻该负担。
有了 Google Web 工具包 (GWT),可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行。在开发过程中,您可以用 JavaScript按习惯的相同“编辑 - 刷新 - 查看”循环快速反复,还有另一个好处就是能够调试和逐行单步调试Java 代码。准备好进行部署后,GWT 会将Java源代码编译到优化且独立的 JavaScript 文件中。使用 Google Web 工具包可以轻松地为现有网页或整个应用程序构建一个Widget。
我最近也准备做一个web项目,想用一下GWT来弄,但是最後还是放弃了,我可以总结一下GWT的好处和坏处,希望对你有帮助:
好处:
1.对於java程序员(我自身也是学java的),我们并不擅长有关页面美化方面的技术,比如HTML、CSS和Javascript等,正因为如此,GWT是基於JAVA的,你在GWT里面所编写的全部是java的类,然後编译的时候类就会被编译成HTML、Css+Javascript。也就是说你可以用自己所擅长的java来解决自己不擅长的HTML、CSS和Javascript。换句话说,你并不需要一个一个页面地写了,不需要有login.jsp,不需要有register.jsp了,在某一个页面需要什麽内容,直接把类调用进去,就能解析出页面。
2.以前的页面都是通过一个一个不同的页面的跳转来运作的,使用了GWT之後,因为所有东西都模块化了(毕竟是java嘛),比如一个登陆界面,和一个登陆后的欢迎界面,假设两个界面拥有相同的界面部份,比如说背景和header,那麼我们就不需要整个页面都reload了,也就是说GWT还可以解析成Ajex,非常方便。
3.由於是模块化而且是熟悉的语言,你用来构建对於美工方面要求不高的网站速度非常快!
坏处:
接下来我就要谈到我之所以放弃使用GWT的原因了:
1.GWT是使用widget来做界面的,一个widget可以是一个按钮,也可以是一个组件,比如说登陆窗口的那几个装用户名密码的文本框以及下面的注册按钮等。这些widget一听就感觉比较模块化,可是这些东西实在是太丑了,我要做的网站是个人网站,要求页面必须很好看而且配有很多动画,就为了这个我不得不放弃了。当然,如果你要做的是商业网站等等,也可以使用bootstrap的库,它也提供不少好看的界面。(http://getbootstrap.com/getting-started/)
2.在java里面就可以写HTML、CSS和Javascript,这是不是非常炫酷的一件事?的确,但是你想也知道不可能一个工具能轻易代替另一个工具的,每一个工具都有它自己好用的地方。我想说:“在java里面写HTML和CSS以及Javascript,绝对是非常糟糕的体验。”一个比方:我要写一句话:<p>我<b>爱</b>你</p>,这在HTML里面就这麼一句话,在GWT,你需要有三个子节点(文字,B,文字)然後放到节点P里面去。当你这样玩一下之後,你会发现非常累人,最後你就会感觉说,哈哈,我们不如就用HTML Panel来放所以的HTML吧!很好,这时候你已经把GWT的优势都扔了。
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================
XXXX
==================================================================