Page 167 - Using MIS
P. 167
Q5 What Are the Differences Between Native and Web Applications? 135
Source code is compiled into machine code that is processed by a computer. Machine code
is, in general, not understandable by humans and cannot be modified. When a user accesses a
Web site, the machine code version of the program runs on the user’s computer. We do not show
machine code in a figure because it would look like this:
1101001010010111111001110111100100011100000111111011101111100111 . . .
In a closed source project, say Microsoft Office, the source code is highly protected and
only available to trusted employees and carefully vetted contractors. The source code is pro-
tected like gold in a vault. Only those trusted programmers can make changes to a closed
source project.
With open source, anyone can obtain the source code from the open source project’s Web
site. Programmers alter or add to this code depending on their interests and goals. In most
cases, programmers can incorporate code they find into their own projects. They may be able to
resell those projects depending on the type of license agreement the project uses.
Open source succeeds because of collaboration. A programmer examines the source code
and identifies a need or project that seems interesting. He or she then creates a new feature,
redesigns or reprograms an existing feature, or fixes a known problem. That code is then sent to
others in the open source project who evaluate the quality and merits of the work and add it to
the product, if appropriate.
Typically, there is a lot of give and take. Or, as described in Chapter 2, there are many cycles
of iteration and feedback. Because of this iteration, a well-managed project with strong peer
reviews can result in very high quality code, like that in Linux.
So, Is Open Source Viable?
The answer depends on to whom and for what. Open source has certainly become legitimate.
According to The Economist, “It is now generally accepted that the future will involve a blend of
24
both proprietary and open-source software.” During your career, open source will likely take a
greater and greater role in software. However, whether open source works for a particular situ-
ation depends on the requirements and constraints of that situation. You will learn more about
matching requirements and programs in Chapter 12.
In some cases, companies choose open source software because it is “free.” It turns out that
this advantage may be less important than you’d think because in many cases support and op-
erational costs swamp the initial licensing fee.
Q5 What Are the Differences Between Native
and Web Applications?
In the chapter opener, when Lucas mentioned Web app and native app, Jason didn’t hesitate.
He knew exactly what those terms meant and the issues involved with each. And Jason is a CEO.
He knows those issues, as does the AllRoad Parts team, and so should you.
To begin, as stated, applications can be categorized as native applications that run on
just one operating system or Web applications that run in browsers. In the latter case, the
browser provides a more or less consistent environment for the application; the peculiarities
of operating systems and hardware are handled by the browser’s code and hidden from the
Web application.
Figure 4-17 contrasts native and Web applications on their important characteristics.
Consider the Native Applications column first.
24 “Unlocking the Cloud,” The Economist, May 28, 2009.