Pages

Sunday, September 25, 2016

How different and how much more challenging is the process of programming a native mobile app vs. a web application

How different and how much more challenging is the process of programming a native mobile app vs. a web application?

Native apps and Web apps poles apart.
I am assuming that, when you say web application pure web web application without any cross platform capability added to it.
Native app development is all about being familiar with the capabilities of mobile platform (iOS, Android et.al) and API’s that these native platforms expose to be accessed by developers. Each of these platforms have their of language of programming (Java for Android, Swift for iOS) which are well supported with their own IDEs. These apps will be highly performant and are capable of providing best user experience.
From the developer perspective the main challenge is depending up on which platform you are targeting you need to be well versed with whole ecosystem of app development for that platform (programming language, IDE’s, best practices, frameworks) which is highly relevant that platform only. UI will be developed adhering to platforms specific guidelines. App navigation for iOS can not be same as Android.
In case of Web application you will be mainly concerned about making sure that the web pages get rendered correctly on all the platform specific browsers (iOS-Safari, Chrome - Android, IE-Windows, Opera). So it’s more of a cross-browser compatibility that you are dealing with in Web application development. There might some issues related to some of the features that browsers provide or don’t provide for processing the JavaScript and it is insignificant but can’t be ignored. You don’t worry too much about leveraging the capabilities provided by the platform. You still have to write the apps that are highly performant knowing fully well that it will still be not as performant as native app. With the mobile becoming mainstream, you will have to support form factors even in web pages through RWD (Responsive Web Design) using frameworks like bootstrap, jQueryMobile.
If you want to develop the web app with native app capabilities, that cross platform is the answer, but it is altogether different ball game.
I have actually create a video series explaining the whole mobile app development landscape on YouTube. You can have a look at this series called Mobile Application Development for Dummies in short MAD for Dummies.
Hope this helps.
If you put two equally capable programmers in a room, the one being a native phone app developer and the other a web app developer, they will probably deliver the same quality product in a similar amount of time.
Given enough knowledge of both the actual challenge of programming something useful is roughly the same.
The challenge lies in learning both technologies to the extent where you are comfortable enough to program efficiently.
With frameworks such a Kivy and Django though, it is possible to develop a phone app and a web app using the same underlying Python code base. But that falls outside of the scope of this question.

1 comment:

  1. Lucky Club: Get 50% up to €100 + £1,000 casino site bonus
    Lucky Club is the online betting site for UK punters from all around the world. If you have a gambling problem and need help or luckyclub.live want help, please  Rating: 3.9 · ‎Review by Lucky Club

    ReplyDelete