Useful additional features that help productivity via reuse include mix ins

Useful additional features that help productivity via

This preview shows page 48 - 50 out of 517 pages.

Useful additional features that help productivity via reuse include mix-ins , which collect related behaviors and make 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. A well-known SaaS app associated with 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: 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 its contributors routinely improve productivity by inventing new tools to automate tasks that were formerly done manually. Note that frequent upgrades of SaaS—due to only having a single copy of the software—perfectly align with the Agile software lifecycle. Hence, Amazon, eBay, Facebook, Google, and other SaaS providers all rely on the Agile lifecycle, and traditional software companies like Microsoft are increasingly using Agile in their product development. The Agile process is an excellent match to the fast-changing nature of SaaS applications. 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
Image of page 48
the service. Given the ability and desire to frequently upgrade SaaS, the Agile software development process is popular for SaaS, and so there are many frameworks to support Agile and SaaS. This book uses Ruby on Rails. Self-Check 1.5.1. Which of the examples of Google SaaS apps—Search, Maps, News, Gmail, Calendar, YouTube, and Documents—is the best match to each of the six arguments given in this section for SaaS, reproduced below. While you can argue the mappings, below is our answer. (Note that we cheated and put some apps in multiple categories) 1. No user installation: Documents 2. Can’t lose data: Gmail, Calendar. 3. Users cooperating: Documents. 4. Large/changing datasets: Search, Maps, News, and YouTube. 5. Software centralized in single environment: Search. 6. No field upgrades when improve app: Documents.
Image of page 49
Image of page 50

You've reached the end of your free preview.

Want to read all 517 pages?

  • Spring '19
  • Dr.Marcos

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes
A+ icon
Ask Expert Tutors