We chose Rails because it came from a community that had already embraced the

We chose rails because it came from a community that

This preview shows page 41 - 43 out of 502 pages.

as well. We chose Rails because it came from a community that had already embraced the Agile lifecycle, so the tools support Agile particularly well. Ruby is typical of modern scripting languages in including automatic memory management and dynamic typing. By including important advances in programming languages, Ruby goes beyond languages like Perl in supporting multiple programming paradigms such as object oriented and functional programming. Useful additional features that help productivity via reuse include mix-ins , which collects related behaviors and makes it easy to add them to many different classes, and metaprogramming , which allows Ruby programs to synthesize code at runtime. Reuse is also enhanced with Ruby’s support for closures via blocks and yield . Chapter 3 is a short description of Ruby for those who already know Java, and Chapter 4 introduces Rails. In addition to our view of Rails being technically superior for Agile and SaaS, Ruby and Rails are widely used. For example, Ruby routinely appears among top 10 most popular programming languages. Probably the best-known SaaS using Rails is Twitter, which began as a Rails app in 2006 and grew from 20,000 tweets per day in 2007 to 200,000,000 in 2011, during which time other frameworks replaced various parts of it. If you are not already familiar with Ruby or Rails, this gives you a chance to practice an important software engineering skill mentioned above: use the right tool for the job, even if it means learning a new tool or new language! Indeed, an attractive feature of the Rails community is that they routinely improve productivity by inventing new tools to automate tasks that were formerly done manually. Summary: Software as a Service (SaaS) is attractive to both customers and providers because the universal client (the Web browser) makes it easier for customers to use the service and the single version of the software at a centralized site makes it easier for the provider to deliver and improve the service. Given the ability and desire to frequently upgrade SaaS, the Agile software development process is popular for it, and so there are many frameworks to support them. This book uses Ruby on Rails. Self-Check 1.6.1. Which of the following examples of Google SaaS apps is the best match to each of the six arguments given above: Search, Maps, News, Gmail,
Calendar, YouTube, and Documents. While you can argue the mappings, below is our answer. (Note that we cheated and put some apps in multiple categories) No user installation: Documents Can’t lose data: Gmail, Calendar. Users cooperating: Documents. Large/changing datasets: Search, Maps, News, and YouTube. Software centralized in single environment: Search. No field upgrades when improve app: Documents. Self-Check 1.6.2. True or False: If you are using the Agile development process to develop SaaS apps, you could use Python and Django or languages based on the Microsoft CLR and ASP.NET instead of Ruby and Rails.

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture