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
Diculty 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 dierences, only
Cost High. Dicult 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.