Hi i wanted to develop an iphone app with Ruby..
Is Rhodes or Titanium the best option?
i need to integrate GPS and google maps
Rhodes is the only way to actually write a mobile app in Ruby. It is not possible to do so with Titanium or any other framework. Rhodes (and PhoneGap for that matter) emphasize writing interfaces with HTML5 and styling libraries like jQuery Mobile and Sencha Touch (but still to build a native app NOT a web app). Titanium creates its own UI abstractions and does not allow use of such styling libraries. We believe that use of HTML5
If you want to write the iPhone app in Ruby then Rhodes is as far as I know your only choice. I've made several apps with Titanium and the only language(s) you can use is Javascript/Coffeescript (Coffeescript compiles to JS). Titanium's Ruby support is only for desktop as someone has already pointed out.
As far as capabilities for Rhodes check out http://docs.rhomobile.com/rhodes/device-caps. Looks like they have support for Geolocation and Native maps.
Rhodes seems to be a Ruby only solution, while Titanium offers support for Ruby/Python/PHP. Because of this, I would choose Rhodes. Other than that, you should have access to all of the features from all the frameworks.
Related
This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
What work has been done on cross-platform mobile development?
Is there any mobile application development framework available by which I can develop a app that will run in all all platforms like iphone,Android,Blacberry.
Have a look to PhoneGap http://www.phonegap.com/ or Appcelerator Titanuim http://www.appcelerator.com/.
As Feanor said, web application is the only way to go if you are targetting all applications with one build. You can use many javascript libraries optimized for the mobile. Such as Sencha Touch, JQTouch and Wink Toolkit. You can use PhoneGap to wrap these web apps so you can sell on them on the respective device appstore.
Titanium does try to provide cross platform developement to some extent but if you application is a bit more than a simple app it wont be easy as even they has different api's for different platforms. The only difference is you can use javascript to develop for all the platforms in Titanium.
The main difficulty in doing a cross platform app is that, the api's and ui philisophy are different for each platform. The langauge in which development is done is not the only difference.
You can't make a Cross-Compilable application. The closest you are getting are something like Phonegap, which uses HTML5 and CC3 as a webapp.
The problem with those applications is the lack of native opportunities and you are loosing performance.
You can build HTML5 web apps for iphone,android and blackberry(http://devblog.blackberry.com/2010/03/use-html5-in-your-blackberry-web-content/)
In addition to notme's suggestion consider marmalade http://www.madewithmarmalade.com/ the clever part of marmalade is that it produces a single binary that will run on all platforms.
Be aware that there are always compromises when you use such frameworks. Many are explicit but some are hidden - like you might have trouble attracting developers to work on them.
I am new in iPhone development, and am trying to study the Objective-C language to develop my native app. Somewhere I heard that we can develop native apps for iPhone using PHP/Ruby with the help of third party tools like Phonegap or Rhomobile.
Does anybody know about these tools, and whether it is possible to develop native apps for iPhone by using these? If possible, does the App Store accept apps written using these tools?
I think you are referring to web apps, which approximate native apps. The front end, which is used on the mobile device, is written Javascript. The back end, if needed, are usually REST data services hosted on typical web servers. The back end can be written in Ruby, PHP, Scala ...
Phonegap wraps your HTML/CSS/JS app by compiling it into a device app. The Apple store has accepted Phonegap apps.
Some rich frameworks to consider: SproutCore, Cappuccino, Sencha Touch(?)
I'm playing with Backbone + jQuery Mobile, which doesn't try to be a desktop-like framework like the ones above. jQuery Mobile is not as full featured, but is lighter and leverages my current HTML5/JS/CSS skills.
I use Rhomobile to develop apps, it uses Ruby, html, css and other hooks into the phone's native cababilities. The benefit is that you can build an app once, and deply it for iPhone, iPad, Droid, Windows etc (with just a few tweaks) - you can download the app I developed with Rhodes (Rhomobile's framework) from the app stored. its called iMessiah - an app for Messiah College, here in PA.
It has admissions department information, apply now (not that you'd complete the application on the phone, but you could), sports scores, integrated 3D campus map, department directories (uses the phones database), touch dial, news, schedule a visit ...
if you don't want to install it - you can check it out here - http://www.messiah.edu/mobile/iMessiah/index.html
-Jon
I was looking into PhoneGap and Titanium framework, and I did not clearly understand how to they work, let's suppose I have already developed an app for android or iphone, can I run this app on another mobile with a different OS with PhoneGap or Titanium help?
Or I have to develop again my app with PhoneGap/Titanium framwork?
In this case I have full support at all the features like thread, JSON or XML parsing and so on?
Thank you
PhoneGap basically takes a client-side web app (HTML, CSS, JavaScript) and wraps the whole thing in a native device's web view control. You can hook to some of the device's native functions, but as you can guess, it's pretty limited compared to native development. But easy, and brings in a whole range of skills that a lot of people already have. That's really the appeal of PhoneGap.
Titanium is also html/javascript oriented, but it actually claims to compile to native code. Their sample "kitchen sink" app demos quite a lot of the native APIs, at least for the iPhone. I doubt you'd be able to deal directly with threading, but JSON for sure, and I'd think XML as well.
Titanium has full support for JSON or XML parsing.
You can see Titanium examples - Kitchen Sink - for more details.
The idea behind phone gap is that you can take a browser based client app that is written in html/css/javascript and use phonegap to gain access to some native mobile hardware like contacts, gps, accelerometer, etc. Phonegap allows you also to build this web app for different mobile devices all using the same web app code.
To answer the first part of your question, no, you would not be able to take a developed app and use PhoneGap or Titanium to run the app on another device.You would have to write the app in either the PhoneGap or Titanium Framework and then build the application to the devices you want to support through the tools that each give you.
For example, you would write your code in JavaScript(Titanium) or HTML/CSS/JavaScript(PhoneGap), then use the app's build tool to create the file that would be released onto the phone.
Am looking into developing an iPhone native app using Titanium Developer
Since this is still in beta, I am wondering if there are any better options and/or if its a good idea using such software to develop native apps (which are not games; not graphic intensive)
If you don't want to wait, you can do what a lot of us did: develop apps in Cocoa Touch. It works perfectly well for games as well as non-graphic intensive apps.
The similar and more mature PhoneGap framework has been used in a number of iPhone apps and Apple only seems to object if the application autoupdates.
That being said, I wouldn't recommend using web frameworks unless your application is really simple--you will get a much better experience from a native application (on both Android and iPhone)
My company uses Titanium and it's working fine so far. It's also a pleasure to develop iPhone app using javascript and co. I'd recomend you give it a try, it's really simple to set up and start coding.
Some reading up: http://boldr.net/iphone-app-with-titanium-mobile/
Exists an universal phone developement language?
I mean, for example, php or java or whatever
Edit : We have to develop a few phone applicatons, and we are looking for the best reusable language in differents devices (Blackberry, iPhone, Motorola, etc)
Java is as close as you'll come, but it's no where near universal (iPhone doesn't support it!)
Since iPhone's language isn't used by anything else either, it's pretty much a given that you won't find a universal solution.
Rhodes by Rhomobile is a Ruby framework for building cross-platform phone applications. It allows you to build a single application that works on all major smartphones: iPhone, BlackBerry, Windows Mobile, Symbian and Android. (The only obvious omissions seem to be OpenMoko and PalmOS/webOS, but all the phones you listed are supported.)
The way Rhodes works, is that you write your application in Ruby and your UI in HTML. A Ruby implementation, the Rhodes framework itself, your application scripts and your HTML files then get packaged up into what looks to the phone's operating system like a single native application. Rhodes then runs a webserver inside of the phone and serves the application from there, using the phone's builtin web browser UI component and a JavaScript UI library for making the web app look like a native app. (E.g. iUI for the iPhone.)
There was a nice introduction to Rhodes (with live coding) by the Rhomobile CEO at the Mountain West RubyConf 2009, the video is available at the Confreaks website.
Java (more specifically J2ME) will work on most phones. Googles Android and Blackberry development involves Java too. On Symbian-phones you can develop in C and there is an interpreter for python. If you are aiming for the iPhone market you have to stick to Objective-C and the Cocoa Touch framework.
There is no universal language, nor universal runtime that is supported by all of the major platforms. Two major players are Java on J2ME, BlackBerry and Android devices and Objective-C on the iPhone.
You might want to check out Symbian phone OS, it is intended as a common OS originally a joint collaboration between Nokia, Motorla and Ericsson. see: www.symbian.org/index.php
HTML + Javascript + CSS
PhoneGap!
It is the only cross platform mobile framework that I know of. Has feature support for iPhone, Android and Blackberry
http://phonegap.com/
Well!!! Most of the phones support java. What are you trying to do? Learn a new language?
Java is probably the closest you're going to find.
Even if you can do it, what good does it do to write a mediocre application that doesn't really take full advantage of whatever device it is on?
Bite the bullet and choose to do great implementations on a selected subset of mobile platforms.