UFIDA Software Engineering
  • Home
  • Services
  • Case Study
  • About Us
  • ITARI
  • Contact
  • English
  • Chinese
  • Japanese
home
About UFIDA Software Engineering

Testimonials

"I would say that they are meeting/exceeding my expectations. They appear very capable and their high level of enthusiasm for the project is great."

Senior QA manager

Highlight

  • Why USE
  • Expertise
  • Infrastructure
  • Site Guide
  • Why outsourcing to China

Picture Gallery

Picture Gallery
cmmi5_isms
  • Home
  • Expertise
  • Ruby on Rails
  • 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 RayooTech (formerly UFIDA Software Engineering Co., Ltd.).

     

    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.

    Return

    Case Study

    • Telecom System Offshore Development with J2EE
    • Online Bidding System Offshore Development for a French Customer
    • Risk Management Offshore Software Development with SWT Technology
    • Master Data Management Development for Pharmaceutical Customer
    • Budget Management System Based on .Net Technology
    Read more

    News & Events

    • 11 Jun, 2010
      RayooTech chairman Kai Shao honored People of the Year with Remarkable Contributions to Outsourci...Latest
    • 09 Jun, 2010
      RayooTech Chairman reports at China Torch IT Service Innovation Alliance Annual Meet
    • 19 Apr, 2010
      RayooTech hosts Informationization Strategy of Finance Services .ie. IT Service Innovation Forum ...
    • 13 Apr, 2010
      RayooTech elected First Rank Innovation Model among ZGC software enterprises
    • 16 Jun, 2009
      RayooTech Receives TOP 10 ITO Company Award
    Read more

    Links | Home | Downloads | Careers | FAQ | RSS @ 2009 RayooTech

    Privacy | Terms of RayooTech | Site Map