使用ax,从头至尾,都只有一个原因,就是因为喜欢ax内置的开发环境 morphX.
这里贴一个我在论坛中回复关于erp不是开发工具的贴子,这样大家可能会对ax/morphX有个基本的了解
或许,我们将来会整个类似OpenMorphX 类的项目,当然,不会有morphX的全部功能,但应该会有比较一致的开发思维. 目前morphX的许可还是太高了
从 2008-7-5到今天,正好我正式使用ax的完整的10天 在此之前,我对ax的认识更多的是文档上的认识, 当开始实际编程时,就会遇到n多的细节问题.对morphX环境,也经历了只知其长到也知其短的过程. 老实说,只要有人带,morphX的上手精通是很快的, 我遇到到大部分问题,其实很简单,像是autoSearch的作用,视图中设置aggregate就能分组之类的东西.另外,对于ax,不得不谈它的业务模块,很庞大,了解这个则是个日积月累的过程. 好在我目前只对一些核心的业务模块感兴趣,目前进行的项目更多的仅仅是依赖morphX环境,对业务模块方面并没有过多的需求.另外,我潜意识中的一个观点就是,如果将ax的业务模块ui直接展现给用户,那就摆明了两个字:失败.
10天的项目进度是惊人的,大概完成了80多个表和30多个窗体. 完全是ruby on rails的速度.... 接下来,还要做很多工作,包括代码的优化和重构,我发现ax现在的领域好像很少好的程序员(是指理解设计模式,会重构代码,对db,语言有较好的认识的程序员),这对我们而言,也是个机会. 下一步,我计划封装一个excel报表模块和工作流模块到系统中. 显然,以后ax的定制开发,将成为我一个非常重要的工作范畴. 现在的开始, 我个人以为还是不错:)
这里贴一个我在论坛中回复关于erp不是开发工具的贴子,这样大家可能会对ax/morphX有个基本的了解
erp当然不是开发工具.但有些erp ,可以当作开发工具来用.因为它本来的模式就是先建立一个开发工具,然后再再上面展开应用的,只要你付的起许可费用 .sap 不熟悉不说,就拿 axapta而言
1. 首先他有一个内置的语言,x++ ,这是个奇怪的语言,有java的语法,pascal 预先定义变量的特征,而且大小写不敏感.它会编译成类似p code的格式,这个语言基本上是全功能的,支持类,接口,继承,抽象方法,可以调用api,支持宏定义.缺点是不支持方法重载(不过好在有参数可以有缺省值),另外,异常没有完全结构化(缺少finally子句)
2. 它有个aot概念 ,applicaiton object tree ,用于存储程序元素和代码,像table,class,query,report.
3. 开发环境 morphx ,很多是声明式的编程(新建,设置属性),但也不阻止你使用代码,像建立table(自动和sql server或oracle同步),窗体设计,报表设计,查询设计,扩展的数据类型定义等
4. 独特的使用继承来实现的分层机制,ms/独立供应商/最终的用户的定制都不会干扰
5. 应用服务器集群
6. 分布应用,客户端是个运行时,应用的更新都在服务器进行
其它像国际化,安全特性,日志等等
ax 的开发环境有很多亮点
比方说它老早就有类似sql 的查询(不像嵌入式sql,更多的像linq)
CustTable custTable;
select custTable where custTable.accountNum=='aaa';
update_recordset custTable setting name='jjx' where custTable.accountNum=='aaa';
delete_from .
比方说他的语言机制,可以使用client server这样的修饰来表示强制代码在客户端还是在服务端运行
server|client static void serverSideCode(){
}
集成com(activex),.net framework(从4.0开始) 也很简单
其实,做桌面应用的人一了解这个东西,就会喜欢它的,因为做桌面应用的一直想达成的东西,它基本上都提供了,所以说这样的东西,是完全可以取代类似vb,delphi,pb使用的,当然,得有米才行.
就实际开发效率而言,ruby on rails 根本不能比(当然,这两种东西也没有可比性, 一个是web,一个c/cs).而且,axapta 开发的东西很具商业级观感. axapta上开发效率比vb/delphi/pb(这三种我都长时间用过)高很多很多,而且可维护性很好.这是因为ax内置测试框架,使用类orm的概念,使用面向对象的语言.大部分新的开发理念都能够在其上使用.
在正式使用ax之前,我一直想用c# +脚本语言来达成一些该框架的功能,实际上有一些进展,像runbase(objectrun/queryrun/formrun)和menuitems/menus/securityKey还有一些查询机制之类的机制,但最终上我觉的困难的是有些东西要搞漂亮非得创建一个语言或是摆弄一个编译器才能真正达成心中所想(像上面所说的server/client这样的东西).
1. 首先他有一个内置的语言,x++ ,这是个奇怪的语言,有java的语法,pascal 预先定义变量的特征,而且大小写不敏感.它会编译成类似p code的格式,这个语言基本上是全功能的,支持类,接口,继承,抽象方法,可以调用api,支持宏定义.缺点是不支持方法重载(不过好在有参数可以有缺省值),另外,异常没有完全结构化(缺少finally子句)
2. 它有个aot概念 ,applicaiton object tree ,用于存储程序元素和代码,像table,class,query,report.
3. 开发环境 morphx ,很多是声明式的编程(新建,设置属性),但也不阻止你使用代码,像建立table(自动和sql server或oracle同步),窗体设计,报表设计,查询设计,扩展的数据类型定义等
4. 独特的使用继承来实现的分层机制,ms/独立供应商/最终的用户的定制都不会干扰
5. 应用服务器集群
6. 分布应用,客户端是个运行时,应用的更新都在服务器进行
其它像国际化,安全特性,日志等等
ax 的开发环境有很多亮点
比方说它老早就有类似sql 的查询(不像嵌入式sql,更多的像linq)
CustTable custTable;
select custTable where custTable.accountNum=='aaa';
update_recordset custTable setting name='jjx' where custTable.accountNum=='aaa';
delete_from .
比方说他的语言机制,可以使用client server这样的修饰来表示强制代码在客户端还是在服务端运行
server|client static void serverSideCode(){
}
集成com(activex),.net framework(从4.0开始) 也很简单
其实,做桌面应用的人一了解这个东西,就会喜欢它的,因为做桌面应用的一直想达成的东西,它基本上都提供了,所以说这样的东西,是完全可以取代类似vb,delphi,pb使用的,当然,得有米才行.
就实际开发效率而言,ruby on rails 根本不能比(当然,这两种东西也没有可比性, 一个是web,一个c/cs).而且,axapta 开发的东西很具商业级观感. axapta上开发效率比vb/delphi/pb(这三种我都长时间用过)高很多很多,而且可维护性很好.这是因为ax内置测试框架,使用类orm的概念,使用面向对象的语言.大部分新的开发理念都能够在其上使用.
在正式使用ax之前,我一直想用c# +脚本语言来达成一些该框架的功能,实际上有一些进展,像runbase(objectrun/queryrun/formrun)和menuitems/menus/securityKey还有一些查询机制之类的机制,但最终上我觉的困难的是有些东西要搞漂亮非得创建一个语言或是摆弄一个编译器才能真正达成心中所想(像上面所说的server/client这样的东西).
或许,我们将来会整个类似OpenMorphX 类的项目,当然,不会有morphX的全部功能,但应该会有比较一致的开发思维. 目前morphX的许可还是太高了
从 2008-7-5到今天,正好我正式使用ax的完整的10天 在此之前,我对ax的认识更多的是文档上的认识, 当开始实际编程时,就会遇到n多的细节问题.对morphX环境,也经历了只知其长到也知其短的过程. 老实说,只要有人带,morphX的上手精通是很快的, 我遇到到大部分问题,其实很简单,像是autoSearch的作用,视图中设置aggregate就能分组之类的东西.另外,对于ax,不得不谈它的业务模块,很庞大,了解这个则是个日积月累的过程. 好在我目前只对一些核心的业务模块感兴趣,目前进行的项目更多的仅仅是依赖morphX环境,对业务模块方面并没有过多的需求.另外,我潜意识中的一个观点就是,如果将ax的业务模块ui直接展现给用户,那就摆明了两个字:失败.
10天的项目进度是惊人的,大概完成了80多个表和30多个窗体. 完全是ruby on rails的速度.... 接下来,还要做很多工作,包括代码的优化和重构,我发现ax现在的领域好像很少好的程序员(是指理解设计模式,会重构代码,对db,语言有较好的认识的程序员),这对我们而言,也是个机会. 下一步,我计划封装一个excel报表模块和工作流模块到系统中. 显然,以后ax的定制开发,将成为我一个非常重要的工作范畴. 现在的开始, 我个人以为还是不错:)