What is Razor?
Razor is a development tool and Web
control for creating and deploying rich user interfaces in a Web
browser. It solves the developers dilemma of how to preserve all the
capabilities users know and love in Windows apps while delivering a
think UI that has all the administrative advantages of Web-based
applications.
Razor has two main parts: the Razor Developer’s Studio and the Razor
Run-Time. The Developer’s Studio is a forms-driven IDE that allows
developers or designers to quickly create screens with the same controls
and options as Windows. Those forms are compiled into secure Razor forms
and streamed down to the desktop.
The Run-Time Environment is a plug-in for Internet Explorer that renders
the Razor forms. A secure and signed control, it is downloaded to the
client on the first use of a page with Razor content.
Who should use Razor?
There are two main audiences for
Razor:
• Developers charged with creating a thin UI for new or
existing applications
that requires the same usability and
richness as Windows applications.
• Webmasters and Web site developers who need to offer
powerful data
manipulation tools for customer portals or
Intranets.
Both groups face similar challenges
of building rich content that is easy to maintain and will run under
many different levels of bandwidth. Razor is the only tool that can
deliver on the promise of Web-based apps that have a lower
administration cost and yet are still highly useable.
What is the client footprint of Razor?
The Razor run-time is small (<120K)
control that is downloaded on time to the client. The implementation is
analogous to that used by the Flash or QuickTime players. Razor forms
are typically between 10K to 20K in size.
What web servers does Razor support?
Razor is Web server agnostic so it
will work with everything from Microsoft’s IIS Server under Windows to
Apache under Linux.
I already have Visual InterDev or Visual
Studio.NET. Will Razor coexist with those tools?
Razor can ‘plug in’ to these tools
and work in conjunction with your current IDE, allowing you to create
rich user interfaces in Razor and still have the quick access to the
rest of your code.
Can’t I do everything that Razor
does through scripting?
While it is possible to do some of the things that Razor does by
creating JavaScript or VBScript, Razor still gives the developer much
more control and many more options over scripting:
|
Function |
Scripting |
Razor |
|
UI code and settings easy to maintain and
change? |
NO |
YES |
For mask controls, works like
Windows equivalents. |
NO |
YES |
|
User can size columns in a ListView at
runtime. |
NO |
YES |
|
Dynamically populate ListView and combo boxes
at runtime. |
NO |
YES |
|
Support for real numeric controls like the
Windows equivalents. |
NO |
YES |
|
Update content dynamically without refreshing
the page. |
NO |
YES |
One of the biggest benefits
of Razor is its maintainability. Writing huge amounts of JavaScript or
VBScript is a throwback to the days when we didn’t have visual UI design
tools, when all UI was hand-coded. Defects are hard to find and fix and
the learning curve for a new developer is steep. There’s also nothing
RAD about developing Web UIs with scripting and DHTML. If you want a
rich UI that is easy to update and quick to develop, you need Razor.
Can’t I do everything that Razor does
through ActiveX controls?
It is possible to replicate Razor’s
rich functionality using ActiveX controls or other Windows binaries on a
Web page. The drawbacks, of course, are the massive footprints of such
an implementation and the potential security problems with signing and
registering each control. Razor delivers all of this power in a single,
lightweight, container object, one that is highly safe and needs only to
be installed one time.
What about security?
Razor’s Run-Time Environment is a
single, signed control. All of the UI code for Razor forms executes in
this sandbox and access to the system resources is configurable by the
network administrator.