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.
Related
i have an existing iPhone and android application. my goal is to make some component in thsese apps reusable. so i am identifying components which are not using device capabilities and then will design these components from HTML pages so that the same code will be used in both apps.
one more requirement is that whatever web service is being used , that will be called from objective C or Java code and response will be consumed in my Html page.
Please give me your ideas as how can i achieve it?
what all tools should i use to make these pages?
are there any challenges, that we need to face at any stage in development?
I have no idea of web site development and html technologies, that's why i am looking for a help here.
Thanks
Rather than have bits of native and bits of HTML you would be better to develop the entire thing in Phonegap. Phonegap is developed in HTML and JS and then compiled into a native app utilising the OS's web view. This means that you will have the exact same code across devices and will allow for a more consistent UI.
Phonegap allows for native device functions to be used such as geolocation, accelerometer, audio, video, notifications, storage and more.
use Jquery Mobile to develop user interface and to package it as a offline app use phonegap.com
Hope it Helps !!!
EDIT:
See my answer
I saw some interesting frameworks to build applications for mobile platforms like Android and iPhone with HTML and Javascript so you can use your current web-development skills without learning a new platform language. That's very interesting because you can write just ONE application for many platforms. Very easy to maintain.
But, you cannot sell it in the App stores, so I’m wondering if it is possible to use an embedded webbrowser in the application that loads an external/included html file.
I have seen that it is possible to create Android and iPhone apps with flash, that's is easy, so i want to create a simple 'host' application that only loads content and I can use it over and over again to distribute a new app.
So the question is, is it possible to create a simple app with flash that embeds a webbrowser to load a html file?
When it is possible, next question is, it possible to communicate with the embedded webbrowser? Also a question is, will Apple allow such application in it app store?
I hope my question is understandable.
In a very strict sense, yes, you can make an app that is just a simple WebView wrapper pointing to your web-hosted app.
This is usually frowned upon though in the android market community, and i'm fairly positive such an app won't make it through Apple's closed-doors decision committee.
On the iPhone, if your app only consist of a UIWebView it is very likely that you app is going to be rejected. What you could do is ask your users to bookmark your webapp adding an icon to the home screen. Think Basecamp for iPhone.
After all this time i got the answer.
Phonegap uses a WebView to display the HTML content. It is a compiled native App with embedded WebView.
Apple accepts phonegap generated applications but it still not sure if it made it to the AppStore, it depends on what you doing with it. I think simple apps will made it. See also: http://www.phonegap.com/faq
EDIT/UPDATE:
I tried allot of tools/solutions to create crossplatform apps but all of these seem to do the same thing: It's a executable for the specific platform with an embedded browser. None of them compiles HTML to native code.
Flash (Builder) is something different, it requires AIR (can be compiled into the executable). When you using a WebView (only) with Flash, it is overkill because in fact you do not need AIR to display the HTML in a WebView. I think it is better to use phonegap to 'compile' the executable.
I came across this link:
http://ofps.oreilly.com/titles/9780596805784/
which seems to suggest web app can be converted to native iphone without writing a single line
of objective-c code. But the book mentioned there is outdated now and things may have changed a lot.
Are there open source software that will allow me to automatically convert my web application to native iphone ( or android) application? By the way my web application is html5 canvas based animation application with lot of html and css as well.
PhoneGap doesn't generate native code for you: it creates an application consisting of a WebView and throws your HTML code on it. From personal exerience I can add that the performance is quite slow, on both iPhone and Android, compared to a native app.
jqTouch creates a nice way to access your web application, but the application remains a web application residing on your site, plus you have to use some jquery for styling.
Apparently the only one that actually does generate native code is Appcelerator Titanium. On RhoMobile I never managed to get to the point to actually write some Ruby code because you have to know all the Ruby in he word just to install it on your Mac.
So the verdict was to sit down and develop the app in objective-c.
Have you looked at PhoneGap?
Simple steps to put your html app into iOS native container, without coding:
Download xCode
Download simple web view app from https://github.com/nomtek/iOSWebViewApp
Open simple web view app within xCode
Add your HTMLs to the project file structure
Run your app and voila :)
This approach is good if you don't need access to any phone specific features, just a standard Web View. Loading time will be short as this approach doesn't load any extra libraries.
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/
Can I use Dashcode to develop an application that can be sold in the app store?
No. Dashcode is more for creating webapps. To create an app for the App Store, you must compile it with the iPhone SDK, and for that you need to use Xcode. Furthermore, Dashcode is predominantly JavaScript-based, whereas iPhone apps must be written in Objective-C.
I've never used DashCode, but since you can call up the browser from Objective-C, you should be able to use whatever HTML/CSS/JavaScript solutions work in Mobile Safari. Check out iui, xui, and jQTouch as well.
Some apps lend themselves to the browser solution, and some don't. Unless you use something like PhoneGap, it's quite a lot of glue work to get at the iPhone's special features with JavaScript.