is usually the case with anything "new" there’s a lot of FUD and
confusion out there with people who have not used Grails yet, that may
be stopping them using it. Here’s a quick list of some of the more
common falsehoods being bandied about:
- "Grails is just a clone of Rails". Ruby On Rails introduced and
unified some great ideas. Grails applies some of them to the
Groovy/Java world but adds many features and concepts that don’texist
in Ruby, all in a way that makes sense to Groovy/Java programmers.
- "Grails is not mature enough for me". The increasing number of live
commercial sites is the best answer to that. Its also built on
Hibernate, Spring and SiteMesh which are well-established technologies,
not to mention the Java JDK which is as old as the hills. Groovy is
over three years old.
- "Grails uses an interpreted language (Groovy)". Groovy compiles to
Java VM bytecode at runtime. It is never, ever, ever interpreted.
Period. Never. Did I say never ever? Really.
- "Grails needs its own runtime environment". Nope, you produce good
old WAR files with "grails war" and deploy on your favourite app
container. During development Grails uses the bundled Jetty just so you
have zero configuration and dynamic reloading without container
- "My manager won’t let me use Grails because it isn’t Java". Smack
him/her upside the head then!** Grails code is approximately 85% Java.
It runs on the Java VM. It runs in your existing servlet container.
Groovy is the greatest complement to Java, and many times more
productive. You can also write POJOs for persistence to databases in
Java and include Java src and any JARs you like in a Grails
application, including EJBs, Spring beans etc. Any new tech can be a
hard sell in a cold grey institution, but there’s rarely a more
convincing argument than "Hey Jim, I knocked up our new application
prototype in 1hr in my lunch break with Grails - here’s the URL". [**
comedy violence kids, not the real kind]
- "Grails is only for CRUD applications". Many demos focus on CRUD
scaffolding, but that is purely because of the instant gratification
factor. Grails is an all purpose web framework.
- "Scaffolding needs to be regenerated after every change".
Scaffolding is what we call the automatically generated boilerplate
controller and view code for CRUD operations. Explicit regeneration is
never required unless you are not using dynamic scaffolding. "def
scaffold = Classname" is all you need in a controller and Grails will
magic everything else and handle reloads during development. You can
then, if you want, generate the controller and view code prior to
release for full customisation.
- "Grails is like other frameworks, ultimately limiting". All Grails
applications have a Spring bean context to which you can add absolutely
any Java beans you like and access them from your application. Grails
also has a sophisticated plugin architecture, and eminently flexible
custom taglibs that are a refreshing change from JSP taglib.
- "I can’t find Grails programmers". Any Java developer is easily a
Grails developer. Plus there are far fewer lines of code in a Grails
application than a standard Java web application, so getting up to
speed will be much quicker.
- "Grails will make you popular with women". Sorry quite the
opposite, you will be enjoying coding so much you won’t be chasing any
women for a while. We should put this as a warning in the README
actually, along with a disclaimer about any potential divorce that
might result from hours spent playing with your Grails webapps.
Why not come and hear other people talk non-FUD about how they are building web applications in double quick time at Grails Exchange 2007, tickets available now.
附：朝花夕拾——Groovy & Grails
posted on 2007-07-07 23:33 山风小子
阅读(898) 评论(0) 编辑 收藏
所属分类: Groovy & Grails