<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Chan Chen Coding...

    Why Did I Fall in Love with Play Framework

    Why Did I Fall in Love with Play Framework
    Some time ago, I was the tech lead for a few very large deployments on the Real Estate market for companies like Fannie Mae, Freddie Mac, Foreclosure.com and HUD. We were running that traditional enterprise Java stack you are probably familiar with - Spring, Hibernate, Solr, etc. It took a few years but we had built a very nice system; it performed well but deep inside I felt development wasn’t as productive as it should have been. I also noticed that the whole dev process wasn’t as fun as it used to be.
    Of course, I had heard a lot of great stories about Rails, Django and, more recently, Node.js; there were actually some compelling stories surrounding those technologies. I ended up spending a fair amount of my spare time working on those technologies, and I actually had a really great time building some small apps and prototypes with them. But then I would wake up the next morning, go to work, face another big important project and go right back into my tried and true: Java.
    One of those projects was an online offer management system for Fannie Mae which was to receive a billion dollars in offers in its first month. In my mind, there was no way I would introduce a brand new language - especially a scripting language like Python or Ruby - to the team for such an important project. From personal experience, I feel it’s difficult to manage a large project without type checking. I was basically between a rock and a hard place because I wasn’t very excited about the options in the Java space, and I had only a very modest level of success with the other alternatives like Grails, Spring Roo, etc. At the same time, I wasn’t about to give up on Java as a language, especially on the JVM which I grew to trust because of its reliability.
    Then I ran into Play; it was love at first sight for me. I’d love to tell you how I ran into Play, just follow me on Twitter (@_felipera). Once I decided to take it for a ride, I was up and running right away! With a simple command, “play new”, the whole application structure was defined. Follow that with another simple command, “play run”, and I was ready to get the party started! I felt instant relief because Ididn’t need to come up with all those XML files, Spring’s applicationContext.xml, the web.xml, Hibernate’s HBM files, and THEN figure out how to wire them all together! Even after years working on those technologies, I still had to copy and paste them from somewhere; I could never remember all that syntax.
    Another obvious compelling point for me was Play’s ability toreload classes on the fly without having to re-deploy the entire application or restart the server. I think we all know what it’s like to be working on an application, make a change to a class, execute maven or ant deploy … wait until a war is packaged … copied to a deploy directory … wait for the servlet context to get destroyed … then wait some more for the application to be deployed. And THEN … once the application is FINALLY deployed, we open the browser, hit our development environment and THERE’S A BUG! The problem could be as simple as a single character misplaced somewhere. It doesn’t matter what the problem is, we still need to go over that entire process all over again. By the third or fourth time that happens, the developer zones off on Slashdot, Hacker News or whatever his/her favorite website is. Play handles class reloading beautifully; you really don’t have to restart your server!
    I was also attracted toPlay’s Stateless model, that “Share Nothing” HTTP architecture. Many of us were unfortunate enough to have developed, and even worse, supported J2EE-based applications that were built on a Stateful model. It was really hard managing state, cluster-safe cache objects, HTTP sessions, especially for those Enterprise Java Beans (EJBs) and that whole concept of attached objects. Play doesn’t share state between each node which simplifies the management of your cluster, and it provides a cluster-aware and cluster-safe caching solution.
    Man, I could go on and on all night but I’ll spare you from all my craziness! In a nutshell, Play is a full stack frameworkfor modern Web applications with a NIO-based development and production servers,full support for MVC, a persistence engine, a fully integrated testing framework (unit testing and functional testing), a powerful async Web Service client, an async-based job manager, multiple extensions are available through modules, support for full customization on the framework behavior through its plugin mechanism, dependency management, validation framework and even more advanced features such as WebSockets.
    I don’t know if you guys know this but I’m an old man; I’ve been developing Web applications for 15 or so years now. And for the most part, with undying passion. But Play has rejuvenated my love for developing Web applications all over again.
    Read more: http://www.javacodegeeks.com/2011/10/play-framework-why-did-i-fall-in-love.html#ixzz1lIHh4Ai8


    -----------------------------------------------------
    Silence, the way to avoid many problems;
    Smile, the way to solve many problems;

    posted on 2012-02-18 15:47 Chan Chen 閱讀(166) 評論(0)  編輯  收藏 所屬分類: Scala / Java

    主站蜘蛛池模板: 一区二区三区观看免费中文视频在线播放 | 四虎AV永久在线精品免费观看| 亚洲人成网站日本片| 久久青草免费91线频观看不卡| 亚洲午夜久久久久久噜噜噜| 一级毛片试看60分钟免费播放| 亚洲国产精品一区二区第四页 | 免费国产小视频在线观看| 亚洲GV天堂GV无码男同| 国产精品国产午夜免费福利看| 苍井空亚洲精品AA片在线播放 | 中文字幕无码精品亚洲资源网久久| 日韩毛片免费无码无毒视频观看| 国产人成亚洲第一网站在线播放| 四虎在线免费播放| 污网站在线观看免费| 亚洲午夜国产精品无码| 暖暖在线视频免费视频| 亚洲精品国产福利在线观看| 手机在线看永久av片免费| 精品国产日韩亚洲一区91| 亚洲精品线路一在线观看| 午夜老司机永久免费看片| 亚洲中文久久精品无码1 | 国内精品免费视频精选在线观看| 亚洲嫩草影院久久精品| 九九九精品成人免费视频| 深夜A级毛片视频免费| 亚洲gv白嫩小受在线观看| 免费观看AV片在线播放| 国产精品亚洲综合网站| 亚洲伊人久久精品影院| 1000部拍拍拍18免费网站| 亚洲国产成人AV网站| 亚洲欧洲∨国产一区二区三区 | 日本人的色道www免费一区| 亚洲国产免费综合| 亚洲国产精品张柏芝在线观看| 日韩一级视频免费观看| 中文字幕无码免费久久| 亚洲一线产品二线产品|