精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-02-01
rubynroll 写道 不知如何定义enterprise应用....我倒是用ruby做过一些几个月或许几年无人值守的应用,嵌入式系统。另外我还作过一些socket server的应用,也是稳定服务几个月不用重启的。事实上,即使是几个月才有的一次重启,也是因为服务器重启。
只要你不去使用不稳定的扩展,ruby本身运行还是相当稳定的。 听上去不错,不知道这些项目代码量多大? 企业应用感觉就是给非IT企业用的管理软件。 举例来说,企业需要管理一个仓库,如果有东西需要入库,则会扫描条码,查询仓库内如果这个东西比较多, 则拒绝入库,如果低于某个数量,则允许入库,如果是自动仓库,则这个程序还要驱动自动的小车过来取走 并且放置这个东西。 如果出库则会驱动装卸设备,把设备运送出来,并且检查库存,如果低于警戒数量,则要短信通知相关采购, 如果持续几天不能补上,则要通知经理。 某些东西还有有效期,对有效期也要管理,快到期的先出库。 这个系统至于有什么界面不重要,是web界面也好,哪怕是个console界面,企业用户实际上不会有太大意见, 能完成任务才是企业关心的。 目前python已经听到一些企业在用了,虽然数量也是非常少。 |
|
返回顶楼 | |
发表时间:2012-02-02
kaven 写道 rubynroll 写道 不知如何定义enterprise应用....我倒是用ruby做过一些几个月或许几年无人值守的应用,嵌入式系统。另外我还作过一些socket server的应用,也是稳定服务几个月不用重启的。事实上,即使是几个月才有的一次重启,也是因为服务器重启。
只要你不去使用不稳定的扩展,ruby本身运行还是相当稳定的。 听上去不错,不知道这些项目代码量多大? 企业应用感觉就是给非IT企业用的管理软件。 举例来说,企业需要管理一个仓库,如果有东西需要入库,则会扫描条码,查询仓库内如果这个东西比较多, 则拒绝入库,如果低于某个数量,则允许入库,如果是自动仓库,则这个程序还要驱动自动的小车过来取走 并且放置这个东西。 如果出库则会驱动装卸设备,把设备运送出来,并且检查库存,如果低于警戒数量,则要短信通知相关采购, 如果持续几天不能补上,则要通知经理。 某些东西还有有效期,对有效期也要管理,快到期的先出库。 这个系统至于有什么界面不重要,是web界面也好,哪怕是个console界面,企业用户实际上不会有太大意见, 能完成任务才是企业关心的。 目前python已经听到一些企业在用了,虽然数量也是非常少。 代码量不大,我用ruby作的项目,ruby代码从来不超过1w行,单个ruby文件大多在2-3百行。 用ruby写程序,我喜欢采用多进程模型,尽量把任务分解到各个小程序中完成,这样可以充分利用操作系统的资源,例如可以采用现成的监控系统,有些任务和shell脚本配合完成,等等。 例如有一个项目,前台web用rails,后台有十几个进程作一些控制,其中有一个控制电子闸门的,同一个程序有5个进程,因为要控制5个闸门。端口参数从命令行传入即可,既简单又方便扩展,操作系统进程提供了天然的容错屏障,一个进程挂了还不影响其他闸门的控制。 ruby相对于其他语言的一个优势是她表达能力强,因此程序可以短小精悍。另外因为rails的原因,有很多丰富的资源可以利用,例如ActiveRecord就可以轻松对付与数据库打交道的任务。 |
|
返回顶楼 | |
发表时间:2012-02-02
rubynroll 写道 代码量不大,我用ruby作的项目,ruby代码从来不超过1w行,单个ruby文件大多在2-3百行。 用ruby写程序,我喜欢采用多进程模型,尽量把任务分解到各个小程序中完成,这样可以充分利用操作系统的资源,例如可以采用现成的监控系统,有些任务和shell脚本配合完成,等等。 例如有一个项目,前台web用rails,后台有十几个进程作一些控制,其中有一个控制电子闸门的,同一个程序有5个进程,因为要控制5个闸门。端口参数从命令行传入即可,既简单又方便扩展,操作系统进程提供了天然的容错屏障,一个进程挂了还不影响其他闸门的控制。 ruby相对于其他语言的一个优势是她表达能力强,因此程序可以短小精悍。另外因为rails的原因,有很多丰富的资源可以利用,例如ActiveRecord就可以轻松对付与数据库打交道的任务。 听上去非常不错 还有一个问题就是源代码问题,如果用户购买源代码,那么问题比较简单, 有些时候用户没有购买源代码,ruby就比较麻烦了,不知道有什么简单有效的办法。 |
|
返回顶楼 | |
发表时间:2012-02-02
kaven 写道 目
现在越来越无法忍受java,c#这类非动态的语言了,感觉花了大量时间在类定义,接口抽取上。。。等等其他脱了裤子放屁的事情。 类定义及接口抽取是对业务的建模,不做业务进行抽象和建模就直接干活的基本上属于山贼做法。 |
|
返回顶楼 | |
发表时间:2012-02-02
泰山北斗 写道 类定义及接口抽取是对业务的建模,不做业务进行抽象和建模就直接干活的基本上属于山贼做法。 这句话分开来说一点没错。但是对业务进行抽象和建模要做到语言级别才能干活?我倒是从来不这么干。 |
|
返回顶楼 | |
发表时间:2012-02-02
rubynroll 写道 泰山北斗 写道 类定义及接口抽取是对业务的建模,不做业务进行抽象和建模就直接干活的基本上属于山贼做法。 这句话分开来说一点没错。但是对业务进行抽象和建模要做到语言级别才能干活?我倒是从来不这么干。 呵呵,没那么夸张吧,和建模相比,将建好的模型落实为语言没那么夸张。应用的开发的效率不仅仅是语言本身,还要看是否有成熟的框架,中间件支持。 |
|
返回顶楼 | |
发表时间:2012-02-02
建模肯定需要做,但是初期花在建模上的时间我还是很少的,
现在采用快速搞出个原型,依靠不断重构测试迭代着前进, 设计已死,我是非常同意的。 ruby对于快速搞出个原型,还是非常称手的兵器。有的时候我 会用ruby写个原型,最后等结构稳定了,再翻译成其他语言。 |
|
返回顶楼 | |
发表时间:2012-02-02
我一般的做法是:系统分析,架构设计,原型建模。顶多做到模块级别的设计,至于到类/接口定义级别,不是说绝对没有,的确是非常少。原型可以是拿脚本,HTML,甚至是卡片,什么方便就怎么做。
|
|
返回顶楼 | |
发表时间:2012-02-02
有java经验的,我更推荐groovy
|
|
返回顶楼 | |
发表时间:2012-02-02
jjx 写道 有java经验的,我更推荐groovy
groovy感觉太小众,实际体验怎么样? |
|
返回顶楼 | |