First they ignore you
          then they ridicule you
          then they fight you
          then you win
              -- Mahatma Gandhi
          Chinese => English     英文 => 中文             
          隨筆-221  評論-1047  文章-0  trackbacks-0

          A month ago, if you would've told me that I was soon to become a raving Groovy and Grails fanatic, I would've told you that you were crazy. I've had a passing interest in Groovy for awhile, but not enough to really get excited. As for Grails...well...I just lumped it in along with Trails, Sails, and all of the other Rails wannabe frameworks.

          But then I sat in on Groovy and Grails talks at the LoneStar Software Symposium. In short, I was blown away!

          The first thing I learned was that Groovy had matured quite a bit and is likely to reach 1.0 status in the very near future. This is good news because it will help bring Groovy out of its current "toy" status and into the proverbial "real world". Also, Venkat was able to demonstrate some killer language features in Groovy that up until now have been reserved for the Ruby folks.

          Then in his next section, Venkat covered Grails. I sat in as a skeptic, but walked out a believer. Grails isn't just a Rails-wannabe...it's the real deal! While Venkat was demonstrating Grails, I downloaded and installed Grails and followed along, building the same example on my laptop. I was very impressed at how very Rails-like it felt. It's not a perfect match to Rails, but it's darn close...close enough to make me like it.

          When developing in Grails, you can run your application within the built-in Jetty server. In many ways, this is much like running a Rails app in the built-in WebBrick server. Once you're done, Grails provides a command that creates a good old-fashioned WAR file, suitable for deployment in your favorite servlet container.

          What's even more cool about Grails is that it has Spring and Hibernate under the covers. But you won't need to know that unless you want to wire dependencies into your controllers using some of Spring's dependency injection goodness or if you want to tweak the database mapping.

          Speaking of database mapping, this is one place where Grails differs slightly from Rails. Where Rails uses ActiveRecord for domain object persistence, Grails uses GORM. Some folks I know are a bit put off (understandably so) by ActiveRecord which starts with a database schema and infers a domain model. GORM, on the other hand, takes the opposite approach, starting with domain objects and infers a database schema. Of course, if you don't like the inferred schema, it's Hibernate under the covers, so you're free to tweak the mapping to your heart's (or data architect's) content.

          What's more, I also learned that Oracle has put their stamp of approval on Grails. Not that it matters much to me...but a big name like Oracle legitimizes Grails a bit more.

          Finally, with a fewGroovy and Grails books making their debut, now's a perfect time to plug in and learn some Groovy and Grails stuff.

          You'll notice that I've added a "Groovy|Grails" category to my blog. This is the first and only blog entry under that category for now. But expect more stuff here as I dig into Groovy and Grails more.


          原文地址:http://jroller.com/page/habuma?entry=i_m_digging_groovy_and
          附:Groovy輕松入門--Grails實戰之GORM篇
          posted on 2007-04-06 23:59 山風小子 閱讀(623) 評論(2)  編輯  收藏 所屬分類: Groovy & Grails
          主站蜘蛛池模板: 仁怀市| 西峡县| 札达县| 重庆市| 得荣县| 大宁县| 榆林市| 壶关县| 长阳| 仙桃市| 泸定县| 新乡市| 宿迁市| 洪泽县| 禄劝| 左贡县| 祁阳县| 溧阳市| 瑞丽市| 平阴县| 贵南县| 肇庆市| 庄河市| 思茅市| 汪清县| 桂林市| 秦安县| 马鞍山市| 杂多县| 浮山县| 长泰县| 竹溪县| 林芝县| 巴楚县| 军事| 阿拉善盟| 彰化县| 新疆| 乐清市| 仙游县| 北宁市|