views:

74

answers:

6

Hi,

I am trying to develop a native application for iPhone or Android or Symbian on Windows. I have looked online and came across http://rhomobile.com/, which let you develop native applications for almost all devices, but I am inexperienced in Ruby. I can code in HTML, ASP.Net, Javascript, and PHP.

The only thing that made my search hard is that this application should be available via Apple AppStore(iPhone) or OviStore (Symbian) or Android Store (Android). And I needed local database access, like SQLite, or MySQL.

I've searched a lot online, but couldn't find much.

If you are aware of any similar product, or any suggestion, please let me know.

Thank you very much for you help!

A: 

There is not, to my knowledge, anything that fulfills your requirements. The Symbian bit makes it especially hard. If Rhodes does what you want, you might be best off learning the Ruby required.

Titanium Appcelerator works for iPhone and Android and generates a native app. PhoneGap also works for iPhone and Android, but it's significantly less "native" - it's essentially adding some API functionality like geolocation, camera access, etc. to a HTML page and packaging it as an app.

ceejayoz
Actually, Titanium might be perfect for an Android application. I don't have a mac, so not iPhone. But, thanks, this will be very helpful!
Path Achiever
A: 

I came across PhoneGap some time ago which allows:

PhoneGap is an open source development framework for building cross-platform mobile apps. Build apps in HTML and JavaScript and still take advantage of core features in iPhone/iPod touch, iPad, Google Android, Palm, Symbian and Blackberry SDKs.

Scoobler
Although this seems very good, it requires a MAC for iPhone Development, and iPhone development is all that has SQLite database. I saw this on the Wiki page.
Path Achiever
From what I have read DB support in phonegap actually comes from [HTML5 DB](http://html5doctor.com/introducing-web-sql-databases) - and while the android browser does support databases with html5 [Dev Ref](http://developer.android.com/sdk/android-2.0-highlights.html#UserFeatures), the webView which PhoneGap uses didn't, but it was planned to as of android 2.0 - no idea if it does though. As for iphone development I thought it was only avalible on mac due to the SDK requiring a mac osx [Ipone Developement](http://stackoverflow.com/questions/113547/iphone-development-on-windows)
Scoobler
A: 

I've personally always thought that this is a bad idea, application look and feel changes from phone to phone and as such, aplicactions should be developed following the paradigm of the OS they will run on, ie, an android app that looks like an iPhone one or viceversa is just plain stupid.

Sure, its a lot more work to code a bunch of times, but it will provide a lot higher end cosumer satisfaction.

If you want something that works on all phones just make a web app.

blindstuff
You are right. Even though I am not at an enterprise level, what I am asking for isn't possible.
Path Achiever
A: 

Titanium does fulfil all requirements for an Android and iPhone application. However, I don't own a Mac, so iPhone wouldn't be possible.

So far, I think Titanium and Rhodes are the best options. Other than that, I don't think there is a solution.

Path Achiever
A: 

You can get more about developing Android Apps with HTML, CSS, and JavaScript here:

http://building-android-apps.labs.oreilly.com/

Creative-MITian
A: 

Hi,

I can give you some advices based on my long experience with developing for variety of mobile platforms:

If you said you want to develop the native application and you want to target more then one platform, you will need to develop it from the scratch on every platform (C++ on Symbian, objective-C on iPhone, Java on Android and Blackberry and C# on WM7). However you can make some core engine (if possible) in C and then rewrite only GUI parts (except of WM7 and RIM/BB) and the phone dependent functionality (e.g. access to contact book, accelerometer, file system...). This is not an easy task and if you have no experience in mobile field, not only with programming languages, but with the OS frameworks, IDEs, paradigms, signing, distributing on stores, if you do not have enough devices for testing, ... - simply if you are new to the whole ecosystems then it will be for you extremely hard, time consuming, costly and risky and honestly I do not believe you will be able to make some valuable product.

Rewriting code for each platform is not a big problem, once it is developed for one OS, it means you have the application domain knowledge, you only clone it to other platforms, which can be done in 50% of time or less, but still you need experts for every platform.

There is also some cross-platform possibility like HTML5. This means that you can use the native component (UIWebView iPhone, BrowserField2 on Blackberry, WebView on Android, QtWebKit on Symbian,...) on the target platform an make some wrapper around the HTML/CSS/Javascript code. Even this sounds promising it comes with some costs, which is performance problems, different level of web features support, lack of native application feel, problems with debugging, handling errors,... plus you must be really good in those web technologies to make the application looks cool. This is an option only for relatively simple applications. There are some simple frameworks like PhoneGap you can use at the beginning, but at some point you will find you need more sophisticated solutions and this will not be enough for you. There are also plenty HTML/CSS/Javascript libraries with UI components, which give your web application more native look&feel (e.g. jQuery Mobile), but it will be never like the native application.

That is the reality:) Regards, STeN

STeN