3 ms·
Ask HN: Best way of learning mobile dev from a webdev background?
Hi all, I have a webdev background (worked with python/django, C# and some php), and also at university I did some C/C++, now learning java.
What resources/books/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?
Thanks in advance :)
- WorldMaker 11y agoApache 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 11y agoThanks! Do you have any experience on it? Do you recommend some book or diving in the docs directly?
- WorldMaker 11y agoI'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 11y agoI'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.
- kageneko 11y agoI've used Ionic Framework[0], which is basically Cordova + Angular = Mobile Development. If you know Angular, it's a really good place to start, along with ngCordova[1]. If you don't know Angular, then straight Cordova isn't so bad. I actually did some Google Glass development that way. There are Cordova plugins for just about every mobile function you can imagine, with varying degrees of quality. To learn them, I basically took sample projects and examined them, made a few changes, and checks to see what broke. If you know C#, you can also look at Xamarin[2]. I don't have any experience with it, though. Edit: formatting 0. http://ionicframework.com/ http://ionicframework.com/ 1. http://ngcordova.com/ http://ngcordova.com/ 2. http://xamarin.com/ http://xamarin.com/
- jnbiche 11y agoIf 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/
- singold 11y agoThanks for sharing your experience, I was thinking on something on the lines of Cordova et. al. but I will take into account your experience. I think I get what you say about 'certain types of companies making certain types of apps' right now I have a potential client that needs a pretty basic app that could be done easily in HTML5 and made 'mobile' (for his use a webpage would be fine, but they want it mobile) with Cordova.
- rahimnathwani 11y ago+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 11y agoI 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.
- srikz 11y agoI'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