Titanium and PhoneGap - iphone

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.

Related

Iphone app using Phonegap and the OS and IDE I can use

I have a requirement from client to develop an iPhone application. As I am a dot net developer I thought it will be bit challenging for me. So I thought of developing it using phone gap. So before suggesting something to the client I need to make sure of certain points.
Do I really need a mac machine to develop this?
Since I am using only html5, css and js, can I develop it in Visual studio/Eclipse? I have already tried some samples in both these IDE. And once the app is ready I have read about using PhoneGap Build I can make it ready to use in iPhone...
But from the following link, what I understood is I need an apple computer, mac os and Xocde to develop it even though it is not a native mobile app.
http://mobile.tutsplus.com/tutorials/phonegap/phonegap-development/
Please guide me with some insights before talking to the client.
Thanks.
PhoneGap Build is a cloud-based service built on top of the PhoneGap
framework. It allows you to easily build those same mobile apps in the
cloud. To get your application build just what you need is to simply
upload your web assets - a ZIP file of HTML, CSS and JavaScript, to
PhoneGap Build, after some time you’ll receive the download URLs for
all mobile platforms.
I read it from here , they also mentioned about installing SDKs
you might want to install some of the SDK emulators if you don’t own a
particular device that you want to test a build for.
Here in this link they have put a note
Since PhoneGap Build uses Apple's standard development process to
build applications, you will need to sign up for their developer
program to build iOS applications on PhoneGap Build. You will also
need a Mac to configure your certificate and provisioning profile.
Consider using a Mac Virtual machine.
You mainly need a mac to create key value chain pairs to sign your app and test it on a device. You can just get a Mac VM to do this is my recommendation. You can then use the phonegap build service to compile your www folder for iOS
Here is a good demo for multiple index files to have one solution base
http://blog.safaribooksonline.com/2012/07/13/mcrooster-a-phonegap-application-with-a-single-codebase/
I think you should do a bit more research before jumping into bed with PhoneGap for the sake of not being an Objective-C developer. PhoneGap has its limitations, and my experience of it compared with native app development is pretty poor.

Questions on Cross platform mobile app development

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.

Eclipse: one PhoneGap project for iPhone and Android?

I'm trying out PhoneGap, so I followed the instructions to create an Android Project in Eclipse.
But now I'm wondering how I can use this same code for building an iPhone app.
Is there something like a hybrid project in Eclipse!?
UPDATE:
I realize now that it's not possible to use PhoneGap on Windows to develop iPhone apps? That's too bad... is there any way to use PhoneGap on Windows to compile for iOS ??
In theory PhoneGap build should allow iPhone development on Windows.
However Nitobi was bought out by Adobe (PhoneGap:Build service may have changed), and you may still need iOS to upload your app (might be able to get around with a jailbroken iOS?!).
A dodgy solution could be to install OSX in a vbox virtual machine :)
No, there is no way to develop iPhone app on Windows using PhoneGap or Titanium.
Because they need iPhone SDK and Android SDK on back-end, which is not possible on windows environment. However you can make both apps on iOS simulations.

Can an android app be installed/converted to run on an iPhone?

I have an android project that targets Android 2.2 (developing in Eclipse). Exporting the android project to the Droid Incredible works perfectly. Is it possible to export the project to a file suitable for installing on an iphone? I know that most iPhone apps are developed using xCode, but I'm not sure if xCode packages into a .apk or other file format that's equivalent.
Thanks in advance.
Only if you write or port your own complete Dalvik VM (in Objective C or Javascript), plus developing the runtime support needed for any and all API calls that your app uses, and bundling all that with your app, as that would be the only way to run a regular Android project on an iPhone.
A non-trivial amount of work.
Completely rewriting the app in Objective C and Cocoa Touch would be magnitudes easier.
Not even remotely possible. Android and iOS are completely different environments. There are a few frameworks for developing applications that'll run on either, but the results often end up looking kind of weird on both platforms.
You cannot export an Android application and run it in an iPhone because the hardware/software stacks/APIs/etc. are different.
However, if you build an application using for instance PhoneGap (a HTML5 based application framework), it is possible to deploy it on different mobile platforms.
If you feel curious about multi-platform mobile frameworks (Android/iPhone) you may find this thread interesting.

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.