Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Werner Schuster on Mar 19, 2008 07:10 PM
RadRails, part of the Aptana IDE, is now available in version 1.0. The popular Rails development tool has been around for some time, but this latest version adds some useful new features for Ruby, as well as Ruby on Rails developers. A full comparison of features between RadRails, Netbeans and CodeGear's 3rdRail is available as well, and shows RadRails with more support for refactoring and profiling. Another RadRails feature is the Rails Shell, which allow to issue Rails commands from inside the Eclipse IDE - this is complete with AutoComplete for arguments for the commands and more. (A screencast showing the features of the Rails Shell is available.).The Profiler is basically a wrapper around the ruby-prof gem. We wrap execution of ruby scripts through the ruby-prof bin script and direct it's output to a temporary file. Then when execution is finished we grab the output, parse it and generate the Call Graph and Hot Spots views. This is not yet available for JRuby as there is not yet an equivalent ruby-prof gem with Java in place of the native C code. If that were created, we'd support that right away.RDT has long supported debugging Ruby code in the Eclipse debugger GUI, complete with the faster ruby-debug support. RadRails also ships with jruby-debug, a faster implementation of the JRuby debugging support:
In terms of what's ahead for that functionality: We may work on a modified ruby-prof gem that would act in a manner similar to the ruby-debug-ide gem for ruby-debug - basically allowing a remote connection to the profiler and sending profiling related commands in real-time over a socket (so we could take snapshots, instead of just grabbing output when the app finishes). Or maybe creating that JRuby compatible ruby-prof. It really depends on what our users are looking for. It's a brand new feature so we're just starting to get requests for enhancements.
Yes, with RadRails 1.0 we now support the JRuby version of the ruby-debug gem - so there's a fast JRuby debugging option now. We actually pre-install it into the JRuby we ship.The RadRails 1.0 feature list includes the name "Rubinius" as supported Ruby interpreter. Christopher explains the state of the support right now:
At this point it's pretty much limited to using Rubinius as the interpreter for launching Ruby processes. As Rubinius grows more powerful it'll be more useful to try out gems and eventually Rails with it. There's no real Rubinius specific features at this point (though really there aren't any JRuby or Std Ruby specific features either. We try to support each interpreter as fully as the next. With JRuby and Rubinius it's usually a matter of waiting for a new gem or updated code to be able to enable more functionality).The common debugging protocol implementation is available at RubyForge in the debug-commons project. InfoQ reported about Rubinius' Full Speed Debugger - this is currently not supported by the common debugging protocols, as it needs a different protocol backend to make use of the Full Speed Debugger's API.
If a large number of users start trying out Rubinius and start telling us they miss the debugger, we could certainly work to integrate with their debugger. When we created the debugger for Ruby using ruby-debug we worked with Kent Sibilev and Martin Krauskopf (of Sun, for Netbeans) to share our code - which resulted in a set of common libraries for IDEs to integrate with ruby-debug. So there's already a sort of de-facto standard for integrating RDT/RadRails and Netbeans with a debugging backend. It'd be a matter of hooking up Rubinius's debugger to open a socket and read these XML commands in. (If anyone wanted to work on that, please contact me and/or Martin. It'd effectively make the Rubinius debugger work on both Netbeans and RDT/RadRails in one fell swoop).
At this point we haven't had any major requests for other frameworks. Obviously we're focused on Rails, but under the hood we have a fully functional Ruby IDE (built with RDT). If a framework become very popular and users voiced their requests for support of it, then we'd certainly investigate.RadRails and Aptana are scriptable with Ruby using EclipseMonkey - Christopher discusses the idea behind this feature:
On a related note, a number of users have been using Brad Wilson's HAML and SASS editors. Unfortunately recent releases have broken it's integration with RDT, and Brad hasn't had time to keep it up to date. We're working with him to fold his editors into RadRails itself so that we can maintain them (and possibly improve upon them).
When I created the integration between EclipseMonkey and JRuby I was hoping that we'd get a lot of people who took a look and say "Hey wow, I can script the IDE in Ruby now!". But so far the community hasn't really embraced it to the degree I'd expected. [..] [I saw] that for an end-user they could now iteratively develop new features without a compile step and no need to really download the Eclipse SDK and check out all our source code and then go puzzle over it forever. You just write Ruby/JRuby code, run the script, edit it, re-run and so on. And with the DOMs we can provide a smaller simpler API to play with, that will look and feel like a Ruby API.To get started with Aptana and RadRails 1.0 or simply see the features in action, screencasts are available for a large part of the feature set.
Ensuring Code Quality in Multi-threaded Applications
Effective Management of Static Analysis Vulnerabilities and Defects
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
No comments
Watch Thread Reply