4

I am searching for a platform to develop cross-platform mobile applications. The application, we are developing is somehow complex and we need it to run on Android, iOS and Blackberry.

We want the code to be written once and run on every platform without any memory leak problems. I've read various articles about this, but it was all theoretical and has not gave me a clear idea to select my framework, either RHOmobile or Appcelerator Titanium.

Please suggest exactly one platform to start and to move on with.

TonySalimi
  • 8,257
  • 4
  • 33
  • 62

4 Answers4

5

Correct me if i'm wrong but i think Appcelerator only supports "native" Android and iPhone.

I tried Appcelerator a long time ago so i'm not saying anything more about that platform because it's probably so much different and better now.

I'm currently evaluating rhomobile as a development to native development and i can tell my initial thoughts.

Pros:

  • Great support by motorola and rhomobile team. Really big plus, they're fast and know what they are doing.
  • It's easy to learn. I found Ruby very easy to learn and if you want, you can avoid it almost entirely and do just the basics. The framework is also very straightforward and simple and using any library usually just requires calling a function.
  • Supports out of the box a lot of devices hardware features (camera, barcode scanners, etc.)
  • Rhohub, Rhoconnect, RhoGallery, check them out, they work great and gives a lot of value to the platform.

Cons:

  • Rhostudio (still) sucks. It's a tool that lacks all the great features of any modern IDE. Luckily you can develop using any other editor (like Sublime text) and use the command line. I use Rhostudio just for building and some quick editing to avoid the command line.
  • Like every framework, when you want to do something it's still not prepared to do, it's a pain. Check the features and libraries already included and make sure it has everything you need. It allows you to write extensions but that's not really what you are looking for.
  • Building and deploying (not using rhohub) for windows mobile and blackberry can be a pain if it doesn't work like described in the documentation.
  • A lot of outdated documentation. Many things doesn't go as described in the documentation, or you can't find the detail you want on something. That's when the support in launchpad and google groups shines.
  • Don't know why but i constantly get that feeling that mobile cross-platform development it's still not there yet but it's getting there...

I'm still learning as i go but these are my initial thoughts of the platform.

Daniel Goncalves
  • 308
  • 1
  • 10
  • +1 rhomobile sucks! I had to invest lot of time to get out of the outdated documentation and current and you are left to yourself to figure out whichone is outdated which is current info. it surprises me that they dint bother to remove the outdated documentation/vids.. – uday Apr 15 '13 at 05:40
2

Disclaimer: I work for Motorola Solutions, that has bought RhoMobile in July 2011.

At this moment (v2.2) RhoElements target Windows Mobile, Windows CE, Big Windows(desktop), Android, iOS, Windows Phone 7 and Blackberry with beta support for Windows Phone 8.

Using RhoMobile's RhoElements product, based on the open source Rhodes framework, you can build the applications interface using HTML pages (by default using jquery mobile) and than add you business logic using a Ruby MVC framework that implements for mobile devices a lot of the power provided by Ruby on Rails. You can download the tool to try it, see some videos and partecipate in the forums on MSI Launchpad.

Is this the right tool for your job? only you can decide...

I can add that RhoElements is only one of the products included in the RhoMobile Suite, if you need a synchronization and integration engine, RhoConnect is perfectly integrated with Rhodes and can simplify the deployment of data to the devices.

pfmaggi
  • 6,116
  • 22
  • 43
2

I've used all three: PhoneGap, Titanium, and RhoMobile. (Although in general, I don't like web language cross-platform, and prefer C++/Java/Lua/ActionScript3)

Titanium is my least favourite - but that's more to do with misleading claims on their website. (btw - it is NOT compiled to native code). The only conceivable advantage of Titanium over RhoMobile is an OpenGL API. But if you wanted to get into graphics - you'd probably opt for a more powerful MarmaladeSDK or AdobeAIR approach.

Ruby scales up for "complex" apps much better than JavaScript. This is definitely an advantage of RhoMobile over both Titanium and PhoneGap. Ruby also imposes a MVC methodology, which would help to organise a sophisticated app. Motorola's support is good.

user433579
  • 1,223
  • 1
  • 10
  • 17
  • 1
    Partially incorrect when you say "Not compiled to native code", yes your logic stays in javascript and is interpreted at runtime but all the controls that you make use of are coming directly from native.Thus giving you more native feel then using html and running them on a web view. Titanium introduced alloy framework a year back which imposes MVC methodology with backbone js. – Amit Apr 16 '14 at 09:16
2

Not familiar with RHomobile, but here's what I can tell you after years of working with Appcelerator, Native and Xamarin (xamarin for only a few months)

To me, hands-down, the winner is Appcelerator.

Xamarin appeals to the C# developer in me but, even with the addition of Xamarin Forms in 3.0, there is still too much platform-specific development which will drastically drive up costs.

Compare to Appcelerator, written in JavaScript, where roughly 95% of your code will be shared across all platforms while still providing near-native performance, you just can't compare

With both, you will have to learn the paradigms of native mobile layouts which, if you're a web developer, will be a sizeable undertaking

Web leaks: This is the big myth about Appcelerator which I think is directly linked to the low entry point of JavaScript development. Bottom line, you can write leaky code in any platform. In most cases, Garbage Collection will handle it for you, but if you leave global references scattered throughout your application, you will pay the price, in any platform

As for leaks in the platform itself, Appcelerator did have a few reported, but their platform has matured significantly

Compiles to native: Another myth. Appcelerator is a JavaScript runtime with a bridge-to-native approach; this allows you to use all the features of the JavaScript language; if you are a good JavaScript developer, this is something that will have a significant appeal to you

Maintainability: This is what I love most about any mobile MVC framework vs native. With Appcelerator's MVC app architecture, I find myself adding windows, custom controls, features etc a lot quicker than in Native or Xamarin

Another consideration is that test cycles are very costly in any platform. The ability to test your code in JSFiddle, Codepen, etc, is priceless to me

Hardware support: I've complained about this in the past with Appcelerator. When a new OS feature is released, the bridge-to-native approach will require them to scatter to get the new features built into their bridge; this in turn creates delays in new hardware feature support. If you're comfortable with native development, and you really need the latest and greatest hardware support, you can build the bridge yourself... the process is quite simple

Community: This is what I love most about Appcelerator. You won't find many Appcelerator issues on Stack Overflow because they have their own dev forums and you typically get a question answered within minutes. I'm still waiting for a fairly simple question I asked months ago on Xamarin to be answered; this is one reservation I might have about newer platforms

Documentation: Check out each platform and judge for yourself

Adoption: How likely are you to find talent for a particular technology and how easy will the skillset will translate as you move along in your career

In the end, all these might matter little. The cross-platform mobile landscape is evolving so quickly that I encourage you to pick up many platforms, constantly, as the winners of today may very well be the legacies of tomorrow... Heck if, as programmers, we don't know that already

David Glass
  • 3,088
  • 3
  • 18
  • 24