Questions on Cross platform mobile app development - iphone

I have the following queries on using phonegap / Titanium appcelarator for our cross platform mobile development
Currently we want to develop iPhone compatible and android compatible app with single source code using the cross platform mobile SDKs
Can this phoneGap or Titanium appcelarator works with single source code on both the iPhone and Android platforms?
also is there any other platform works as such?
And how these application will be relased with Appstore / Android market place since they have single code base ( source code ).
Any helps would be greatly appreciated.

I have tried out Sencha Touch with PhoneGap and also Titanium.
Sencha touch is pretty easy as it is based on javascript and can be used with android and iphone. The app created with Sencha touch can later be wrapped inside phone gap and submitted to the appstore.
Titanium again uses javascript but they do some processing on it. So the app is native.
They do have some common api's that can be used for both iphone and android. But for some advanced features they have 2 seperate sets of api's for both android and iphone.
So both have some differences. And they are both acceptable in Appstore and android market place.

I have not tried Titanium, but one of my friends is using Corona. He said its support Android and iPhone, and easily port over. You will need at least, adjust the image size, AFAIK, the image size for iphone and androids(various size) are different.
Corona: Write once, build to both iOS and Android.

corona concentrates on games. it uses lua. if you want to build a cross platform application you should first design your application cross platform. android and ios are different os with different style guides.
i have experiences with titanium and it worked fine. but i experienced that a cross platform design is important since the most time of building the app was used for programming the user interface. so invest time in building a good mvc design and ui. after that it worked out easily.

Find answers for you question below.
Can this phoneGap or Titanium appcelarator works with single source code on both the iPhone and Android platforms?
Yes It can definitely work with single code base. in addition to this you can develop universal App that can run in tablet and handheld from single code base
(NOTE: however on some point you have to differentiate between iOS and Android as some of the functionalities are specific to iOS or Android System. Titanium provide constants to check between iOS and android. It also provides constants to differentiate between Tablet and Handheld devices)
also is there any other platform works as such?
Other than Android and iOS titanium provides support for blackberry and mobile web platforms also.
And how these application will be relased with Appstore / Android market place since they have single code base ( source code ).
You can build App for required platform from titanium it self.

Related

Titanium and PhoneGap

I'm new to Titanium and PhoneGap and analyzing a bit the two is not possible to develop iPhone with a PC with windows using either of the two right? Well I mean in PhoneGap in the most current versions is only possible to develop without publication.
I wonder if this is actually correct and whether there is a way to make an application to one of these two technologies (Titanium and PhoneGap) Fragment as a view of the native Android devices for both Android and iPhone / iPad. Improving question, make an application to view the devices can be adapted for smartphones and tablets for better use of the screen?
If yes there is some example code and/or source of research?
PhoneGap has an offering called PhoneGap build which just came out of beta. It lets you build your apps in the cloud without a Mac.
You might still need a Mac for certificate (p12 bundle) generation or you can use a service like Mobundler.
For Titanium, a recent service called Foundry22 lets you build your apps without a Mac or any native SDKs installed locally. You just need Titanium Studio and a hosted Git repo.

iOS XCode native vs PhoneGap for speed of development

I'm aiming to do an app like Badoo:
http://itunes.apple.com/us/app/meet-new-people-chat-socialize/id351331194?mt=8
Basically it involves chatting with people and GPS geo-location.
Question is - I have two options:
A. Have this developed in native XCode for iOS
OR
B. Have this developed in HTML5 + PhoneGap
Assuming either route is with an experienced developer, how much time does B save over route A in terms of getting a viable product out?
Performance, speed, and UI are all important for this, so obviously native is ideal... but how much time would PhoneGap save in getting it out?
Thanks so much!
Have this developed in PhoneGap, as you can target multiple platforms. And also phonegap also supports geo location functionality. so its a win win with phonegap.
if you are going to target ONE platform, do the Xcode route. if you are going to target android and ios together, then please Phonegap.
I'm a fan of native development even if you are deploying to multiple platforms.
However, the main point is if you have skills in html/css/javascript and potentially want to support multiple platforms then by all means go with PhoneGap.
If you have skills in iOS development then go native and reconsider what to do if you want to support other platforms later.
IMO, once you've developed an application in one language, then the amount of effort required to do another version in Android, PhoneGap, or whatever is greatly reduced. If you know the target platform well it is painting by numbers.
If you are building for iPhone/iPad (JUST IOS), then xcode will be your best friend and it will be much faster to develop in xcode in that case, as documentation and sites like this one (stack over flow) have many code snippets around and it will make your life easier. And not to mention that storyboards are also excellent in making your User interface. If you take the xcode route, it will still take you roughly the same amount of time as phonegap.
HOWEVER, if you want to make the SAME app for iphone and android, then phonegap will save you 50% project time, and this only applies when you are talking about one app for both android and iphone
Just out of curiosity, where do your skills lie in? ios or html/css?

Pedometer App for a phone

Where could someone get the code or guidelines to create a universal pedometer app for various phones?
or would you have to create a different app for each phone?
or could you just create an app for android & iphone?
How would a coder go about doing the task? where to look for help?
Titanium Mobile is a cross-platform dev environment that lets you write apps in javascript that are then compiled into native apps for iPhone/iPad and Android. I haven't used it myself, but I've heard that it does not completely suck. I do not know whether it supports the accelerometers in these devices (which would be necessary for a pedometer app), but it probably does.
However, since you'd have to learn a bunch of new stuff just to use Titanium, it might make more sense to just pick a platform and spend your time learning to program it natively (Android has more marketshare now - maybe - so I'd recommend just learning that; Android is much easier to work with than iPhone).
Titanium Mobile does support Accelerometer.
For iPhone, there is an offical library in the framework that will detect steps, but it will only work from iOS7.
Look here: /System/Library/Frameworks/CoreMotion.framework
Please be aware there are restrictions for what kind of Apps can run in the background on an iPhone.

How to develop products on mobile phones

Recently we are going to develop some products on mobile phone (specially for 3g). There are many platforms about mobile phones: iPhone OS, Symbian, Blackberry's. If I want to develop a product, should I use Java or write every program for the main platforms?
Particular one question for iPhone development: are there many Java programs on iPhone? Most iphone app I've seen are developed by their own xCode.
I need some guidance on how to do coding for mobiles correctly.
All these platforms are completely different beasts as in the old days. About symbian, (which I am most familiar with) you can use Qt for quality native applications. Native api is confusing so avoid it where possible. If your application is simple, you can even get away with python.
In short, use the language which you are most productive available for each platform. Their apis are wildly different anyway. Language choice doesn't matter as much as the choice of platforms you are supporting.
Java is not available for use on the iPhone; you can use Objective-C, C and C++ to develop iPhone applications.
There is currently no Java for iPhone, so you need to develop separately for iPhone in objective C.
Alternatively you can create application which runs in web browser, it'll be available on all platforms, but not every application is suitable for web.
Have you considered you using web technologies?
There are a couple of cross platform tool kits for iPhone and Android. They work in the same fashion as Adobe Air. Allowing you to make HTML/JS based web app and run it as native code in the browser.
Titanium Mobile (Android & iPhone) HTML/CSS/JS
Corona iPhone Only via Lua
Palm's Web OS is also based on web technologies.
Finally the old guard, Symbian Provides a Web Widgets system, that works in on all handsets with 9.2 fp 2 installed (n95,e72, n97 etc.) The api supports some hardware functionality.
The only one left out in the cold is Windows Mobile. There is some 3rd party support in the form of Web Widgets by torch mobile
It's currently limited to iPhone, BlackBerry, and Android (and possibly WinMo) but you may want to check out the open source project called PhoneGap. I think it is basically just a native wrapper around the built in web browser for each device, but it does expose some functionality not normally available in that environment such as geolocation, accelerometer, sound, etc.

Language for phone software development

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.