in which programming languages can we develop applications for adobe air? - air

In which programming languages can we develop applications for adobe air ? java ?

You can use HTML & AJAX (HTML is a markup language and AJAX utilises JavaScript) or you can use ActionScript from within Adobe Flash and Adobe Flex.
Adobe AIR Developer Centre

ActionScript
http://www.adobe.com/devnet/actionscript/

Air is in fact a "non-web web browser". IOW, the runtime has WebKit (HTML+SVG+JavaScript) + Flash (ActionScript 3 + Flex library); but instead of an URL field to type an address, it opens a downloaded package.
So, to answer your question:
you can write as a modern Ajax-Heavy web app; with the advantage of not having to support a variety of browsers.
you can write Flash applications, either with or without Flex; which is a nice GUI library.

The best way to develop RIA application is Adobe Flex
You can see some RIA application in Tour de Flex

Related

PhoneGap for Windows Store Apps

Can we use PhoneGap for Windows Store Apps that will be developed using C# and Xaml? If so, can it handle all device and resolution dependencies?
I'm not quite sure what you're asking here. If the question is "Can we use phonegap to develop an app for windows 8" the answer is yes : http://docs.phonegap.com/en/edge/guide_platforms_win8_index.md.html#Windows%208%20Platform%20Guide
If you're question is "can I write code for a phonegap application using C#" the answer is no. The whole point of phonegap is that it allows you to write applications for various different platforms in HTML and Javascript.

XUL used in web development

I am looking for some start up guidelines to share their experience on XUL development in web application. How good is the option to develop the interface in XUL ?. Can IE understand XUL interface?. I have started reading about XUL and I am liked confused a lot.
Please share your development experience on XUL development.
Thanks
XUL is a Mozilla-only technology meaning that it will only work in Firefox and other browsers based on the Gecko engine. I have bad news for you though: Firefox 4 (meaning Gecko 2.0) disabled support for remote XUL for security reasons, so using it in web applications will no longer be possible. It was arguably a bad idea in the first place.
Take a look into Ample SDK UI Framework, XUL (see examples) is just one of the several XML-based technologies it enables across all browsers, also in IE6.
The ZK web framework (www.zkoss.org) is based on XUL. Actually the web pages you built, using this framework, have the extension ZUL. It produces html + ajax code capable to run in all modern browsers. We are using it in my company for two years now and i have to say it changed my view about XUL.

What is XUL and XUL runner?

I've just installed songbird: it has a fantastic user interface. Then, I've read it's made with XUL, the core of Mozilla Firefox.
Ok, but I don't understand: Songbird is a desktop interface behind a web interface? And What is XUL? A library?
What can I do with XUL? Desktop application GUI/interface like Web application (HTML+JS+...)?
XUL is a markup language designed to describe user interfaces(in many ways similar to XAML). Like you mentioned, XUL is what Firefox is made of(along with JavaScript).
XUL is used for desktop applications(usage of XUL for web applications is likely to be discontinued in Firefox 4). The fact that Songbird is made of XUL doesn't change the fact that it is a desktop application.
Although XUL may look similar to HTML in some ways(both can use JavaScript), the two are not the same. XUL is mostly for desktop applications. HTML is mostly for web applications.
XUL is not "native code". To run XUL applications, you need a "XUL runner".
With enough programming knowledge, what you "can do with XUL" is create applications. It's that simple.
In addition to luiscubal's answer:
Here's an overview of XUL benefits: https://developer.mozilla.org/en/The_Joy_of_XUL (a bit dated)
Here's a list of applications that use XUL: https://developer.mozilla.org/en/XULRunner_Hall_of_Fame

Differences between Adobe AIR development approaches?

The Adobe Air introductory documentation and samples seem to separate Air development into 3 different categories:
HTML/Ajax
Flash
Flex
I've read the tutorials and examined some of the code, but I'm not totally clear what the differences between them are, and more importantly why you would choose one approach over the other. Sorry for asking such a basic question (please bear in mind I come from a Windows development background).
I will answer this myself since I've done the research. Here's a summary:
HTML/Ajax, Flash, and Flex are
different approaches to developing
web apps. These technologies can be
combined in a single web app.
Adobe AIR is a runtime which allows you to take those web technologies and run them as a desktop app instead of in the browser. You can combine them in the same app.
Flash is a runtime that was originally created to provide a rich UI to browser based apps. AIR brings the Flash runtime to desktop apps.
Flash runs compiled SWF files and is scripted via ActionScript. Flex is a tool
(SDK, MXML schema for defining UI, etc), which makes it easier to create apps that run on the Flash runtime (it generates SWF files).
Further details see: Adobe AIR FAQ, Adobe AIR (Wikipedia), Adobe Flash (Wikipedia), Adobe Flex (Wikipedia).
As for deciding which approach(es) should be used when developing for AIR, I think that should be based on the experience and preferences of the developers working on it. I don't think Adobe gives any guidance here, because their goal is simply to provide the same options for desktop developers that web developers already have.
I haven't used Flex myself, but I know that you can use it to interact with HTML elements, rather than providing the interface itself via Flash. I'm not clear on what Flash vs. Flex is though.

Embedded web browser engine for cross platform desktop application? [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
How to embed a web browser control in a cross-platform application?
I'd like to embed a browsing engine (HTML,JS,CSS,DOM) in my desktop applications.
Which one is most suitable for me if I want to use it in a cross-platform desktop application?
Should I stick to one specific or write my own abstraction layer on top of the natives ones?
Update: A solution needs to provide an option for at least Windows/Mac/Linux.
WebKit is very lightweight and runs on all platforms. You will have to look at Google Chrome to see how to embed it into a Windows application. I believe it's native to GTK. There are also bindings for wxWidgets / wxPython.
Qt is highly optimised, cross-platform yet native-looking, usable from C++, Java and Python, and includes WebKit.
Awesomium might serve your needs-- it's a cross platform (Windows and Mac OSX) library based off of Google Chromium intended to help users embed a full-featured browser in their applications. It's free for non-commercial use and has a C++ API.
Should I ...
write my own abstraction layer on top
of the natives ones?
Having struggled with this exact issue, I think this is the only safe option at the moment. Something like Webkit on *nix, and Internet Explorer on Windows.