Our company has a browser-based medical application. The user interface
is a bit clunky/cumbersome, but the application itself is quite
powerful. The application currently utlizes a Java/XML/XSL based server
and ALL rendering is done with 100% XML/XSL.
We have just completed a usability study and we have determined that we
must incoporate a different user interface technology in order to
provide a better user experience. I have started looking at AJAX, SWT,
Swing, .NET, Atlas, Eclipse framework, etc. So far, I really like the
idea of an AJAX-based approach because it requires no additional
software on the client. However, I am concerned about the amount of work
involved in doing this.
I have recently discovered RoR, and I really like the language.
Apparently, it also provides a framework for doing AJAX applications.
However, I’m not sure the “framework” can handle the complexity of our
application. Our application (and UI) is 100% data driven, e.g. the
initial “tabs” that come up with the application are dynamic and based
on data in a database. The application consists of “default” data that
allows the application to run “unmodified”. HOWEVER, medical facilities
and specific physicians can override the “default” behavior of the
application (tabs, inputs) to generate facility specific and physician
specific medical documentation. The underlying inputs are driven by
complex “decision trees” that represent complex medical procedures, e.g.
knee arthroscopy, shoulder arthroscopy, etc.
So, I have a few questions:
Can RoR handle complex applications that have complex backend
Where can I find a RoR consultant to help assess the feasibility of
using RoR for our application.
Apparently, RoR has built in support for tabs. Our application
requires different tabs for different facilities, and this is defined by
a database. Can the RoR tabs be generated dynamically based on data in a
database? At a brief glance, it looks like RoR is based on HTML
templates, and I am assuming that the tabs would be specified in these
templates. The problem is that the template itself is dynamic.