I was wondering if I wanna develop for the android should I first learn normal java to get used to the syntax and as such and then learn darvik java or is it possible to dive straight into darvik java? I have a C++ and Python background if that helps
Android Development
Android Development
Heyy,
I was wondering if I wanna develop for the android should I first learn normal java to get used to the syntax and as such and then learn darvik java or is it possible to dive straight into darvik java? I have a C++ and Python background if that helps
I was wondering if I wanna develop for the android should I first learn normal java to get used to the syntax and as such and then learn darvik java or is it possible to dive straight into darvik java? I have a C++ and Python background if that helps
- Jackolantern
- Posts: 10891
- Joined: Wed Jul 01, 2009 11:00 pm
Re: Android Development
If you are confident and can make GUI applications with C++ or Python, you could probably just dive right into learning to make Android applications as long as you are following a nice tutorial. Java does not really have cryptic syntax, and most of the few semi-cryptic parts it does have (like the casting operator) are culled right from C++. If you studied Oracle Java first, a lot of what they focus on is the Java API, and a lot of that is different in Dalvik Java.
The indelible lord of tl;dr
Re: Android Development
I have never created GUI applications with C++, although I have with Python. Then again I used Easygui for python so not sure if that countsJackolantern wrote:If you are confident and can make GUI applications with C++ or Python, you could probably just dive right into learning to make Android applications as long as you are following a nice tutorial. Java does not really have cryptic syntax, and most of the few semi-cryptic parts it does have (like the casting operator) are culled right from C++. If you studied Oracle Java first, a lot of what they focus on is the Java API, and a lot of that is different in Dalvik Java.
Is there any good book/video series you suggest for android development?
- Jackolantern
- Posts: 10891
- Joined: Wed Jul 01, 2009 11:00 pm
Re: Android Development
Honestly, I don't know how much C++ QT development would directly translate to Android. Probably not much at all. I was more thinking along the lines that you would have the experience in working with GUI-based, event-centric development. Android development is a little strange, and about the closest parallel I have seen is actually in .NET with Silverlight. You create your interfaces in XML (and it can be done somewhat visually in Eclipse ADT) and then you work in mostly an event-driven way, although it is not quite that clear-cut since you are working with Activities (specialized classes) and Intents. It is an interesting system that works well, but the GUI XML can get a little complicated, and as usual, generating XML for GUIs dynamically can get ugly and lengthy fast.
HTML5 is a great model for web development, since it is largely the basic system for most mobile platforms, except it is greatly simplified. The only issue with using HTML5 for mobile apps is that HTML5 is a second-class citizen on most platforms that relies on wrappers, conversions, etc. You don't natively have access to many of the underlying platform features, and on many conversion platforms, even when HTML5 has its own access to them (for example, Geolocation, which is available on both mobile platforms and HTML5 in the browser, but on some HTML5 mobile conversion systems you can't access it in the normal HTML5 way, and have to use a custom object). Things like the accelerometer or gyroscope can be difficult to test and get right using HTML5 (App Mobi is a good example of an exception to this).
But I think for what you gain, HTML5 is a good choice. Obviously it isn't the right choice for 3D games, even considering that WebGL works and is hardware-accelerated on Android (OpenGL ES is still about 5 - 10x faster from what I have seen). Most games don't need anything but a canvas and an internet connection at the most, and HTML5 provides both of those in spades. With an OpenGL-accelerated mobile conversion wrapper, the performance on most 2D games can be basically impossible to tell from Dalvik Java games. Plus, you get the benefit of cross-platform deployment as well!
HTML5 is a great model for web development, since it is largely the basic system for most mobile platforms, except it is greatly simplified. The only issue with using HTML5 for mobile apps is that HTML5 is a second-class citizen on most platforms that relies on wrappers, conversions, etc. You don't natively have access to many of the underlying platform features, and on many conversion platforms, even when HTML5 has its own access to them (for example, Geolocation, which is available on both mobile platforms and HTML5 in the browser, but on some HTML5 mobile conversion systems you can't access it in the normal HTML5 way, and have to use a custom object). Things like the accelerometer or gyroscope can be difficult to test and get right using HTML5 (App Mobi is a good example of an exception to this).
But I think for what you gain, HTML5 is a good choice. Obviously it isn't the right choice for 3D games, even considering that WebGL works and is hardware-accelerated on Android (OpenGL ES is still about 5 - 10x faster from what I have seen). Most games don't need anything but a canvas and an internet connection at the most, and HTML5 provides both of those in spades. With an OpenGL-accelerated mobile conversion wrapper, the performance on most 2D games can be basically impossible to tell from Dalvik Java games. Plus, you get the benefit of cross-platform deployment as well!
The indelible lord of tl;dr