Tools for mobile development

Asked

Viewed 633 times

5

I’m looking for development tools mobile. I started looking at a call Codenameone, for example. However I would like some tips on which tool to choose.

I have separated below some criteria that I would like the tools to meet. I ask that if you have good choices that meet all requirements leave me as an answer (as I think there will not be many that pass the criteria, the answer is finite).

  1. Be free.
  2. Can do deploy for Android, iOS, and Window Phone
    (and if possible also for other plafatormas).
  3. Use the Java language
    (and/or client-side languages such as HTML5 and Javascript).
  4. Have good simulators
    (and preferably not so heavy).
  5. Be robust, allowing you to make complex games
    (but also simple games like Flappy Bird).
  6. Is in constant development and widely used by mobile game developers.
  • 5

    For those who are considering closing the question, you could read this before: http://meta.pt.stackoverflow.com/questions/488/gorilla-vs-shark. You can confirm or change your mind.

  • @bigown excellent text, if you had read it in the beginning, some questions of mine would not have been closed. Regarding the question, it is too broad, it is a matter of going to google, will arise many opinions, just read, decide which to use and start experimenting... only you can answer.

  • 2

    Two more recommended readings for those who are closing this question: Many questions are being closed without discretion? and We must accept questions of recommendation?

  • Personal thanks for supporting texts.

1 answer

7

Qt Framework

As I have more experience with this and I can’t talk about others without having tested, I can suggest the framework Qt 5.2+. It caters well to some of the cases you mentioned, but not all. However, I will quote you to aggregate future research.

  1. Qt is available under the Lgplv2.1 license (which can be used for commercial purposes). In addition to Gplv3 (open source) and also has a commercial license (which allows static link, support and etc).

  2. Currently, for desktop Qt supports Windows, Linux, Mac OS X and Solaris. Already for mobile, supports Android, iOS and, from version 5.3, Windows Phone 8. It seems that they are also working on Tizen support. In addition to these, you can develop to Blackberry and Ubuntu Mobile reusing much of the code.

  3. This is the part that even meets your requirements. The languages used by Qt for mobile are C++ and QML. Most of the work is possible with the QML (graphical part, more basic logic). However, QML is nothing more than a mix of Javascript with a CSS footprint. So, if you know Javascript and CSS, it has no difficulty.

  4. Simulators depend on the platform you’re developing for. So it doesn’t depend on the tool. However, one thing you can do with Qt is compile for PC and test smaller modifications on it, which is much faster. So, you’ll only send the app to an emulator or device when you want to see the actual behavior.

  5. At least for desktop Qt is complete, has a very large library and is well documented. Although the Opengl base works (using ANGLE for WP), I do not know if it is feasible to make complex games because the availability tools are clearly focused on application development and at most 2D games. I think the ideal is to use something specific if the goal is more complex games.

  6. Qt is under development (usually release a new version every 4 or 6 months) and is well supported by the linux community (KDE, for example), but, I can’t say that it is widely used for mobile as this support was started recently.

Considerations:

The main advantage in this framework is ease and speed of development. The language QML makes it easy to develop interfaces that natively would take a lot of work. The operation between Android, iOS and Windows Phone is very close, differentiated only in issues really specific to systems.

Speaking now of disadvantages:

  1. When there is a need to utilize native system resources, communication between Qt code and native code is complicated. And, as mobile support is recent, there are not many examples on the internet.

  2. Qt libraries are very large. Applications will easily weigh 10MB, which can be bad for some users.

  3. Not all modules are ready. Until last time I checked the bluetooth module, for example, it was not supported by all platforms. In version 5.3 (coming out in the next few weeks) the support for Android and iOS will be almost complete, but for Windows Phone, some modules will only be available in version 5.4.

  4. Apps developed in Qt will not have the look and Feel system standard (not yet). What can be good and bad (depending on what you want to do).

Examples

  • 1

    Lucas, thank you so much for your contribution. I’ll take a good look at the same Qt. I didn’t know you deploy to mobile, interesting. The biggest problem, in fact, is that the game gets too big.

  • 1

    @Garoudan For games, as I said, I would consider other specific solutions. I can cite some examples: cocos2dx, Unity, Corona. The advantage of these is that they are made for this and you will have many functions and tools already prepared to deal with sprites, sounds, particles, physics and etc. In addition to being optimized for this.

  • Very interesting. I’ll take a look at them, because at the moment I’m wanting to even games.

  • @Garoudan Today I came across this: http://v-play.net/ might interest you.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.