Web vs. iOS Developmentby Nickolas Whiting
I’ve been developing web technologies for over 15 years using a number of different languages, frameworks, libraries and tools and just recently this summer began developing mobile technologies with iOS and Swift. In this article I am going to cover basic differences in programming between the two.
Web Development is Easy to Learn!
Web development is great because it allows anyone to build a website that is accessible to the world instantly and requires very little to no prerequisite knowledge of programming or engineering, can be learned very easily, and has thousands of tools and resources available online to help along the way. It is very forgiving when you make mistakes and provides instant gratification when a new deployment is pushed live. Many of the languages used for developing websites are simple to use and there are dozens and dozens of frameworks that make building websites even easier.
iOS Development Less Forgiving!
iOS development on the other hand while still allowing basically anyone to learn, defiantly requires some programming knowledge before diving in, at least in the context of iOS development. It is much less forgiving where mistakes are concerned and has a much steeper learning curve when compared to languages used for the web such as PHP or Python. The instant gratification found in web development when deploying your website live doesn’t exist in mobile development since you have to submit your work for review before you can finally get it out to the world and this itself can be nerve racking, considering if there are bugs in your app when shipped to the store, the process of getting these fixed requires much more involvement.
The thought process involved in programming for each is also different, web development is simple and straight forward. You, for the most part, work on single requests that live and die for very short periods of time. Most of the time you don’t have to worry about memory or thread management and never think about how much battery life this process is going to drain from running. With mobile development these are very critical things you have to consider, for instance when constructing elements or performing UI updates you have to be aware of what thread you are currently running the update code or you will be left with a UI that updates slowly and doesn’t seem to respond properly.