

Ask HN: Best way of learning mobile dev from a webdev background? - singold

Hi all, I have a webdev background (worked with python&#x2F;django, C# and some php), and also at university I did some C&#x2F;C++, now learning java.<p>What resources&#x2F;books&#x2F;anything would you recommend to get up to speed in mobile development, considering that I have some knowledge about web development and programming in general?<p>Thanks in advance :)
======
jnbiche
If you know some C# and C++, my recommendation is to dive straight into the
respective native SDKs (Android and iOS) and not let yourself waste time or
get distracted by frameworks like Cordova or Titanium (or whatever they call
it now). Cordova can be a good strategic choice for certain types of companies
making certain types of apps, but if you want to learn mobile development, my
opinion is that they'll just be a distraction (and I say this as someone who
tried and floundered using this approach until I committed myself 100% to
native SDKs).

For Android, an excellent resource are the example apps found at the
CommonsWare website, who also have an accompanying book. Download these
examples and start playing around with them, or use whatever approach you used
to learn webdev [1].

Otherwise, Google's docs are pretty high quality.

Finally, even if you're a Vim/emacs kind of guy (like I am), I recommend using
Android Studio for Android development, at least at first. It has some
excellent resources for learners (like a very good autocomplete).

1\. [http://commonsware.com/Android/](http://commonsware.com/Android/)

~~~
rahimnathwani
+1 to the CommonsWare book. It's 1000s of pages of well-written reference
material, and frequently updated.

If you like video learning, take a look at BitFountain and Udemy. Both have
good courses on mobile development. IIRC Udacity also has one on Android
development.

------
drakenot
I transitioned from web development to mobile development a little over 3
years ago.

I did 3 things to prepare for the transition:

1) I completed the Stanford iOS course, including most of the assignments

2) I read the Big Nerd Ranch iOS book from cover to cover.

3) I spent about 3 months recreating dozens of interesting features / visual
elements from popular apps.

I promise you, if you do these 3 things, you will be very well prepared to
take a position in mobile dev.

------
WorldMaker
Apache Cordova is the largest project for developing mobile applications with
web technologies (HTML, CSS, JS). It may be worth a look as that should be the
fastest place for you to start.

~~~
singold
Thanks!

Do you have any experience on it? Do you recommend some book or diving in the
docs directly?

~~~
WorldMaker
I've dabbled but not yet had a project need it. From what I've seen, some
places to start:

You mentioned C# so you've probably used at least some Visual Studio, Visual
Studio 2015 has Apache Cordova templates and emulators in the default
installer now. (You can also download them as an optional separate install for
VS 2013.) It's interesting that the VS Android emulator (built for Hyper-V) is
the fastest and best Android emulator available right now.

Also, while Cordova tries to be more browser-like than Node-like it may help
to have at least passing familiarity with NodeJS. Most importantly you should
know NPM (the node package manager) pretty well, as that's the main package
manager for Cordova apps as well. (Also, VS helps here too as 2015 has an NPM
GUI now.)

~~~
singold
I've used C# but am not on windows anymore, so Visual Studio is not an option
right now.

I'm digging the Cordova docs on another tab and it looks promising for my use
case.

------
srikz
I'm in the exactly opposite (and seemingly rare situation). I started with iOS
mobile app development and now would like to move into web apps and not sure
where to start. I have basic HTML and CSS knowledge. Should I learn javascript
properly first (where) or learn about layouts, handling different browsers and
things like that. Very sorry for being completely off-topic

