110 likes | 211 Views
GWT and Ruby on Rails A Comparison. April 2, 2010. Presented by: Neetha Sebastian Spring 2010 CS 6125 nms2140@columbia.edu Team Name : S Team Memebers : Monal Sanghvi, Neetha Sebastian. Who are the consumers?. Does it simplify?. Is it easy to adopt?. Does it enhance productivity?.
E N D
GWT and Ruby on Rails A Comparison April 2, 2010 Presented by: Neetha Sebastian Spring 2010 CS 6125 nms2140@columbia.edu Team Name : S Team Memebers : Monal Sanghvi, Neetha Sebastian
Who are the consumers? Does it simplify? Is it easy to adopt? Does it enhance productivity? • Developers of the application. • End users of the application. • Is it easier to develop a solution when usingthe framework? • Does it have too big a learning curve? • Does the developer have to invest too much time figuring out how to do some things with the framework? • Does it reduce the overall time required to complete developing an application? Looking At A Framework As A Product Framework As Product
Looking at Dev ExperienceMultiple elements make a good tool Good development environment Easy debugging Easy transition from development to production. Availability of other tools
GWT and Rails : Development Environment GWT Rails • Plugin available for Eclipse • Range of tools offered in Eclipse • Intellisense • Detecting compile errors. • Code Completion • GWT seems built with IDE use in mind. • Many tools that it provides seem to be built into the IDE • No special functions for watching elements etc. • NetBeans introduced a bundle for Ruby and Rails. • Many tools offered by NetBeans. • Type inference needed because Ruby is dynamic • Intellisense, code completion • Rails was developed without initially offering IDE support. • Many features assume command line development • Special functions available for watching elements. Etc. Good Development Environment for both available.
Debugging : GWT vs Rails Interactive Debugger is available for both in Eclipse / NetBeans. Easy to watch elements, step through code, look at stacktrace etc. 1 2 GWT Rails Dev Mode Production Mode ruby_debug Spl. Functions Logging • Code still in Java, so full debugging capability of Eclipse for client side as well as server side code • comes as a gem, installed separately, can only be used with WEBrick or Mongrel as web server • to_yaml, inspect methods available to view the state of a variable while running • Mostly for testing. Easy Debugging possible in both.
Other tools available in GWT and Rails GWT1 Rails1 Speed Tracer Code Splitting Rake Generate • Performance data of an application shown as sluggishness graph and network graph • Shows details of how much time is taken by each part of an application • Certain parts of an app are specified as “async” • Loading async parts of an app is done after application startup time • Greatly improves performance • Common admin tasks • Like “make” • rake doc:rails • rake test:integration • A tool to automatically generate code for repeating tasks • Generate a whole application. 1. Not all tools shown here; only 2 examples each
Performance Testing Tools Output: A Comparison Easy to understand graphical output GWT Rails Absence of graphical output makes it difficult to understand
Absent; hence Interop with hibernate Detailed and not automatic Generates SQL calls on its own. Application portable to all supported databases Need experience with Hibernate Hibernate Query Language Built in, Use ActiveRecords No configuration most of the time Hides details of the database No use of SQL Even for schema definition, portability is good. Easy to learn and use. Comparison of Database Access in GWT and Rails Importance of Database access in web application frameworks • Database Access : Repeating piece of code, frameworks can offer prebuilt functionality. • When doing so, a framework should be sufficiently flexible: • Provide database independent functionality. • Familiar looking syntax for database connectivity GWT Rails Built in functionality Configuration / Mapping Database Independence Ease of Use Rails has more easy to use database connectivity; GWT packs more power
Comparing Testing in GWT and Rails GWT Rails No modifying databases in undesirable ways Generate test data automatically 2 Unit testing Check performance in different browsers 2 Production Mode Production Mode Fixtures JUnit or GWTTestCase 1 1 Testing in Rails Testing in GWT Skeleton code Web app creator 3 3 Built-in Methods Code coverage tool – Emma Automatically generated test cases 4 4 Interfaces with free Java code coverage tool Generate skeleton test code automatically Separate functionality. availbable for unit, functional , integration testing
GWT seems to be aimed at the power user, with sophisticated tools being provided for development Large scale applications are easily built Designed to increase productivity by giving developer more power, not by reducing number of lines of code Learning curve and adapting to the use of GWT might take longer Suitable even for novice users, the stress is on writing less code and automating writing of code. Favors Rapid Application development Designed to increase productivity by eliminating amount of code to be written by dev. Suitable even for people who don’t have much web development experience Conclusion GWT Rails Users Targeted Application Development Productivity Enhancement Ease of Use
Bibliography • [1] The Google Web Toolkit Devleoper’s Guide, • http://code.google.com/webtoolkit/doc/latest/DevGuide.html • [2] 5 Question Interview with Twitter Developer Alex Payne, Radical Behavior, Blog by • Josh Kenzer, March 29, 2007. • [3] Ruby on Rails Bible, Timothy Fisher, Indianapolis, Ind, Wiley, 2007. http://cliobeta.cul.columbia.edu:7018/vwebv/holdingsInfo?bibId=7138803 • [4] SpeedTracer, Google Web Toolkit Documentation pages, Google Code website. • http://code.google.com/webtoolkit/speedtracer/ • [5] Hibernate Community Documentation • http://docs.jboss.org/hibernate/stable/core/reference/en/html/queryhql.html Thank You!