`

被我抛弃的开源框架

阅读更多
1. GWT ,它是个javascript的编译器,生成的是浏览器端的HTML和js,但他和服务器端的交互让人痛苦,他有自己的调试器,但集合到服务器端代码一起发布调试,真是让人痛苦。生成垃圾文件多,执行速度慢,总之,它带来了多少快感,就带来了多少痛苦。(补充:他可以ajax,但它生成的只是静态html+js页面,是静态的,想让它接受参数是不可能的。当然我曾试过把他的html再变成jsp接受参数,将接受到的信息放到html的head meta中,然后再用GWT的DOM在meta中取信息,再用RPC到服务器上取信息填入各个元素,上帝饶恕我的SB吧。)

2. Tapestry 5,我试用了两周。帮了不少忙,把GWT的残局收拾了,把当初用GWT写的东西彻底重写了一遍。但渐渐也发现了它的不爽。还真是不太好表达,总体感觉,它太霸道了,封装了一切。事实上它对静态资源(html,js)的支持并不够好。对页面跳转,支持也不够好,ActionLink和PageLink只能跳到他自己的页面,必须自己写个组件实现动态的asdfa,。国际化的解决办法是自动根据request头分析出来源地,自动选择匹配的语言,乍看很cool,事实上又是霸道的表现,如果用户想自定义语言,无法做到。就连中国的开发者想看看自己开发出的英文版页面是什么样子都会很麻烦。他的角色不再是助手,而是Boss,我想大家都不希望助手成为Boss。

3. Struts 1.x,说她被抛弃,并不适合,因为我从未选择过她。曾N次下决心与她亲近,但她太麻烦了,磨磨唧唧,但始终无法了解她的心,最终与她的缘分还没有开始就结束了。

4.Grails,我没有完整的玩过Grails,我只是稍稍了解了一下,但我已经可以断言,它不会有太大的灵活性。基于脚本语言,我一直认为脚本语言的用处应该是热修改,而不是写源代码。所谓热修改,比如魔兽争霸3的RPG地图,不可能让玩家用C语言写地图,但也不可能让开发者用lua来开发WAR3。用户的需求中有个经常变动的公式,这时可以用脚本。用脚本语言写源代码!!!我不想多说。

5.ROR。RoR开发的javaeye,很不错啊,为什么抛弃RoR。也许是成见吧,理由同上。但RoR确是给快速开发开辟出一条新的模式。它的优点是他的开发模式,而不是Ruby或Rails。仅仅因为他模式的优秀,而选择一项建立在脚本语言上的框架,颇有委曲求全的感觉。

寻求一条优秀的开发模式,真是不简单。
接下来打算了解webwork2和velocity,希望不要让我失望。
分享到:
评论
75 楼 bouzouki 2007-03-24  
jasongreen 写道
再说两句题外话,也许是教育的问题,国人及其缺乏创造性,很喜欢盲从。
对国外的技术,我们当然要去了解,但似乎很多人只关心学会去用,而不去考虑他的优点与缺点,知其然而不知其所以然,如何才能产生新的创意。
对于我所列举的被否定的框架,都是一些很有知名度的项目,他的优点肯定不需要再说的,但对于一个追求完美的人来说,不应该就此满足。


我倒觉得问题出在缺乏科学的实证主义精神,往往找不到问题的症结所在,迷失在虚妄的想像和抽象的概念之中。

如果能比较踏踏实实地发现问题分析问题,我对国人的创造性还是很有信心di
74 楼 sp42 2007-03-24  
whisper 写道
我觉得UI部分用纯AJAX
然后用个轻量的HTTP-RPC方式调用远程函数就是很不错的方案了
这样的话,Server-Side就只是一个function dispatcher & collector,用什么语言和框架根本无所谓了

与阁下的看法基本一致
好象我现在用的是ASP in JAVASCRIPT那种
反正就是登录验证、转静态页、导出数据库格式为XML,json的粗重活
前后台都是JS 不用想太多
再进一步 用JAVA 6的JAVASRICPT引擎,调用java的sdk和SERVLET,这样就可以无缝MS-->JAVA 呵呵有点异想天开了!
73 楼 whisper 2007-03-24  
我觉得UI部分用纯AJAX
然后用个轻量的HTTP-RPC方式调用远程函数就是很不错的方案了
这样的话,Server-Side就只是一个function dispatcher & collector,用什么语言和框架根本无所谓了
72 楼 cozone_柯中 2007-03-23  
什么能提高效率就用什么吧
71 楼 Lincoln 2007-03-23  
我个人认为:Webwork2+Freemarker+sitemesh+EJB3.0+Spring2.0
比较理想

70 楼 xmlspy 2007-03-23  
用stipe就好了
69 楼 jasongreen 2007-03-23  
fly_bluewolf 写道
搂主首先要搞清楚甚么是framework,有句话(不记得是谁说的),"框架不是让你能做什么事情,而是规定你不能做什么事情",楼主要仔细回味这句话.


这句话说的很好,我现在就是这种感觉,但这并不是我想要的,我想要的是框架帮我处理所有不必要的繁文缛节,比如Hibernate的持久层框架,就很好,帮我们把对象与数据库之间的映射,不同数据库方言的转换,都处理了,在必要时允许我们自定义原始sql。这才是我们想要的框架。
68 楼 giscat 2007-03-23  
fly_bluewolf 写道
搂主首先要搞清楚甚么是framework,有句话(不记得是谁说的),"框架不是让你能做什么事情,而是规定你不能做什么事情",楼主要仔细回味这句话.


超赞
67 楼 阳光晒晒 2007-03-23  
fly_bluewolf 写道
搂主首先要搞清楚甚么是framework,有句话(不记得是谁说的),"框架不是让你能做什么事情,而是规定你不能做什么事情",楼主要仔细回味这句话.
谁说的这话?
框架是帮助你干80%常做的事另20%自己去 想办法
66 楼 fly_bluewolf 2007-03-23  
搂主首先要搞清楚甚么是framework,有句话(不记得是谁说的),"框架不是让你能做什么事情,而是规定你不能做什么事情",楼主要仔细回味这句话.
65 楼 阳光晒晒 2007-03-23  
xieke
这种开发方式在2002-2005风行一时...
64 楼 giscat 2007-03-23  
提高效率,提高生产力就是最好的偷懒方式
         

   
63 楼 xieke 2007-03-23  
giscat 写道
xieke 写道
giscat,咱们真是不谋而合啊

  咱是为了解放生产力,用更少的时间捞更多的票票
      


giscat我想你肯定跟我一样懒 ,
有机会一起聊聊,看看有什么好借鉴的 ,
我04年做的一个框架,思路跟你差不多 ,
我的框架差不多是零配置,除了一些附属 的 log4j,idGenerator还有jcs的配置文件 
系统启动时自动导入datameta信息 ,系统会根据这些 信息 自动构造所需的 O/R 对象,
所以我也不用去写那些pojo了,
页面显示用 jstl,以及 自己 写的 taglib,form直接调用我的action的方法,
当然调用前后action帮你作了权限判断,文件上传,缓存,分页,事务处理,连接池管理等一系列的工作...
spring,structs,hibernate,....我都不用的,因为开发效率相形见绌 ,都太低了
论开发速度 ,大概只有 普元的eos构件开发能与之相比.用鼠标拖拖线就可以开发了,
可那玩意儿用多了 ,都不知道java怎么写了
62 楼 阳光晒晒 2007-03-23  
RIA是包括flash的
正确的说是在RIA上走的比较早的
现在说的RIA主要是ajax炒起来的概念....

如果早年有再多点程序员去作flash的交互,
google也不会再去开发一大套东东来作地图了
61 楼 redleaf 2007-03-23  
正在看struts2.0.6
60 楼 sp42 2007-03-23  
阳光晒晒 写道
sp42 写道
jasongreen 写道
sp42 写道
RIA的话,推荐Ext+Servlet+JDBC


我正在以Ext为客户端框架做一个demo,服务器端框架还没有定。
当选择了Ext的时候,我知道很多服务器端的view层框架已经不能用了,或者说用的会很不爽。
前两天看了下Velocity,太棒了,简单,好学,无侵入,放之四海而皆准。有很多朋友在回帖中都表示,webwork+veclocity(freemark)是不错的,不过webwork我还没有了解,不敢妄言,但velocity确实不错,虽然只是走马观花看了一下。
veclocity+ext,将会是显示层的一个不错选择。

以前听过一个笑话,一个吃饼,吃了第一块没有饱,吃了第二块也没有饱,。。。吃到第七块,终于饱了,说到,早知道我就吃这块就好了,为什么要吃前六块呢?

我现在的感想就有如这个吃饼的人,为什么不直接用Veclocity和Ext呢?


呵呵,你加入我们了吗?ajaxjs.com上面的


RIA我正在用flash + java 不爽.

完全两样不同的东西,用起来不爽就是不爽的啦 哈
59 楼 阳光晒晒 2007-03-23  
sp42 写道
jasongreen 写道
sp42 写道
RIA的话,推荐Ext+Servlet+JDBC


我正在以Ext为客户端框架做一个demo,服务器端框架还没有定。
当选择了Ext的时候,我知道很多服务器端的view层框架已经不能用了,或者说用的会很不爽。
前两天看了下Velocity,太棒了,简单,好学,无侵入,放之四海而皆准。有很多朋友在回帖中都表示,webwork+veclocity(freemark)是不错的,不过webwork我还没有了解,不敢妄言,但velocity确实不错,虽然只是走马观花看了一下。
veclocity+ext,将会是显示层的一个不错选择。

以前听过一个笑话,一个吃饼,吃了第一块没有饱,吃了第二块也没有饱,。。。吃到第七块,终于饱了,说到,早知道我就吃这块就好了,为什么要吃前六块呢?

我现在的感想就有如这个吃饼的人,为什么不直接用Veclocity和Ext呢?


呵呵,你加入我们了吗?ajaxjs.com上面的


RIA我正在用flash + java 不爽.
58 楼 sp42 2007-03-23  
jasongreen 写道
sp42 写道
RIA的话,推荐Ext+Servlet+JDBC


我正在以Ext为客户端框架做一个demo,服务器端框架还没有定。
当选择了Ext的时候,我知道很多服务器端的view层框架已经不能用了,或者说用的会很不爽。
前两天看了下Velocity,太棒了,简单,好学,无侵入,放之四海而皆准。有很多朋友在回帖中都表示,webwork+veclocity(freemark)是不错的,不过webwork我还没有了解,不敢妄言,但velocity确实不错,虽然只是走马观花看了一下。
veclocity+ext,将会是显示层的一个不错选择。

以前听过一个笑话,一个吃饼,吃了第一块没有饱,吃了第二块也没有饱,。。。吃到第七块,终于饱了,说到,早知道我就吃这块就好了,为什么要吃前六块呢?

我现在的感想就有如这个吃饼的人,为什么不直接用Veclocity和Ext呢?


呵呵,你加入我们了吗?ajaxjs.com上面的
57 楼 bouzouki 2007-03-23  
DT1 写道
推荐Webwork+Freemarker+hibernate(+Spring?)


再加上SiteMesh

无敌了


ps Google Guice貌似不错,有人已经在实际工程中用了么?
56 楼 bouzouki 2007-03-23  
WebWork,超赞的

相关推荐

    AirPHP轻型开源框架 兼容SAE平台 v1.1 beta

    AirPHP是一款轻型开源框架.设计思想取于多款框架。取其精华思想。AirPHP是一款轻型开源框架,本着“简单 快速 优雅 拓展”的开发思想.使新手也能快速写入标准的MVC程式.基于AirTemplate加速渲染页面输出.简单的模板...

    Maticsoft.Framework中小企业数据库开发框架

    Maticsoft.Framework,短小精悍,超级实用,甚至可以抛弃代码生成工具(它只解决数据新增,删除,修改,分页一旦数据库字段发生改变所有方法都得重新生成,那是一件多么麻烦的事!而此框架正可以解决此问题,使用此...

    xtoon-boot:DDD开源框架-基于DDD领域模型并支持SaaS平台的开发脚手架

    抛弃MVC框架,拥抱更适合复杂业务的开发框架;网上基本讲的都是DDD的理论很少有讲怎么落地,xtoon-boot提供了完整的落地方案和实践;可以快速开发,框架提供了系统管理和组织架构等核心模块;支持多租户的SaaS平台;...

    阿里开源的EasyExcel

    无意间查询到阿里开源的EasyExcel框架,发现可以将解析的EXCEL的内存占用控制在KB级别,并且绝对不会内存溢出(内部实现待研究),还有就是速度极快, 大概100W条记录,十几个字段, 只需要70秒即可完成下载。遂抛弃...

    抛弃LCDS和FMS,在tomcat下开发Red5应用(第十一篇)-电子白板协同浏览

    Flex是一种构建富互联网应用(RIA)的开源框架,基于ActionScript和MXML,可以创建与Red5服务器交互的前端界面。 5. `flexhtml.htm`:这可能是一个包含Flex组件的HTML文件,用于在浏览器中嵌入Flex应用,使用户能够...

    MFEXECOM论坛开源

    为了造福我朝程序猿,作者将框架独立出来了,便于二次开发和整合到其他项目中,并且保留全部中文注释。 【mfexePHP 3.0】 mfexephp 3.0,采用简单结构,有利于 HHVM 编译 / opcode 缓存,提前与 PHP7 契合做好准备...

    新版ThinkPHP微信屏蔽投诉按钮域名防封源码 带搭建教程

    thinkphp框架开发屏蔽举报按钮代码,完全开源无加密,代码核心主要是屏蔽微信投诉按钮技术,全面兼容新(安卓/苹果)系统的微信app,也是市面上较新的微信域名防封技术之一 现在市面上都是一个JS和一个php文件的...

    使用Puppet框架管理基础设施

    本书适用于对系统管理和Ruby语言有一定了解的读者,帮助他们快速上手Puppet这一开源工具。 #### 二、主要内容概述 本书分为四个章节,覆盖了从入门到进阶的主要知识点: - **第一章:Baby Steps to Automation**...

    这是一个全新的表格软件,类似于Excel,但抛弃了Excel臃肿的外壳,存储方式与内核全部自制

    Qt是一个跨平台的应用程序开发框架,广泛用于创建图形用户界面(GUI)。PyQt则是Python语言对Qt库的接口,它允许开发者使用Python编写Qt应用,结合了Python的易用性和Qt的强大功能。因此,我们可以推断这个表格软件...

    一款适合中国网站的前端框架H-ui.zip

     只有抛弃陈旧的东西,才能迎合新一代人的审美和品质需求,才能建立自己的品牌基础!官网地址:http://www.h-ui.net入门地址:http://www.h-ui.net/Hui-overview.shtml 标签:前端框架

    SDSC Syslog-开源

    6. **安全性**:考虑到日志信息可能包含敏感数据,SDSC Syslog通常会提供安全功能,如加密传输、访问控制和审计日志,以保护日志不被未经授权的访问和篡改。 7. **性能优化**:由于SDSC Syslog面向的是大规模系统,...

    Lerx 开源网站内容管理系统(CMS) v5.5

    Lerx CMS V5版(以下简称V5版)采用了基于Java的SpringMVC框架,抛弃了V2-V3版本使用的Struts 2。SpringMVC框架更加安全、稳定。ORM持久化框架依旧使用Hibernate,版本为5.4。开发时采用的数据库为M

    Personal Calculator.NET-开源

    这种设计方式抛弃了传统图形用户界面(GUI),转而采用命令行交互,使得用户可以通过键盘输入指令进行计算。这种方式不仅简洁高效,也更适合程序员和高级用户,他们可以利用其快速执行复杂的计算任务,而无需通过...

    teachManager:早期个人项目(很烂的项目),开启重构及更新为springboot项目

    决定继续使用amazeUI作为前端前台框架(非常喜欢这个妹子开源框架,作为一个大老爷们,感觉自己也是个小公举啦) 采用layui作为前端后台框架(这个前端框架真心好用) 决定使用amazeUI的最新版本(2.7.2),翻新重做...

    Spring的数据源配置 DBCP、C3P0、JNDI.txt

    - **被抛弃连接超时时间** (`removeAbandonedTimeout`):被抛弃连接的超时时间(秒),默认为300秒。 - **记录被抛弃的连接** (`logAbandoned`):是否记录被抛弃的连接,默认为`false`。 #### 三、C3P0 **C3P0**...

    Webx3_Guide_Book.pdf 用户指南

    Webx 3.0抛弃了Webx 2.0中过时的、从Turbine中发展而来的 Service框架,直接采用Spring作为其基础,并对Spring作了重大改进。Webx 3.0完全兼容 Webx 2.0的代码,只需要修改配置文件就可完成升级。 • 2010年底,Webx...

    大气背景扁平化UI设计bootstrap模板4971.zip

    Bootstrap模板是一种基于HTML、CSS和JavaScript的开源框架,由Twitter开发并维护,旨在加速Web应用程序的前端开发。扁平化设计是近年来流行的界面设计风格,它抛弃了过度装饰的元素,强调简洁、清晰和易用性。"大气...

    ThinkPHP微信屏蔽投诉按钮域名防封源码 带搭建教程

    Thinkphp框架开发屏蔽举报按钮代码,完全开源无加密,代码核心主要是屏蔽微信投诉按钮技术,全面兼容新(安卓/苹果)系统的微信app,也是市面上较新的微信域名防封技术之一 现在市面上都是一个JS和一个php文件的版本...

    OneBase v1.3.4.zip

    高效: 自动缓存设计,抛弃了处处判断的尴尬,使您不知不觉中已经使用了缓存。 特色: 无限级权限控制,垃圾资源回收,系统通用回收站,SEO变量支持,性能与操作监控,等各种脑洞大开的设计思想。 OneBase截图 ...

    扁平化设计师展示bootstrap模板是一款绿色扁平化风格的设计公司宽屏模板下载 .rar

    Bootstrap模板是一种基于HTML、CSS和JavaScript的开源框架,由Twitter开发并维护,旨在加速Web应用程序的前端开发。扁平化设计是近年来非常流行的一种设计趋势,它抛弃了传统的深度感和立体元素,转而采用简洁、清晰...

Global site tag (gtag.js) - Google Analytics