Email:info@use.com.cn
Ruby on Rails
About Ruby on Rails
Ruby on Rails is a web application framework written in Ruby. It serves as an authoring environment to facilitate the rapid development of robust web applications. It allows developers to write less code and get more done in less time. Some notable websites, such as 43things.com, odeo.com and basecamphq.com are created by Rails.
Ruby on Rails’ core is designed to be served up in a dedicated environment and runs best with cached ruby, models, pages, etc...It forces a developer to write neater code, segment work-flow, and focus on the implementation of new ideas to get the job done efficiently and more quickly.
One of the "guiding principles" of Ruby on Rails is Don't Repeat Yourself (DRY). DRY states that definitions should only be written once. Some codes for database interface will be repeated several times in programs that will cost developers large amounts of time and energy to write and maintain. But in Ruby on Rails, just a few lines code will deal with that. In order to allow for flexibility in applications while adhering to this tenet, Ruby on Rails provides many of useful features for not repeating yourself in views.
Another core principle of Ruby is convention over configuration, which means that the only configurations a programmer should write are the unconventional ones. For instance, to build your application or web site, you won't have to configure anything beyond the actions needed for the web site, letting you focus on the most fun parts of building sites.
Differences between Java and C#, Rails uses reflection and runtime extensions instead of configuration files and annotations. Using Ruby on Rails makes it easier to reduce workload for deployment and configuration and build web applications having custom and unusual requirements.
Here are a few of the most important ingredients that make Rails what it is. (Resource from http://www.onlamp.com/ by Curt Hibbs)
Ruby
Much of the power of Rails comes from the Ruby programming language. Ruby's unique design makes it easy to create domain-specific languages and to do metaprogramming. Rails takes full advantage of this.
Full-stack MVC framework
Rails is an MVC (model, view, controller) framework where Rails provides all the layers and they work together seamlessly. Other frameworks often implement only part of the solution, requiring the developer to integrate multiple frameworks into the application and then coerce them into working together. (For example, a Java developer might use Hibernate, Struts, and Tiles to get full MVC support.)
Convention over configuration
Convention over configuration means an end to verbose XML configuration files--in Rails, there aren't any! Instead of XML sit-ups, a Rails application uses a few simple programming conventions that allow it to figure everything out through reflection and discovery. For example, Rails uses intelligent reflection to automatically map database tables to Ruby objects. Your application code and your running database already contain everything Rails needs to know.
Less code
Following the simple Rails programming conventions does more than just eliminate the need for configuration files. It also means that Rails can automatically handle myriad lower-level details without you having to tell it to do so. This means that you write fewer lines of code to implement your application. Keeping your code small means faster development and fewer bugs, which makes your code easier to understand, maintain, and enhance.
Generators
Rails' use of runtime reflection and metaprogramming eliminates much of the boilerplate code that you would otherwise have to create. You can often avoid what little boilerplate code remains by using the built-in generator scripts to create it for you. This leaves you with more time to concentrate on the code that really matters--your business logic.
Zero turnaround time
The typical development cycle for testing a change to a web app has steps such as configure, compile, deploy, reset, and test. This is very time consuming. The Rails development environment has none of this. You simply make a change and see it work. Don't make the mistake of dismissing this as a minor point. It's hard to overstate how much this improves productivity and helps you maintain a creative flow without interruption.
Scaffolding
Rails can automatically create a full set of CRUD (Create, Retrieve, Update, and Delete) operations and views on any database table. This scaffolding can get you up and running quickly with manipulating your database tables. Over time, you can incrementally replace the generated CRUD operations and views with your own--presumably much prettier and more functional.
Below are some good successful web development application cases using Ruby on Rails by USE.
Online Learning Platform
The project is a platform for experience sharing & teaching. After a customer has registered to be a member and completed their personal information, they can create their courses and upload relevant teaching materials or media files. Users who are interested in this course just need to pay website credit to the course teacher and get access to enjoy the online knowledge. This platform also supports course requests, discussion, community and many web2.0 elements functions. Moreover Rails' new feature in 1.2 versions has imported REST (Representational State Transfer), which can make the website use REST in many places.
Enterprise Portal Site
The project is to create a portal site for an E-commerce enterprise. This firm site is required to apply SEO (Search Engine Optimize) element for improving page rank in the Google search engine.
Because of Rails' special feature, the DSL (domain-specific languages) can satisfy its requirements easily. During the developing cycle, the demands of this website are changed often in many places such as add/remove menu item, replace banner, etc. Also because of Rails' flexibility with good model design, website editors can take place any new function or character easily as they want. And the most important thing is it only takes developers a little time to implement all of these functions.
News & Events
-
31 Jul, 2008Congratulations on the 5th anniversary of USE
-
31 Jul, 2008USE's 5th anniversary celebration held in Beijing
-
23 May, 2008CEO & President Kai Shao wins China Self-innovation Person of the Year Award 2008
-
22 Apr, 2008UFIDA Software Engineering Attends OutsourceWorld London 2008
-
14 Mar, 2008USE Awarded Key Software Companies in China's National Programming 2007







