Skip to Content

Category:Android

Great list of Tutorials and Courses from Vanderbilt University

I’ve taken many online courses in diverse topics that I’m interested in, not just computer science but all kinds. Recently I have been slowly but surely working my way through Systems Programming in Android by professor Douglas C. Schmidt at Vanderbilt University. So far this course (which is free by the way) is really great. If you really want to understand the fundamentals about the Android operating system and understand exactly what is going on this is the course to take. Android is based off of Linux and shares many of the same concepts, this course digs into those differences and explains the similarities and what makes Android tick. I definitely recommend it if you want to get the edge on Android development.

Once you get through that course, or if you get bored of it you can check out all the other courses Professor Schmidt offers on his website which you can get to through this link.

Web Apps VS. Native Apps

Before developing a mobile project you should consider whether you will be developing a Native App or a Web App. There are several reasons why you would choose one over the other. Let’s break down the pros and cons of each:

 

 

Native Apps

  • Native App development the number of apps develop depend on the number of platforms targeted
  • Native Apps have full access to hardware APIs
  • Native Apps have a performance advantage because of access to Hardware API
  • Native Apps may not have to access a remote server, Web Apps may need to connect to function, or are slower

Web Apps

  • Web Apps can run cross platform with minimal changes, if any needed at all
  • Web Apps may have limited access, or to utilize features you might have to use a JavaScript engine
  • Web Apps lag behind in performance but that may not be an issue if what your creating doesn’t require it
  • Web Apps don’t necessarily have to be published to the platform store, can be access via URL

Another approach could be to use a Hybrid app that takes the best from both worlds. Of course this all depends on the app you are developing, perhaps the performance trade off is worth the savings from the extra development that would be needed to develop for multiple platforms.