Ask HN: Web Development or Mobile App Development?

2 points by canremember ↗ HN
I have limited experience with both Android development and web development. In a previous Ask HN I mentioned my plan to rapidly improve my web dev skills.

But I wonder, is web dev being superseded by mobile app development? As someone in college who wants to work for a startup or start a startup in the near future (2-5 years), would I be better advised to focus on mobile apps or the web? There's a lot of talk about AngularJS or Ember or Rails or Django on HN, but I'm not sure if my effort would be better spent becoming really good at Androod/iOS apps.

5 comments

[ 3.5 ms ] story [ 23.9 ms ] thread
They are both very important, and for now they are separate skills. One day, hopefully, web development will become mobile app development.
Do you think learning web development in its current form is a good idea? The scenario I'm concerned about is spending a few years learning web dev only to discover my skills are obsolete since the world has gone mobile.
On the contrary, HTML/CSS/JS is the future of multi-screen web and app development.

I would actually bet on learning ONLY those skills and giving up on Android and iOS.

There are a few efforts today to package HTML5 apps or even compile them to Android and iOS.

Check out Cordova/Phonegap for example. There's also Chrome packaged apps, and many more to come.

Both are important and both will be around. However if you are starting out today I would pick mobile app development. Two main things

1. Web development is primarily about presenting document oriented information to users. The future is sensors in and around mobile phones - cameras, video, voice, fingerprints, retina scans, gyro, barometer etc etc. These are not document based and the web model doesn't lend itself well. It will be another 20 years before any standardization of sensors based internet will come to pass. All of the sensors will be native based and a mobile development mindset will be asset.

2. Webdev is 20 years old now. Even though there is a lot of work, there are a lot of people and barrier to entry is low. If AngularJS takes off, you will have a long list of people who have been working in this field competing with you. You will start at the bottom and need to put in the time. Mobile is only 4-5 years old. Even then, the pace is so fast that knowing iOS3/Android 1.x (3 years back) doesn't help you. So you have a shorter ground to cover to becoming an expert.

In my opinion, Tools like Cordova (Phonegap) and Titanium exemplify a continuously evolving Grey Area between Web App and Native Mobile App Development. But even with this said; I think it's important to understand the differences between the two and the pros and cons of each approach. I don't think you should wait 2-5 years to do a startup (do it now!) but if this is the case, then you should have more than enough time to research the differences and decide which route you want to go (or maybe you do both, who knows). The aspects that I would focus on are Product/UX and Distribution/Fatigue:

Product/UX would relate to the Products you want to build and the User Experience you want to deliver; Understanding how each environment impacts performance (or not), how the app is launched (or used), and how the app behaves in each environment. It really depends on what you want to build and how you want it to work. Is the App Lightweight or Heavy? Is the performance acceptable considering the UX you want to deliver? Should it be launched from the Home Screen, or is a Browser OK?

Distribution/Fatigue would relate to how you intend to distribute and maintain the App; Understanding your customer (or potential customer) base, how to reach them (distribution path / user acquisition), and being realistic about the time/resources necessary to support your distribution plan from a development perspective. It really depends on how you plan to distribute, and how much time/resources you have at your disposal. Do you want to reach everyone or a specific group? Can you maintain multiple instances of your client across multiple platforms?

The last thing I would note is the Platform Effect and how it might impact the Grey Area. I think it's important to note that each Mobile Platform maintains control over their platform, and thus (just like API based platforms) it is always possible that the rules get changed. I think this is important to note because it is possible that future changes may impact the acceptance/rejection of WebKit Wrapped Apps (aka the Grey Area).