Xamarin vs Titanium Appcelerator?

12,460

Solution 1

Some factors where the 2 are different (or not).

Price

By now, both cost money. Xamarin has a useless (only very small apps) free version, paid versions start at 25$/mo. https://store.xamarin.com/

Titanium Studio used to be free, but they unfortunately changd it few weeks ago. Existing free users are moved to a free lifetime indie license (which is nice!), new ones have to pay, minimum of 39$/mo. http://www.appcelerator.com/pricing/ Also, the most recent version of Titanium is invitation-only and though I got an invitation to register for invitation, I am still waiting for weeks now to be accepted.

So Xamarin has a slight edge here - by now - though you also need to see what you want to do. Indie edition is ok to get everything "normal" done, though it lacks the Visual Studio integration.

Platforms supported

Xamarin supports Android and iOS, WinPhone is supported since .net runs on WP.

Titanium supports Android, iOS, BlackBerry and Web, WinPhone is said to be supported but does not work at all. https://developer.appcelerator.com/question/181588/how-to-update-to-preview-to-do-windows-development-the-requested-sdk-version-does-not-have-an-assigned-commands-handler

Titanium Studio with Windows Phone Plugin: Titanium SDK does not support the Windows platform This - should - work with the new version 4, which is rumored to be available, but I have not seen it (though I tried).

So, if you want WinPhone, use Xamarin, if you want BlackBerry, use Appcelerator.

IDE

Xamarin has Visual Studio integration (Business edition or higher), which is great. Visual Studio is just one of the best, perhaps the best, IDEs out there. Xamarin Studio is so so.

Titanium Studio is so so, similar to Xamarin Studio.

Installation and Ease of Use

Xamarin has an all-in-one installer that takes some time, but then you can start. It just works. Xamarin has very frequent updates (every few weeks), which it sometimes needs, since certain features are broken is certain versions.

Getting Titanium Studio to work is often a hassle. I had to (this is not documented!) use Java 1.6 32Bit, which can be difficult since normally one updates his Java. Officiall, Java 1.8 is supported, but this just did not work for me. Titanium Studio is way more difficult to set up. Titanium has infrequent udpates, less than once a month.

Language

Xamarin is C#. You get a great, typed language, that scales from small to very complex applications, and has great language constructs for complex data types and scenarios

Titanium is JS. You get a good dynamic language that is very flexible, and is mainly for small, flexible applications.

You can create good programs in both languages, it is a little more difficult in Javascript.

Both compile to native.

You can use both the many js (Titanium) and .net (Xamarin) libraries and frameworks out there.

Cross-Platform

Xamarin introduced Xamarin.Forms last year to provide cross-platform GUI. It is working, though a lot still is missing, like orientation needs to be implemented manually.

Using cross-platform hardware also is not easy. There are addons that you really should check out like xlabs https://github.com/XLabs/Xamarin-Forms-Labs though I have found not a single feature there to be working (of the ones I tried). Bug request were handled quickly though so I would assume this product to mature and eventually be very very helpful to allow having 1 code base for all platforms with very very little platform dependent code (just the DI part).

Titanium I have not really used much for this so I cannot really comment.

The Rest

Communities are large for both products.

Appcelerator has a free university program (videos to watch/download). Xamarin has an expensive university program, but that includes tutoring and small web classes. There also are free videos.

Appcelerator seems to need to make money by now. Xamarin always needed to make money, they have some backing by Microsoft by now, which is helpful of course.

Most important is probably your language background. it is not the most important, since you will still need to learn a lot about mobile and each platform as well.

Also, check out the competition: PhonGap/Cordova, and some new, smaller players, some C# and some C++ based.

Xamarin 2.0 vs Appcelerator Titanium vs PhoneGap

Comparison between Corona, Phonegap, Titanium

In your specific case: Java and C# are very very similar, much more than Java and Javascript.

You can get a free trial of the business version and also extend it a few times if you directly contact customer support and have good reasons - so I was told.

Solution 2

Months ago we had to choose between those 2 solutions. Our decision was made by the price of Xamarin which is really expensive when titanium is totally free. There is also more doc on Titanium and a bigger community due to his price.

The main disadvantage for me about titanium is that you absolutely need an internet connection to work with it. It's really annoying because you cannot open any project without wifi.

Solution 3

This decision is a matter of preference and requirements. With regards to developing a complex mobile app, I personally feel like the debugging and profiling tools that a strongly typed language framework gives you (such as Xamarin) are far better than those offered by developing a complex app in a weakly typed language framework (such as Titanium). Both offer you the full extent of the native mobile platform APIs (a characteristic that I personally consider essential), but Xamarin offers the following advantages:

  • the strongly typed and highly expressive C# and F# languages
  • great IDEs, like Visual Studio and Xamarin Studio
  • a vibrant and active community of developers
  • great profiling tools
  • Xamarin Insights for detailed post-deployment app performance monitoring

I'm a bit biased because I really enjoy doing Xamarin development. But I feel like 4 years in the mobile dev industry has given me a great deal of perspective on the options.

Again, as long as each framework provides full access to every bit of the mobile platform APIs, it really does boil down to preference. But my vote is very much for Xamarin.

Share:
12,460
Farhan Shah
Author by

Farhan Shah

A full stack developer.

Updated on August 17, 2022

Comments

  • Farhan Shah
    Farhan Shah over 1 year

    I developed a Native Android App, now the requirement is that the developed app needs to be in a cross platform like Xamarin or Titanium Appcelerator, now please some Experts Software Engineers Suggest me that which cross platform should I choose and why? If I choose Xamarin then what are the advantages and disadvantages of Xamarin and if I choose Titanium Appcelerator then what are the advantages and disadvantages of titanium?? Any help will be highly appreciated.

  • Fokke Zandbergen
    Fokke Zandbergen about 9 years
    @Tiekeo we're currently planning on how to offer a better offline experience. The thing is our IDE is fully integrated in our MBaaS solutions which by nature are online.
  • Farhan Shah
    Farhan Shah about 9 years
    @FokkeZandbergen i choose the Titanium appcelrator but i am getting error when i run my first test app in android device.
  • Farhan Shah
    Farhan Shah about 9 years
    @FokkeZandbergen When i run my app it gives me the following error: events.js:72 throw er; // Unhandled 'error' event ^ Error: spawn ENOENT at errnoException (child_process.js:1001:11) at ChildProcess._handle.onexit (child_process.js:792:34) [ERROR] Application Installer abnormal process termination. Process exit value was 8
  • Fokke Zandbergen
    Fokke Zandbergen about 9 years
    @FarhanShah could you drop me a link with the code? You can also mail me at fzandbergen (at) appcelerator.com
  • Farhan Shah
    Farhan Shah about 9 years
    @FokkeZandbergen i am beginner on appcelerator,i successfully installed appcerator setup etc,when i run my app it gives me error,and i think the issue is not in the code,any sugession please..and i have some more detailed questions about appcelerator which i will be emailed to you thanks..
  • Fokke Zandbergen
    Fokke Zandbergen about 9 years
    @FarhanShah please do mail me and include the versions you use.
  • Farhan Shah
    Farhan Shah about 9 years
    @FokkeZandbergen please check ur email.
  • Andreas Reiff
    Andreas Reiff about 8 years
    Looks like Xamarin is going to be free, announcement of Build 2016, see thurrott.com/windows/windows-10/65815/… . Details on what edition is free with what Visual Studio subscription is not out, but the free Community Edition will also contain a version. Price was one of the major reasons against Xamarin before.
  • Ismapro
    Ismapro almost 8 years
    Update for those interrested Xamarin do come for free with any Visual Studio Subscribtion.
  • Yahya Uddin
    Yahya Uddin over 7 years
    Why is the free version of Xamarin "useless"?
  • Yahya Uddin
    Yahya Uddin over 7 years
    Has this become the other way round now?
  • Andreas Reiff
    Andreas Reiff over 7 years
    Free version was very limited in the size of application you could create. Even a calculator would be difficult. But that is long gone since the acquisitions by Microsoft. Use Visual Studio Community Edition and you get all features for free (as an individual or small company). Even for iOS and Android.
  • Martin Braun
    Martin Braun almost 7 years
    Since yesterday Titanium is free for indies again: appcelerator.com/pricing