Android App development / cross platform tools

What are peoples experiences with Android App development. I need to develop an App in the coming months and am trying to decide the best route to take.

I don’t have a WindowsPhone and nor does anyone I know so this isnt important to me. Sorry MS fans.

It would be nice to be able to reuse my .NET code, or at least be able to port it fairly simply.

Free tools are preferred.

Is Xamarin(Free version) any good? Would I have less problems going straight to Java with the Android SDK? I did use PhoneGap and javascript once, but I never really got on with JS.

Thanks in advance.

Xamarin free version is limited but depends on the complexility of your application. Android studio would be best for developing a true android application. Xamarin is best if targeting multiple mobile platforms, but it does cost.

I have only been playing with Android studio and converting my old applications from android sdk. Used Xamarin for multiple platform development projects, documentation and support is very good.

Honestly, I am sure your learning curve with Java will NOT be steep. If your application does Web Service calls you will require a paid version of Xamarin.

Not used Phone gap on a commercial application.

1 Like

I love Xamarin.

I like using VS rather than Android Studio though.

I really don’t like that you need a business license to use Visual Studio.

I did sign up for Microsoft’s Bizspark (which is a [em]fantastic [/em]program, if you make less than $1million a year) since it gives you an MSDN subscription, MS office, and visual studio ultimate versions etc for free. $10,000 worth of Microsoft Software for free, $150 month free credit for Azure services, etc.

With Bizspark, you can also get sizeable discounts on the Xamarin fee (30 to 40% off)

For me, the discounted $600 for the xamarin business license was worth it, for Xamarin Forms, and VS support, but I think it is still pricey.

I really dislike Eclipse, and all things Java.

1 Like

I didn’t even realise there were now 2 official Android IDE’s . Man I hate choice.

I’ve heard rumblings about Microsoft buying Xamarin soon. I don’t know how legit they are. But I imagine they would support the VS integration more than Android Studio.

(I could be wrong)

Xamarin is a great product and has come along way over the years.

I agree about visual studio too! best IDE.

Ian, I guess depends on your development budget . Android Studio is worth considering.

I heard there was interest from MS too!

Are we talking about Android Studio or Xamarin Studio? I’m confused.

We’ve used Android Studio (and IntelliJ and Eclipse) and Xamarin and Apple XCode for commercial projects, and played a bit with PhoneGap and Titanium Appcelerator.

For smaller apps, we’d usually go the “native” route (in the sense of Java for Android and Objective C or Swift for iOS). Only if we expect to have a non-trivial amount of portable “business logic” we’d go the cross-platform route.

Xamarin is ok because (at least until recently) it didn’t even try to abstract away the differences between platform UIs. So you have a language that you know, and some core libraries, but you program to the platform API’s for the UI. That’s good, because abstraction in that area rarely works in a satisfying way.

2 Likes

Yeah,Sorry. When Ive been saying android Studio, Ive meant to say Xamarin Studio.

Android Studio is the free IDE that comes with the standard android SDK.
It is for java/native development on Android. It doesnt support C#.
[b]http://developer.android.com/sdk/index.html[/b]

Xamarin Studio is the free IDE that comes with Xamarin (including the free starter edition)
It supports C#.Net development on Android using Xamarin. This is the free route, but you do not get Xamarin.Forms or VS integration.
[b]Xamarin | Open-source mobile app platform for .NET

If you get A Xamarin “Indie” license, you get Xamarin.Forms as well (but still no VS integration)

If you get a “Business” License, you also get the ability to use Xamarin from within the Visual Studio IDE, which is the best of all worlds, IMHO, but is a little pricey
[b]Xamarin | Open-source mobile app platform for .NET

Remember, Microsoft Bizspark is free though, if you apply and answer a few questions and convince MS that you are a tiny poor startup of less than 5 people (you basically explain your plan to develop apps and why you want to use microsoft products)

And then you get an MSDN subscription, VS ultimate for free, big discounts on the xamarin licenses, and all the MSDN downloads (every operating system, with keys, back to windows 3.1… I’ve been having fun with Windows 10 and VS 2015 from the msdn downloads)

Then, if you use the free Wave Engine, you get a game engine library with nice cross-platform integration (windows, windows phone, android, linux, ios), physics engine, etc:
[b]http://waveengine.net/[/b]

Free tools are preferred.

To have access to all the libraries you need to pay a reasonable price.

Worth a look

1 Like

Also, Microsoft is including a brand spanking new, microsoft-built android emulator in visual Studio 2015 (which is available in MSDN downloads) but also usable in VS 2013

(for use with Xamarin)

I can confirm B4A (Basic4Android) is a good platform if you want to build someting quickly.
It has a large and still growing community and a lot of libraries available. For only $59 dollars you get a developing environment that also includes a designer so you don’t have to write your screen layout in code but just drag & drop the views necessary (buttons, scrollviews, etcetera). If you don’t mind coding in basic, this is worth the try I would say.

And… you don’t have to pay extra when you want to make use of web services…
No catches, like with Xamarin…

1 Like

Thanks,

B4A looks like it might be worth a try. I had not heard of this before. It’s cheap enough that I could buy a licence for home too if needed.

Sorry for the confusion, I only have experience with Android Studio and VS with Xamarin integration.

Not used Xamarin Studio, only used VS with Xamarin integration for commercial projects (paid version). Only ever used Xamarin Studio when first evaluating Xamarin.

That has been my experience as well, the application experience on the platforms by abstracting of the platform UI differences (Xamarin.Forms mainly) did not meet my client expectations of the application interface.

Use Android Studio. It will be the platform with full support going forward. Eclipse will be faded out. It can run on Windows, Mac or Linux so you are not stuck with any machine to run it on unlike Visual Studio.

It’s free.

There are a few choices to programme with but if you want the best support and finding the best titbits to make things work, stick with Android native programming in JAVA. Coming from C# it should be easy to get to grips with.

Android Studio is easy to use and lots of nice tools to create a nice interface with. You should check out the Google IO videos from the last coupe of years to see what it can do. The 2 main leads on the project do the video and it’s worth watching to get some good tips.

Grab the Android NDK too as this will allow you to programme in C/C++ and create a JNI (Java Native Interface) and this will allow such things as serial ports and I2C. Not so much use on the likes of a phone, but on development boards like BBB it will give you access to the GPIO lines etc. Give me a shout if you need this as I have a free JNI available that allows access to GPIO and I2C from your native JAVA app.

Just grab the Android SDK’s for the OS version and above you will be using. Eg, if your device is Jelly Bean, get that and Kitkat. You only need the lower ones if you plan to support older versions.

There is tons of help out there so good luck with your project.

2 Likes

@ Dave McLaughlin - Thanks Dave, I am inclined to agree with you. I don’t intend on doing any direct hardware control, but it’s nice to know the native c is there if needed.

Thanks to everyone who chipped in their thoughts.

If you are a good C# developer, I recommend to use Xamarin. ALthough it is not free, you can reuse all of your models and background logic.
And if you later plan to port the App to iOS you can do it without beginning from scratch…

Hmm. All I could find through that link was basically “Xamarin is great. Oh, and pay us (intellectsoft) to develop your app for you”

I didn’t see much in the way of any comparisons…

then it was probably spam :slight_smile: