`

被我抛弃的开源框架

阅读更多
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,希望不要让我失望。
分享到:
评论
55 楼 number017 2007-03-22  
gwt在我们的项目中已经彻底失败
光调一个字体的位置都着实让人感到麻烦 不过也让人突然觉得脚本有多可爱
54 楼 dengyin2000 2007-03-22  
jasongreen 写道
dengyin2000 写道
关于你说的在tapestry中怎样改变Locale你可以看看 http://tapestry.apache.org/tapestry4/UsersGuide/localization.html#localization.changing

你了解在servlet中怎么做么? 说实话我没有做过国际化,但我依稀记得在HttpServletRequest HttpServletRequest中有对setLocale和getLocale的方法,然后在T4的USER GUIDE上找到了怎样改变T的locale,不知道这个是不是你说的问题。

引用
对页面跳转,支持也不够好,ActionLink和PageLink只能跳到他自己的页面,必须自己写个组件实现动态的asdfa,


我不清楚你说的是什么意思,你说的是这个意思嚒。我用any组件可以实现任意的html。
<a jwcid="@Any" herf="ognl:anyLinkURL"></a>


引用
比如你尝试让response返回一个文件下载,是不可能的,T5会抛出错误。
即便可以,也让人觉得太麻烦了,既然我需要inject response,何不直接用servlet,而要拐弯抹角使用T5呢?


从这个问题上我可以知道你应该是一个T的新手。用过T的都知道你需要使用T中的IEngineService去做的。你有看过tapestry自带的workbench 例子的Chart的例子嚒?可以看看这篇文章。http://dengyin2000.iteye.com/blog/47453

引用
但当我需要修改一个Pet的时候,怎么办,必须知道所要修改的Pet的id,GWT写的客户端代码是无法接受参数的,因为他是一个HTML而不是一个Servlet,而RemoteServiceServlet只是一个Service,只用来作RPC,他也不会返回一个GWT页面。


你会怎么解决?当页面需要接受参数时,GWT几乎是无能为力的,因为他是html,他只能在返回一个有动态效果的页面,而不会返回一个有动态内容的页面,也许我说的不是太明白。


说句实话,我真的没有听懂你说的。你有写过SWing么,你可以像写SWing一样写GWT。你也可以把ID传来传去。


关于T5的Any,你举的例子是T4中的,T4我没用过,也许T5的any也是想设计成支持任何html,但可能目前还有一些bug。国际化问题我不想多说,你可以试试,如果你成功了,希望你联系我。但我想通过inject response来解决国际化问题,有点杀鸡用牛刀的感觉,那我还要Tapestry5何用?

GWT的传参问题我也不想多说,你自己试一下,如果你可以成功的用GWT编辑某个持久化对象,也请你联系我,url要能够象 xxx.com/mygwtpage?id=1234 运行的。

我不想多说,有些时候不是可不可以,能不能做到,的问题,而是如何做到的问题。什么开源框架都是万能的,大不了改他的源码。我更想知道框架的idea,如果他的idea不够好,不会因为他可以如何如何就去选择他的。

你关于此帖的回复,主要强调GWT和Tapestry5可以做到我认为很麻烦的事情,那又如何呢,即便他能做到,也不能成为选择他们的充分理由。


引用
关于T5的Any,你举的例子是T4中的,T4我没用过,也许T5的any也是想设计成支持任何html,但可能目前还有一些bug。国际化问题我不想多说,你可以试试,如果你成功了,希望你联系我。但我想通过inject response来解决国际化问题,有点杀鸡用牛刀的感觉,那我还要Tapestry5何用?


不好意思,我确实没有试用过T5, 我看过楼主你的那个修改T5源码让他支持UTF-8的文章,T4下面支持很好,要知道T5还没有release,你用过还没有release的SERVLET嚒? T4的文档上说了怎么改locale,如果你觉得有bug,你可以像修改T5一样修改T4。

引用
GWT的传参问题我也不想多说,你自己试一下,如果你可以成功的用GWT编辑某个持久化对象,也请你联系我,url要能够象 xxx.com/mygwtpage?id=1234 运行的。


请你不要用看到jsp的眼光看到GWT,ajax,GWT本来就是one page one application的应用。

引用
你关于此帖的回复,主要强调GWT和Tapestry5可以做到我认为很麻烦的事情,那又如何呢,即便他能做到,也不能成为选择他们的充分理由。


谢谢你不用他们。
53 楼 jasongreen 2007-03-22  
sp42 写道
RIA的话,推荐Ext+Servlet+JDBC


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

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

我现在的感想就有如这个吃饼的人,为什么不直接用Veclocity和Ext呢?
52 楼 sp42 2007-03-22  
RIA的话,推荐Ext+Servlet+JDBC
51 楼 DT1 2007-03-22  
推荐Webwork+Freemarker+hibernate(+Spring?)
50 楼 stone 2007-03-22  
gwt是什么,从它的定义可以看出,toolkit,只是一个工具而已.不要把它当作一个成熟的框架.

我不是抬举gwt,但是它的出发点非常的好:java2javascript.用它对于一个java高手来说可以轻松搞定一个js而不用code js.

当然,gwt的结果会生成一大堆js,太庞大了(但这和普通的ajax框架差不多少),这些js一个最大的好处是跨浏览器,一个普通的application中的js谁敢说可以跨任意的browser??

gwt的编译是慢,但你的工作不会一直在编译这个东西吧,生成之后就是js,能够用就可以了.而且我在编译的时候没有感觉有多慢啊
49 楼 jasongreen 2007-03-22  
再说两句题外话,也许是教育的问题,国人及其缺乏创造性,很喜欢盲从。
对国外的技术,我们当然要去了解,但似乎很多人只关心学会去用,而不去考虑他的优点与缺点,知其然而不知其所以然,如何才能产生新的创意。
对于我所列举的被否定的框架,都是一些很有知名度的项目,他的优点肯定不需要再说的,但对于一个追求完美的人来说,不应该就此满足。
48 楼 jasongreen 2007-03-22  
heweiya 写道
严重对楼主生气中....
技术及技术工具只是你完成一个应用的有力辅助,一个应用也可以选择不同的技术完成,也可能是多种技术的混合体,能够成功的开放一个应用,并能够满足企业日新月异的变化等等,给企业带来效益是写程序的最终目的。
至于楼主说的被抛弃的技术大致有三类:
1、AJAX-GWT,GWT我也试过,不过最终选择了DOJO。
2、框架,不管是STRUTS或者是面向组件的Tapestry,都可以完成你的应用。我使用struts经常做中小型项目,Tapestry也在一个项目当中有所引用,难道他们应该舍弃吗?关键是没有对他们用到出神入化的境地,也有可能是对他们的扩展或者改造不到位。
3、快速开发,我很欣赏这种思想带来的革命,我也很欣慰自己生活在这个开源思想的世界里,快速开发是节省项目成本的有效方法,同样如果对快速开发有很深见底的话,对项目的质量也是有很大的贡献的。使用ROR或者Grails能够让你关心应用本身所需要的和最关键的,而至于技术实现的很多细节,可以不多关心。
对于一个项目承包者,使用ROR或者Grails让你从程序员的角色当中脱离出来,更多关心需求和扩展等方面的东西。这才是一个项目成功的关心点。
呵呵,个人观点,只供参考。


你这样的概括将陷我于万劫不复之地,我抛弃(其实对某些框架而言,是放弃,而不是抛弃)了GWT,但没有抛弃AJAX,抛弃了STRUTS,Tapestry5,但没有抛弃框架,抛弃了Grails,ROR,而没有抛弃快速开发。

如果要概括一下的话:
1.我抛弃了与其他页面技术不能很好兼容的Ajax技术,典型代表就是GWT了。
2.我抛弃了过于强势的框架,所谓强势框架,主要是规矩多,或者配置烦,或者学习曲线高,或者整个流程全面封装,让人束手束脚。典型的Struts1.x,Tapestry 5。
3.我抛弃了建立在非主流语言基础上的框架,快速开发的确很好,很不错,不选择他的理由与C++程序员不选择VB和delphi的理由是一样的。如果你还不知道你的软件会实现多么强大的功能的话,不要选择VB,当然如果你做demo的话,那很好。对Grails和RoR,我也是同样的观点,如果做demo的话,很不错。
47 楼 jasongreen 2007-03-22  
hgq0011 写道
java给我们选择太多,风险也会有的,学习曲线也会有的,获取的知识也会很多,当积累到一定的程度,你的思维也改变了,那么就会很轻松的驾驭它了。对一个项目而言,够用就好。


good  java的选择如此之多,我们到底是要精还是要广。我个人的观点是,对于java语言基础要精,而对开源框架,还是要了解的面广一些,但不需要很精,因为他什么时候被淘汰都是难说的。
46 楼 jasongreen 2007-03-22  
dengyin2000 写道
关于你说的在tapestry中怎样改变Locale你可以看看 http://tapestry.apache.org/tapestry4/UsersGuide/localization.html#localization.changing

你了解在servlet中怎么做么? 说实话我没有做过国际化,但我依稀记得在HttpServletRequest HttpServletRequest中有对setLocale和getLocale的方法,然后在T4的USER GUIDE上找到了怎样改变T的locale,不知道这个是不是你说的问题。

引用
对页面跳转,支持也不够好,ActionLink和PageLink只能跳到他自己的页面,必须自己写个组件实现动态的asdfa,


我不清楚你说的是什么意思,你说的是这个意思嚒。我用any组件可以实现任意的html。
<a jwcid="@Any" herf="ognl:anyLinkURL"></a>


引用
比如你尝试让response返回一个文件下载,是不可能的,T5会抛出错误。
即便可以,也让人觉得太麻烦了,既然我需要inject response,何不直接用servlet,而要拐弯抹角使用T5呢?


从这个问题上我可以知道你应该是一个T的新手。用过T的都知道你需要使用T中的IEngineService去做的。你有看过tapestry自带的workbench 例子的Chart的例子嚒?可以看看这篇文章。http://dengyin2000.iteye.com/blog/47453

引用
但当我需要修改一个Pet的时候,怎么办,必须知道所要修改的Pet的id,GWT写的客户端代码是无法接受参数的,因为他是一个HTML而不是一个Servlet,而RemoteServiceServlet只是一个Service,只用来作RPC,他也不会返回一个GWT页面。
你会怎么解决?当页面需要接受参数时,GWT几乎是无能为力的,因为他是html,他只能在返回一个有动态效果的页面,而不会返回一个有动态内容的页面,也许我说的不是太明白。


说句实话,我真的没有听懂你说的。你有写过SWing么,你可以像写SWing一样写GWT。你也可以把ID传来传去。


关于T5的Any,你举的例子是T4中的,T4我没用过,也许T5的any也是想设计成支持任何html,但可能目前还有一些bug。国际化问题我不想多说,你可以试试,如果你成功了,希望你联系我。但我想通过inject response来解决国际化问题,有点杀鸡用牛刀的感觉,那我还要Tapestry5何用?

GWT的传参问题我也不想多说,你自己试一下,如果你可以成功的用GWT编辑某个持久化对象,也请你联系我,url要能够象 xxx.com/mygwtpage?id=1234 运行的。

我不想多说,有些时候不是可不可以,能不能做到,的问题,而是如何做到的问题。什么开源框架都是万能的,大不了改他的源码。我更想知道框架的idea,如果他的idea不够好,不会因为他可以如何如何就去选择他的。

你关于此帖的回复,主要强调GWT和Tapestry5可以做到我认为很麻烦的事情,那又如何呢,即便他能做到,也不能成为选择他们的充分理由。
45 楼 Anthrax 2007-03-22  
hehe,到底是楼主抛弃了框架还是框架抛弃了楼主,值得思考。
在你抛弃grails和歧视脚本语言的时候,我就知道楼主注定也会嫌弃ROR地。
ps:想娶人家入门,不了解不沟通,光看姑娘外表,是不对地!是不会有真感情地!呵呵
44 楼 somebody 2007-03-22  
giscat 写道
spring mvc 有些复杂
  不过仁者见仁,智者见智了


恩。有些太"灵活"。
还是觉得webwork不那么灵活好些。
43 楼 giscat 2007-03-22  
spring mvc 有些复杂
  不过仁者见仁,智者见智了
42 楼 chenqj 2007-03-22  
spring mvc也挺好的
非常灵活,喜欢他的simpleformcontroller
41 楼 heweiya 2007-03-22  
严重对楼主生气中....
技术及技术工具只是你完成一个应用的有力辅助,一个应用也可以选择不同的技术完成,也可能是多种技术的混合体,能够成功的开放一个应用,并能够满足企业日新月异的变化等等,给企业带来效益是写程序的最终目的。
至于楼主说的被抛弃的技术大致有三类:
1、AJAX-GWT,GWT我也试过,不过最终选择了DOJO。
2、框架,不管是STRUTS或者是面向组件的Tapestry,都可以完成你的应用。我使用struts经常做中小型项目,Tapestry也在一个项目当中有所引用,难道他们应该舍弃吗?关键是没有对他们用到出神入化的境地,也有可能是对他们的扩展或者改造不到位。
3、快速开发,我很欣赏这种思想带来的革命,我也很欣慰自己生活在这个开源思想的世界里,快速开发是节省项目成本的有效方法,同样如果对快速开发有很深见底的话,对项目的质量也是有很大的贡献的。使用ROR或者Grails能够让你关心应用本身所需要的和最关键的,而至于技术实现的很多细节,可以不多关心。
对于一个项目承包者,使用ROR或者Grails让你从程序员的角色当中脱离出来,更多关心需求和扩展等方面的东西。这才是一个项目成功的关心点。
呵呵,个人观点,只供参考。
40 楼 hgq0011 2007-03-22  
java给我们选择太多,风险也会有的,学习曲线也会有的,获取的知识也会很多,当积累到一定的程度,你的思维也改变了,那么就会很轻松的驾驭它了。对一个项目而言,够用就好。
39 楼 giscat 2007-03-22  
文档,图档管理系统
  会做文件的迁入迁出,版本控制,痕迹保留等
  在制造行业应用比较多
  主要是设计图纸,文档等的管理
   这个东东还是C/S玩得转
38 楼 hgq0011 2007-03-22  
giscat 写道
hgq0011 写道
jvincent 写道
企业ERP应用还是Applet来的爽..
这个能更深入一点说说吗?在我看来,企业的B/S下的系统如果客户端要用到本机的资源,那么还得用到applet。


  这个在文档,图档管理系统中比较常见,
   涉及本地资源的,用B/S整挺费劲的,还是直接上C/S的好
“文档,图档管理系统”管理文件?不过我们也有一个系统就是在B/S下开发的,也没有用applet,也能很好的管理。不知道你说的用applet来开发它有什么好处呢?
   “涉及本地资源的,用B/S整挺费劲的,还是直接上C/S的好”确实C/S下可能更好,我这几天也在调试用applet调用客户端的硬件资源,调试可真痛苦,但还是基本搞定。因为平时都是用web方式开发,我对swing还是比较熟悉,但是团队的其他成员,就不懂了,所以还得用这样的方式。
37 楼 giscat 2007-03-22  
hgq0011 写道
jvincent 写道
企业ERP应用还是Applet来的爽..
这个能更深入一点说说吗?在我看来,企业的B/S下的系统如果客户端要用到本机的资源,那么还得用到applet。


  这个在文档,图档管理系统中比较常见,
   涉及本地资源的,用B/S整挺费劲的,还是直接上C/S的好
36 楼 hgq0011 2007-03-22  
jvincent 写道
企业ERP应用还是Applet来的爽..
这个能更深入一点说说吗?在我看来,企业的B/S下的系统如果客户端要用到本机的资源,那么还得用到applet。

相关推荐

    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