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.
   162   163   164   165   166   167   168   169   170   171   172