2008 Come on as you are~
1,从大部分国内企业应用先培训,后工作的模式下, Ruby 明显比J2EE容易洗脑的多。
2,从单一的设计模式来讲,Ruby 也比J2ee 好折腾的很多, 浓缩下来就一个OO + ActiveRecord。
3,从版本控制代码管理上,动则上百M 的企业应用程序来讲,Ruby明显 要少很多
4, 从Bug控制上,Ruby 语法简练,避免了开发人员多,开发的代码更多的情况,也就降低了出错的可能性。
5,从硬件投入上,Ruby 开发环境性能要求不用太高,节省企业开支。
6,从方案设计上,Web应用框架未被泛滥,只要学好Rails。给定方案少了很多争议。Ruby 本身解决方案多,单元测试,缓存,WS,日志,异常,性能优化,打包,rake,扩展。 都不用去apache,sourceforge 上去搜索一大堆开源。
7,从市场竞争上, 没了IBM,BEA,HP,这些牛逼大碗 。忽悠的空间更大。至少IBM,Oracle 现在不会建议企业你用Ruby 。
8,从企业技术积累上, Ruby花的时间和代价要少,适合以前不注重的技术积累的企业(国内占了大部分)。
9,从客户满意度上, 重业务,轻实现。 而Ruby绝对相应快,可以边谈需求,边Coding,需求谈完就Over。(没见过这样的吧)
10,从程序员YY 角度来讲, 跟着2.0的热潮,RoR的风靡, 让他们误以为用了Ruby 自己就去开公司了。 学习积极性空前提高~
看起来Ruby很爽 ,当然不爽的地方很多(很多事情如同A片,看的人爽,做的人未必)。
BTW: 此文为YY文。 仅此纪念搁置Blog 半年,学习Ruby一周年。
ExtJs 在Web UI已经获得很大的殊荣,但单凭借它 Client UI 还无法霸占BS 那么丰富的应用。。他还要选择 一个Web层与后台一起来交互完成一个完美的系统。
Extjs的天生丽质的, 完美了融合JQuery,Prototype,YUI, 和她结合当然也需要出类拔萃,生出名门。 如果采用Java为开发主语言,那么 ExtJS + DWR + SPRING 算是门当户对。
可惜Extjs 的DataStore 的 prxy 并没有DWR一席,因为DWR返回的是Java对象与JSON非常像, 然而DWR 的在于它与Web远程Java方法的直接会话,因此有着非常灵活的一面。所以,有时候使用DWR对于J2EE来说,要更好于JSON,他做了JSON做不到事。
extjs官方论坛里已经有人编写了这样的扩展,后经人丰富,现在基本能满足要求了。
DWR扩展代码如下,创建 Ext.data.DWRProxy类。同样也继承Ext.data.DataProxy ,拿来show着解读一下。
dwr.js
Ext.data.DWRProxy = function(dwrCall, pagingAndSort){
Ext.data.DWRProxy.superclass.constructor.call(this);
this.dwrCall = dwrCall;
//this.args = args;
this.pagingAndSort = (pagingAndSort!=undefined ? pagingAndSort : true);
};
Ext.extend(Ext.data.DWRProxy, Ext.data.DataProxy, {
load : function(params, reader, callback, scope, arg) {
if(this.fireEvent(”beforeload”, this, params) !== false) {
var sort;
if(params.sort && params.dir) [...]
谁掌控了已经来临的RIA,Flash Or Ajax..其实不然?两者的完美结合才是一个高的境界。
前两天刚发布的Apllo公开测试版,随即也发放了一些详细的Document和 Example. 今天就领略到了Adobe的风采,Adboe Labs又发放了几个和Ajax结合很好的Examples,其中就选择采用我最近在使用的 Ext (YUI-EXT), Examples下来一运下,帅呆了!(看来Jack的魅力不小!:)http://labs.adobe.com/wiki/index.php/Apollo:Applications:Samples
“Fresh is a skinnable RSS reader built entirely using AJAX running on Apollo. The Fresh reader features offline RSS reading, multiple panels within a single window, tabbed browsing, and basic browser integration. Fresh is based on the YUI-Ext / Ext JS library and RSS Feed Viewer sample [...]
读 YUI ,EXT等源码的时候看JS天旋地转,那可不是51JS上那种挪挪位置就能理解的,此刻如果没有JavaScrip的基础,更是像没有星光的黑夜…….
自以为觉得Js对象是很好理解的东东,然而真实践起来却一片糊涂。
通过查阅经典书籍《Professional JavaScript For Web Developers》稍微有些理解了
JavaScript的基本类型
原始类型如: Undefined Null Boolean Number String 等 用 typeof方法能辨别之
引用类型如: Object Function Array Boolean Number String Date等,用insanceof方法辨别之
严格来讲,JavaScript没有对象(Object),但是由于和OO术语对应,所以也称之为对象。所以Array,Function,基本类型,引用类型,函数,以及函数的属性 等等这些都是对象。
而对象分类,则可以分为内置对象(Built-in Object) 和宿主对象(host object)。
内置对象如 Math,Data啊。
宿主对象则如 BOM,DOM之类.
重新回顾了下这些基本概念之后,在做简单实践就有些理解了。
因此对象的使用,创建方式不尽相同,最简单的归类如下:
1 基本创建方式
function Class() {
window.alert("Hello Class!");
}
var clz= new Class();
2 访问对象成员
function Class(){
this.x = " this is x";
this.y = "this is y";
this.z = viewXY;
function viewXY(){
alert("x+","+y);
}
}
var clz= new Class();
clz.viewXY();
3 对象继承
function Parent() {
this.type= [...]
关于YUI-EXT 变为 EXT的话题让人纷说已久,而又过了短短几日,EXT 又紧锣密鼓的发行了Alpha 3。<从YUI-EXT0.40 到 EXT1.0Alpha2,Jack向YUI挑战 ,EXT lib支持JQuery,可以完全可以独立于YUI了。不过这次,Jack似乎又一次开始新一轮的自我挑战。1.0Alpha3版本开始增加了Prototype 和ScriptAculous,真是让人迫不及待。
好,还是先看看 的例子。 这次不用帖代码了,官方出的指南已经很详细了。
教程:http://www.extjs.com/en/tutorial/introduction-ext
毕竟是个入门性的,要玩些花样还得看API (可惜JACK的API-DOC还没来得及更新到最新) 。
教程中:Grid实现
{
var myData = [
['Apple',29.89,0.24,0.81,'9/1 12:00am'],
['Ext',83.81,0.28,0.34,'9/12 12:00am'],
['Google',71.72,0.02,0.03,'10/1 12:00am'],
['Microsoft',52.55,0.01,0.02,'7/4 12:00am'],
['Yahoo!',29.01,0.42,1.47,'5/22 12:00am']
];
var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(myData),
reader: new Ext.data.ArrayReader({id: 0}, [
{name: 'company'},
{name: 'price', type: 'float'},
{name: 'change', type: 'float'},
{name: 'pctChange', type: 'float'},
{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
])
});
ds.load();
var colModel = new Ext.grid.ColumnModel([
{header: "Company", width: 120, [...]
偶的Blog 不结群,不跟风,如有雷同,存属巧合~
主要目的是请诸位相信:这个世界上,巧合的事情很多....