Page 168 - Using MIS
P. 168

136       Chapter 4  Hardware, Software, and Mobile Systems

                                                  Native Applications       Web Applications

                                Development       Objective-C               html5
                                Languages         Java                      css3
                                                  C#, C++, VB.NET, Swift    JavaScript
                                                  (object-oriented languages)  (scripting language)
                                Developed by      Professional programmers, only  Professional programmers and technically
                                                                            oriented Web developers and business
                                                                            professionals

                                Skill level required  High                  Low to high
                                Di–culty          High                      Easy to hard, depending on application
                                                                            requirements
                                Developer’s       Computer science          Computer science
                                Degree                                      Information systems
                                                                            Graphics design
                                User Experience   Can be superb, depending  Simple to sophisticated, depending on
                                                  on programming quality    program quality

                                Possible applications  Whatever you can pay for…  Some limits prohibit very sophisticated
                                                                            applications
                                Dependency        iOS, Android, Windows     Browser di™erences, only

                                Cost              High. Di–cult work by highly  Low to high ... easier work by lesser-paid
                                                  paid employees, multiple versions  employees, only multiple browser ˜les
                                                  required.                 necessary. Sophisticated applications
                                                                            may require high skill and pay.

                                Application       Via application stores (e.g., Apple  Via Web sites
                                distribution      Store)
        Figure 4-17
        Characteristics of Native    Example      Vanguard iPad application (free  Seafood Web site: www.wildrhodyseafood.com
        and Web Applications                      in Apple's iTunes store)  Picozu editor: www.picozu.com/editor


                                    Developing Native Applications

                                    Native applications are developed using serious, heavy-duty, professional programming languages.
                                    Mac OS and iOS applications are constructed using Objective-C or the newly released  Swift
                                    programming language. Linux (Android) applications are constructed using Java, and Windows
                                      applications are constructed using C#, VB.NET, C++, and others. All of these languages are object-
                                    oriented, which means they can be used to create difficult, complex applications and, if used
                                    properly, will result in high-performance code that is easy to alter when requirements change. The
                                    particular characteristics of object-oriented languages are beyond the scope of this text.
                                       Object-oriented languages can be used only by professional programmers who have de-
                                    voted years to learning object-oriented design and coding skills. Typically, such developers
                                    were computer science majors in college.
                                       The benefit of such languages is that they give programmers close control over the assets of
                                    the computing device and enable the creation of sophisticated and complex user interfaces. If
                                    the programs are well written, they perform fast and use memory efficiently. The limits on na-
                                    tive applications are usually budgetary, not technological. As a businessperson, you can get just
                                    about any application you can afford.
                                       The downside of native applications is that they are, well, native. They only run on the op-
                                    erating system for which they are programmed. An iOS application must be completely recoded
                                                                                         25
                                    in order to run on Android and recoded again to run on Windows.  Thus, to reach all users, an

                                    25 Not quite true. Much of the design and possibly some of the code can be reused between native applications.
                                    But, for your planning, assume that it all must be redone. Not enough will carry over to make it worth considering.
   163   164   165   166   167   168   169   170   171   172   173