From: Bryan Murphy Date: 2002-01-24T02:13:44+09:00 Subject: Re: [ANN] Ruby Publishing Framework v0.5.0 Yohanes Santoso wrote: >Being lazy, may I ask how does RPF compares to Apache Cocoon 2 or >Apache Forest (still not an official project, I think) in terms of >complexity and functionality? > That's a perfectly valid reason! The whole reason I created this project in the first place is because I'm lazy and want to get as much done as possible with as little work (over the long haul, not in the short term). :) Anyway, there are some differences since this is a Ruby project, but I'm trying to keep as close to the Cocoon2 ideas as possible (for now anyway) and am definitely working towards making the sitemaps as similar as possible. Right now, Generators, Transformers, Serializers, Actions, Selectors, and a default regex Matcher more or less work. Selectors and Actions are not quite as clean as they will be, but they get the job done at this point. I have a File Generator, an ERuby generator (like the JSPGenerator for Cocoon but using ERuby), an XSLT transformer, and HTML and XML serializers already up and running. Logic sheets, XSP files, caching, views, multiple pipelines, and action sets are missing. Some will go in over time (action sets, XSP, logicsheets, caching), some may be unneccessary depending on how other parts of the project and my ideas flesh out over time (views, multiple pipelines). My priority right now is basic documentation. After that I'll probably clean up selectors and actions a bit, fix any important bugs and then start working on an XSP implementation. I also want to build in some basic logic sheets and/or transformers that do some usefull stuff (like XInclude). Ruby being what it is, I expect documentation to be the hardest and most time consuming part ;) That's functionality... as for complexity, I guess that's more a matter of opinion. Some things aren't there and probably won't be in for a long time if ever (unless somebody else contributes them) such as built in support for doing SOAP, SVG, PDF and the like. I need to focus on the core framework before I worry about the extras. Don't take that the wrong way though, I would love to see something like SOAP4R integrated into the project at some point. Now, you can put ruby, the framework, and all the modules needed to run the framework on a single floppy. That's nice. The overhead of Java is absolutely GONE, which is saving a LOT of wear and tear on our server already (my old links application was written in Cocoon2, hardly ever used, and the JVM still sucked up half the machines resources). I'm pleasantly surprised with the performance so far. I don't think my application has taken much of a performance hit from the move, although I've made no means to exactly quantify the speed differences. I do know one thing for sure, building the Ruby version is a hell of a lot easier than building the Java version was. No more compiling, no more restarting Tomcat and fighting with that. No more clearing out temp directories, and restarting Apache takes 5 seconds. So, I can't really answer the complexity question. I do think at this point the framework is geared more towards building larger applications... but when I get the basic logic sheets and XSP completed building small simple applications will hopefully be easy and stupid quick. Regardless, I think it's a LOT easier to get up and running and use than the Java version. >I feel that the Apache's stuffs are complete, but way to overkill for >small sites. > Yes, I absolutely agree with that, which is part of the reason for creating the Ruby framework. Some of the ideas behind Cocoon are very powerfull, but all the Java stuff and the compile/deploy cycle is a pain in the ass for web development. I guess it's like the difference between building an MFC application and a Visual Basic application. One is quick and easy, one is more powerfull and flexible and gives you a better program in the long run (well, at least for Microsoft based products ;). If I can bring some of that flexibility and power to the Ruby world, and make things easier at the same time, well if nobody else uses it at least MY web applications will be better off! Bryan