RhoMobile Suite vs. Titanium vs. Xamarin vs. PhoneGap vs. Telerik Platform vs. Codename One
Asked Answered
D

4

14

I, like many others, am looking to venture into mobile app development. I am familiar with HTML5, CSS3, JavaScript, PHP, Ruby, .NET but not Java or Objective-C. To be honest, I'm unlikely to become a mobile developer guru and the apps I will develop are unlikely to push the limits of Hybrid to such an extent that I ought to go native anyway. So the challenge for me is to gain enough knowledge to confidentally align myself to one of the mainstream Hybrid development platforms - knowing that I made the right decision according to my requirements.

I've been reading similar posts on SO and researching the currently popular Hybrid Mobile application development 'solutions' including:

Xamarin Titanium Rhomobile PhoneGap The Telerik Platform

I've come to the conclusion the decision on which to go with is not so simple. In fact, I'm no closer to making a decision than I was when I started. I'm therefore turning to the community to recommend which options based on my specific criteria (which I believe reflects most self-employed developers working on a small project-by-project basis rather than a larger corporate development team with the ability to fund licence costs etc.)

The apps I will build will need versions for Android and iPhone and should be able to access to the basic core phone functions including: Camera, Accelerometer, Geolocation, Alert, Local Storage, G-Sensor etc. but not much more.

So, this post is not a subjective 'Which one is best?', instead I'm looking for recommendations according to the following requirements:

  1. Free (preferrably) but at least affordable to the little man so: 1a. Affordable monthly subscription (if I have to) 1b. No hidden licence fees when it comes to distributing my applications - this is a biggy.

  2. Dev platform should install on Windows and Mac (so I can build for the platform myself) 2a. Alternatively, any integrated online build services should be affordable

  3. Environment should be straightforward to install and configure (is there such a solution? Nearly all I have tried seem to have some kind of issue whilst locating reference files, versions, launching emulators etc.)

As a .NET MVC developer, Xamarin seems the obvious choice but the starter cannot invoke 3rd party libraries - I imagine I would need this - and the barely affordable 'Indie' at $299 is per year per platform and I'm not certain it would offer all the functionality needed. The Enterprise version at $1899 per year per platform is way beyond budget.

Rhomobile Suite with its MVC Ruby approach seems a good fit for me but the documentation need attention (out of date) and there does seem to be massive ambuguity around the licensing of it. I can't find a definitive answer and they haven't responded to a straightforward request. I found this: "Use of RhoElements does require a license key, to make use of just the non-enterprise features (i.e. a Rhodes app) just remove app_type:rhoelements from your build.yml." - of course it is likely I would need RhoElements! Looking at the Application Licensing (on docs.rhomobile.com site) it seems you can get them from Motorola Solutions (or a heap of other resellers) but typically I cannot find a price. This concerns me - I can forsee me being hit with a $10,000 fee when I distribute to the app stores.

Titanium also has ambiguity over the licensing. Some are claiming they are been chased for $5000 licences by UK resellers others suggest that is simply wrong and there are no licence fees. Again, no idea...

In comparison, PhoneGap does appear to tick the boxes and I don't see concern over licensing but compared with the other solutions it comes across as needing more of a manual process with unpolished results - although that could be more to do with the apps I've seen in examples rather than the capability of the platform.

The Telerik Platform seems good on the face of it but I doubt the 'developer' offering at the current price of $39 a month (marketed as "ideal for tinkerers and hobbyists") is enough so I'd be looking at a commitment of $79 a month paid one year up-front - ouch! I'm also unsure if this cost covers all licensing of complete applications (I would hope so).

As one of my key criteria is ease of install, configuration and build, I am leaning towards Rhomobile or Telerik depending on the final costs to me as the developer for building and submitting these apps.

All things considered am I on the right track or still very uninformed?

Many thanks.

Dicotyledon answered 18/5, 2014 at 17:11 Comment(8)
Please avoid asking questions that call for opinions or open ended discussions.Seaborg
Thanks @Jason. I'll re-work the question.Dicotyledon
Xamarin is more of a native cross-platform approach where you still need to know the platforms and the native UI's.Pubis
You won't find good answer for it in community. Everyone is choosing hybrid platform based on his preference. I was deciding between Titanium and PhoneGap because both of them are run on JavaScript in which I have most experience. After a week I found out that PhoneGap API is very limited and moved over to Titanium. It took me another two weeks to get me up to speed with that platform. It's quite stable with decent performance and lots of 3rd party modules. In some extreme situations you can always try to create your own module extending Titanium SDK.Mae
Thanks @daniula. I understand. Yes, for me the real difficulty has been (and currently still is) trying to determine what product best suits your needs. This includes capability, feature set, ease of use, support, cost and so on... it is really not straighforward. It sounds like you have made progress with Titanium. Do you anticipate any costs associated with using Titanium and distributing applications - are you planning on using the Appcelerator platform? Many thanks.Dicotyledon
Thanks @SKall, I'm interested in your comment that Xamarin is more of a native cross-platform approach where you still need to know the platforms and the native UI's. Are you able to elaborate? Many thanks.Dicotyledon
With Xamarin there isn't UI abstraction and the controllers are also native. You will need to know how the native navigation works, how the view and application life cycles differ etc. You can of course use a 3rd party framework to abstract some of this away but Xamarin isn't a WORA approach. I personally consider it as a strength for more demanding applications as it produces native applications with native UI.Pubis
I added Codename One to your title and will provide an answer related to that as wellPamphylia
T
2

Disclaimer: I work for Motorola Solutions, that release the RhoMobile Suite.

The RhoMobile Suite includes different product:

  • RhoStudio: IDE based on Eclipse
  • Rhodes Framework: Free, MIT license, to build B2C applications
  • RhoElements Framework: B2B licensed framework, built on top of rhodes offering support for data encription, barcode scanning, Windows Mobile and Windows CE support
  • RhoConnect: Synchronization and integration framework (need license)
  • RhoHub: hosting of RhoConnect and build server for Rhodes/RhoElements (need license for commercial use)
  • RhoGallery: Enterprise app store. (need license for commercial use)

The application you're going to build needs only Rhodes API. You can find on this table which API requires a RhoElements license. So you can build your app with Rhodes, deploy it on AppStore and PlayStore without having to buy any license.

You can find some support using the free user community on Launchpad.

Regarding paid support and RhoElements/RhoConnect/RhoHub/RhoGalley licenses, this will change during the summer to be aligned to the subscription model used by other cross-platform framework on the market.

Theatricalize answered 19/5, 2014 at 9:12 Comment(2)
Many thanks. I do like the sound of RhoMobile. So, to confirm, I can use RhoStudio to build an app based on the open source Ruby-based framework 'Rhodes' for free. Your site claims applications built using Rhodes are true native device applications (NOT mobile web apps as with the Telerik solution)? What about building the applications ready for distribution to the app stores? Is this reliant on RhoHub which I see does require a license for commercial use? If so, Rhodes may be free to use but there will still be a cost when it comes to distribution. Can you advise on this cost? Many thanks.Dicotyledon
You can build locally a Rhodes application, no need to use RhoHub. You simply need the native toolchain on your local machine (Android SDK and NDK for Android or XCode and iOS SDK for iOS). So, to make it clear, you can develop, compile and distribute a Rhodes application, without having to pay anything to Motorola Solutions. Regarding cost of the enterprise products (RhoElements, RhoConnect, etc) you can expect a price in line with what Xamarin offers.Theatricalize
S
2

I used phonegap to build a bunch of cross platform apps in 2009 and then switched to the free Titanium SDK in 2010 which I have been using since then on many other projects.

I have taken a cursory look at Xamarin (it looks pretty good) and other platforms like React etc. but can really only provide proper feedback on phonegap/titanium.

The ability to have a single codebase for both iOS/Android really saves me a lot of time. With this in mind, I find the benefit of a cross platform solution very efficient for building apps.

Having done a lot of phonegap, I found that it was very difficult to maintain these projects as there was no common way of doing things and also the look and feel required a lot of custom plumbing. The HTML versus native interfaces were also very clunky.

Titanium and especially the Alloy framework for Titanium has solved a lot of these issues for me. Alloy feels a bit like an early cut of Ruby on Rails. It makes structuring app GUI's a lot more consistent across projects and has significantly improved my productivity.

I get about 80-90% code re-use with either phonegap or titanium across iOS/Android and then have to write about 10-20% custom code per platform (eg. integrating 3rd party billing libraries and push notifications etc.).

That said, I often find that more complicated functionality such as push notifications or custom pull to refresh widgets etc. are usually quite tricky on cross platform technologies as there is not a lot of good tutorials and documentation out there yet. I put that down to this sort of technology still being fairly new.

My experience has been that the Titanium platform has been pretty good and their team is constantly releasing updates and improvements. It is free to use their SDK which is a factor in why I choose it instead of a paid subscription like Telerik or Xamarin.

They have a paid SAAS model (through their appcelerator parent entity) which they are pushing to corporate clients but that is something I haven't worried about as an indie developer. ie. instead of using their push notification service, I just roll my own.

It will be interesting to see which of the cross platform technologies gets the best up-take going forward.

If I was building a new app from scratch today, i'd probably take a good look at Titanium and Xamarin and probably also React/Rubymotion/Telerik etc.

It would be really cool if there was an independant comparison website or blog post that showed the code for how to build a true cross platform app with a slightly complicated interface on each of the platforms.

Slimsy answered 3/3, 2015 at 1:42 Comment(0)
S
1

Glad to hear that you've looked at the Telerik Platform. I work for Telerik on our Product Management team, and I'm happy to answer any detailed questions you have about the subscription, either here or via email at satrom AT Telerik.com. Feel free to drop me a line anytime.

That said, the Developer subscription that you've looked at does indeed check all of the boxes (as I understand them, based on your list above) for you, including licensing. Apps you develop with the Telerik Platform are your apps and there are no additional fees or costs beyond the subscription itself, even at the Developer level. Despite the website copy's suggestion that this subscription is for "tinkerer's only," it sounds to me like it would work for you, and that there'd be no need to spend $40 more per month for the Pro subscription.

I'd love to chat more about your specific needs and see if I can help you determine 100% if the Platform is a fit, so feel free to drop me a line, or follow-up here with a comment.

Santee answered 19/5, 2014 at 19:17 Comment(2)
Many thanks. So number of projects 5 and number of apps I can distribute with App Manager 2. Is this per month? Dev offers no data connectors. So if I have my own database server I cannot connect directly to it? Presumably reading/writing data to it through web services would be possible as an alternative? If I wish to use 'Push' notifications - would these be routed through your platform and does this incur a cost? Are there alternative approaches? I couldn't see a list of phone APIs available via your site. Presumably it is the Cordova API set? Many thanks.Dicotyledon
With the Telerik Platform Developer subscription you can have five AppBuilder projects at a time and the Professional level has no limits. You can connect to your own db server via your own Web Services, yes. Push notifications are supported via the Backend Services offering (available in the Developer subscription as well). And yes, Cordova is used by AppBuilder.Salish
P
1

Disclaimer: I work for Codename One.

Codename One allows you to embed a PhoneGap/Cordova application but it is unlike any of the other platforms. E.g. in the case of Xamarin you can read some of my thoughts in the Xamarin forum.

Codename One supports native OS builds, allows you to write code in Java and have it work everywhere. Its open source (unlike Xamarin, Telerik etc.) and has a useful/usable free tier that allows you to evaluate it properly coupled with a month by month payment option for advanced features.

Unlike some other options listed you can use the common Java IDE of your choice, we support NetBeans, IntelliJ & Eclipse.

Codename One can be extended with native code and there are many 3rd party libraries built specifically for it.

Codename One is a mature solution based on open source software developed at Sun Microsystems since 2006. Its used globally by developers of all levels from individual/hobbyist to fortune 500 companies.

You can read more about its unique architecture in How does Codename One work?

Pamphylia answered 2/12, 2015 at 5:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.