Jump to content
  • Advertisement
Sign in to follow this  
k4rm4

Best anguage to start Android apps?

This topic is 2007 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello all, I was wondering what language is the best to develop Android games, and apps in? I was previously attempting to create a "Hello World" app in Java using Eclipse and the Android SDK, but I have recently found that I can write apps in C++. Is this true, and if so would anyone recommend to do so in C++, as well as how I would go about using an SDK for Android in C++? I am also currently a college student and will be needing to take C++ as a requirement for the degree I am pursuing, but I will also need to take Java as an elective closer to the time of my graduation. That is just a little background as to which way you might lean towards when replying to this thread.

 

Thanks in advance.

Share this post


Link to post
Share on other sites
Advertisement

Hello all, I was wondering what language is the best to develop Android games, and apps in? I was previously attempting to create a "Hello World" app in Java using Eclipse and the Android SDK, but I have recently found that I can write apps in C++. Is this true, and if so would anyone recommend to do so in C++, as well as how I would go about using an SDK for Android in C++? I am also currently a college student and will be needing to take C++ as a requirement for the degree I am pursuing, but I will also need to take Java as an elective closer to the time of my graduation. That is just a little background as to which way you might lean towards when replying to this thread.

 

Thanks in advance.

 

In general C++ is not recommended for Android development (All Android apps need a java core), (it is however useful for cross platform games), you can download the NDK and use the NativeActivity class to wrap things up to avoid writing any Java code of your own if you want. (just specify that you want to use the NativeActivity class in the manifest and hook it up to your c++ shared objects)

 

If you just want to make a game for Android i highly recommend Unity3D(C#) it saves you a lot of trouble and makes porting to iOS / WP much easier.

Share this post


Link to post
Share on other sites

Easiest would probably be Unity if you want to make games. It's the most popular engine for mobile games without a doubt, and it allows you to stay ultra cross-platform.

 

I used other frameworks like e.g. Corona for a long time, but honestly you can do much more in Unity. C# is a nicer language than Corona's Lua IMO (as Lua lacks static typing meaning you really need a good test framework when writing larger applications to avoid spelling mistakes costing you shitloads of time, and back when I last used Corona it didn't have a test framework, lol).

 

You want to avoid C++ on mobiles due to the diversity of underlying hardware... C++ and native precompiled code works well on PCs due to the dominant status of the x86/x64 architecture. On mobile that boxes you in, and with the JIT and static compilers that Unity offers your games will likely be performant enough anyway. If you for some reason need to do low level optimization in C++ you can still do that with Unity in the pro edition, but I never needed it.

Edited by Petter Hansson

Share this post


Link to post
Share on other sites

Easiest would probably be Unity if you want to make games. It's the most popular engine for mobile games without a doubt, and it allows you to stay ultra cross-platform.

 

I used other frameworks like e.g. Corona for a long time, but honestly you can do much more in Unity. C# is a nicer language than Corona's Lua IMO (as Lua lacks static typing meaning you really need a good test framework when writing larger applications to avoid spelling mistakes costing you shitloads of time, and back when I last used Corona it didn't have a test framework, lol).

 

You want to avoid C++ on mobiles due to the diversity of underlying hardware... C++ and native precompiled code works well on PCs due to the dominant status of the x86/x64 architecture. On mobile that boxes you in, and with the JIT and static compilers that Unity offers your games will likely be performant enough anyway. If you for some reason need to do low level optimization in C++ you can still do that with Unity in the pro edition, but I never needed it.

 

Actually, you can use native plugins on mobiles with the free version of unity now as well. (you still need pro if you wish to use native code on the PC though)

Share this post


Link to post
Share on other sites

The best language to start using on Android is Java as this is what the standard SDK uses and is also the language you would be using if you got a job as an Andoid app developer.  However the prefered language to write Android games in is Either C++ or some higher level cross platform engine or framework (Corona, Unity).   If you are doing this as a learning excercise and are also studying C++ at college then make some simple apps using the NDK to help you with your C++ learning.  Next year when you do your Java course make some apps in Java too.

 

You can pretty much write Andoid apps in anything so go with what you know.  I'm currently learning Scala so that is the language i've been trying to write Android apps in.

Share this post


Link to post
Share on other sites

Unless you're 100% sure Android will be your only platform, I'd go for a cross-platform API, like Corona, Marmalade, Unity, etc.   Especially if you're writing games.

Edited by Snovi

Share this post


Link to post
Share on other sites

A great framework is LibGDX, you can build games on the desktop and then export them for Android, iOS or HTML5.

 

You code in java, so if you are familiar with that it's great.

Share this post


Link to post
Share on other sites
Thank you for all the advice. I would like to take this thread one question further. Knowing that in order to become a game designer(I'm assuming all positions; game programmer, UI designer, etc.) you need to have a portfolio of some sort show casing what you have created. Can mobile games play a part in your portfolio or is that is that a completely different path?

Share this post


Link to post
Share on other sites

Game designer is a different career path than programmer.  If you have mobile games in your career history it certainly won't hurt you.

 

Game designer is not an entry level position. Any portfolio you build will start with a list published, shipped titles. In addition to shipped titles, good game designers have a passion for games, and their experiences often include game modding, CCGs, board games, D&D-style games, tabletop games, and a experience with a wide variety of genres. (Those are "and", not "or".) A good designer is a writer and a presenter, a logician and a debater. They can instantly jump from making a strong emotional game pitch to a CEO to describing the intricate mechanics of why a specific set of dice rolls is necessary for a specific circumstance inside a game. They can explain why a specific music style is necessary for a specific game situation. They can explain why a specific art style is necessary for a specific game situation, and if they are given an art style and a situation they can design a game around it. Often game designers are given a set of fairly tight constraints and then told to build a fun game within those constraints; it is very hard work, but many find it fun.

 

There are some lesser design-related positions that are available earlier in the career, but "game designer" usually requires years of industry experience and a passion for creating fun games outside of the work environment.

 

Tom Sloper's articles cover the differences between the jobs here for designer and here for programmer.

Edited by frob

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!