In: Computer Science
Compare and contrast Web applications and native applications.
When should a native application be selected over a Web application and vice versa?
What advantage does one have over the other? • What are the disadvantages or limitations of each?
Provide URL of your sources.
A. Web Apps
1.When an application is accessed using a web browser over a
network like an internet, it is termed as- Web App.
2.Unlike websites which are informational, they are functional and
need not be downloaded like mobile apps.
3.They are loaded on browsers like Chrome or Firefox and do not
consume memory or storage space on the user’s device.
4.In short, they can be understood as websites with interactivity
and functionality.
5.Due to these developers with web skills can easily write, using
cross-platform, standard web technologies like HTML, CSS or
JavaScript, a web app.
6.As web app can be used on any mobile device that has a web
browser, be it iOS, Android, or Windows, it needn’t be written
multiple times for each platform.
Advantages:
1.Easy maintenance.
2.Single code base across platforms.Distribution, deployment, and
updates or features can be released instantly, as they need no
updating on an app store.
3.Device-level features accessible through JavaScript APIs.
4.Development costs are lower.
Limitations of Web apps:
1.Interactions are not so neat and responsive when compared to
other apps.
2.UI design elements can be inconsistent.Device-level features like
push-notification, work offline, and load on the home screen are
not supported.
3.As they are unavailable in “App Store” the potential reach to
users slip down.
4.Slow operating and cannot be accessed without internet.
B.Native Apps
1.Apps created, designed and coded for specific platforms, like
iOS, Android, and Window phones are native apps.
2.They are more complex when compared to web apps, in terms of the
fact they take account of the software language used in the device,
development tools required for them, user interface elements
needed, and software development kits (SDKs).
Hence, one native app created for one OS will not run on the
other.
3.That implies if you wish to develop native apps for iOS, Android,
and Windows you need to create separate apps.
4.Unlike iOS devices, Android devices have the “back button” hence
they do not need separate UI element for this.
5.Native apps are released and distributed via an “App Store” which
has its pros and cons. On one side, the user gets access to
hundreds of apps at a single location, which makes it easier to
install.
6.Each of these platforms has its own publication procedure,
therefore, for an update or new feature, it can take from few hours
to few days for completion.
Pros:
1.Superior user experience in terms of speed and
responsiveness.
2.All device-level features are accessible.
3.Stable and reliable.
4.Can work offline.
5.Available in an App store hence marketing easy.
6.Least use of hardware and efficient coding.
Cons:
1.Different code bases required for different platforms.
2.Are expensive.
3.Take time to build.
4.No cross-platform support.
5.Prior approvals required in case of “Apple App Store”.
6.Maintaining and updating are demanding.