Search Unity

Programs for making android and IOS apps?

Discussion in 'General Discussion' started by NinjaRubberBand, Oct 19, 2014.

  1. NinjaRubberBand

    NinjaRubberBand

    Joined:
    Feb 22, 2013
    Posts:
    243
    So ive been using unity for a long period of time now, and i really enjoy making games. But i thought about starting making apps for android and IOS. Do anyone know any programs for making apps?
    I have experience in unityscript/javascript, and i just dont want a very limited program.
    Im thinking about xcode, but i dont know how limited it is.
     
  2. Tanel

    Tanel

    Joined:
    Aug 31, 2011
    Posts:
    508
    Xcode is for Apple stuff only, so if you're interested in a cross platform solution it's not for you.

    Appcelerator is an interesting alternative, you code your app in Javascript and can deploy to a number of platforms. It's probably not as performant as native development but in many cases that probably doesn't matter much. There's no visual editor though.

    Another alternative (a bit costly though) is Xamarin. I haven't tested it out at all so can't really say anything else about it.
     
  3. andmm

    andmm

    Joined:
    Nov 21, 2013
    Posts:
    37
    What do you mean by a limited program? As with any development there are a lot of considerations you have to take into account. There is no magic program that is going to deploy to iOS and Android without you having to make a lot of modifications to the code.

    First of all, what kind of app do you want to make?

    There are two approaches nowadays to make an app. You either build a native application or you build a hybrid application which is built using html/css/javascript and then bundled into a native wrapper so you can publish it to the app stores.

    If you are going the native route then you will have to learn two new languages. Android uses Java and iOS/Mac apps use Objective-C which is C with a bunch of additional libraries provided by Apple.

    In terms of programs you will have to use the SDK provided by Apple and Google. For iOS it is Xcode and for Android it's Android Studio. It used to be just eclipse with a lot of Android related plugins but Google now provides a custom IDE based on the great IntelliJ platform. Both SDKs are free to download.

    There is also a third way of doing it like Tanel mentioned. You can code in languages like C# or Java and deploy real native apps cross-platform. These services are usually paid like Xamarin or Codenameone. If you google it you will find a bunch of these.

    Then there's the hybrid approach. And here you can do pretty much what you want using html5. But remember that you are developing for touch devices so you need to write code to handle taps, swipes and so on. Luckily there are a number of free frameworks that handle this for you like jQuery Mobile and Sencha Touch and paid ones like Kendo mobile UI.

    These frameworks will handle touch events and give you a visual UI framework like buttons, sliding pages and so on. There are also full stack frameworks that give you a MVC structure to build your app, so you can keep things more organized.

    If you need to use any device specific feature like GPS, notifications, gyroscope you will need to use a project called Apache Cordova that gives you a lot different APIs to use these features in your javascript code.

    Then you will need to build and deploy your app using either the provided SDKs or use an online service like Phonegap build.

    So it depends. If your app is heavily graphical and needs performance then native is the way to go. If you are just accessing some API online and presenting data then hybrid is way easier. Either way it is an involved process.

    Since you know javascript (unityscript is not proper javascript) then the easier route for you would be hybrid.