what are the down side when developing adobe AIR application? - air

hi
looking into the framework, what do you think about it as development framework for
cross platform desktop apps
from first look , i can see that all your source code are not encrypted
also does not support multi threaded
what else i must consider ?

i think this website gives a good overview about the pros and contras of adobe air:
http://www.itwriting.com/blog/?p=310
there are already thread here that talk about that issue:
Advantages/disadvantages of writing a web app using Adobe Air/Java as opposed to platform specfic languages?
and if you want to protect your source code, there are some things that will help you:
high performance encryption in adobe air / flash

Related

GWT & MVP in order to deliver BOTH Native (Android+ObjC) & HTML5 Mobile Apps?

So GWT best practices encourages one to use some flavour of MVP, which should in theory allow one to write different native views while sharing the presenter business logic.
This seems to be at the heart of the GWT spin off Google project http://code.google.com/p/j2objc/ which converts the non-UI part of your code to Objective-C, allowing you to write the rest natively in Objective-C.
So my question is: If this really hard part of the puzzle is being solved, how hard would it be to include an HTML5 mobile library (like MGWT or Touch4j [Sencha]) into this MVP pipeline to have the best of all worlds?
Having dabbled with http://code.google.com/p/playn/ , this clearly seems to be the blue-print for having a cross-plaftform build system (native android & html5 & java &...), but that project is geared for single screen drawing and event loop for game dynamics and doesn't allow for keyboard input and other typical mobile goodies.
It seems a shame that if so much of the problem has been solved, that it's not possible to go the extra mile. The answer to this question would be the best plan for actioning a solution, including such nigglies as which MVP structure to choose that would ease accommodation of the various widget libraries (GWTP vs MVP 2.1), and if the best approach is to start with the PlayN code base, and start to hack it.. what are the gotchas? Or if another path is chosen, why that one? and why would it be the best??
Thanx a lot. :-)
It is not clear whether your question is - evaluation options for multi-platform app development or mvp.
You can evaluate additional technology which are used with Sencha and GWT
1) mgwt
2) titanium
3) phonegap
You can also reference - Creating a mobile app using Google App Engine and GWT?
Note: PlayN as you mention is more of gaming platform and not suitable for business app.
MVP is definitely doable... and at times you may feel like its a lot of work, but it pays off in the end. Check out the Touch4j Kitchen Sink, which is written using MVP. You can take that down to the device with Cordova if you wish. The code is on GitHub:
https://github.com/emitrom/touch4jks
The repo is actively being worked on (we are updating ourselves to Touch4j 4.0) so it won't run out the gate, but at least you can see and follow the model :-)
Titanium4j is to Appcelerator's Titanium as Touch4j is to Sencha Touch. You may want to check that out as well. Titanium4j and Touch4j rely on GWT.
Cheers.

various Windows 8 Metro app development approaches

I am starting developing Windows 8 Metro apps. It seems that there are 3 different approaches available for creating one:
C#/XAML
C++/XAML
JS/HTML5
Do these approaches have the same functionalities and power?
I mean that if one develops an app in one these three, is it possible to recreate it in any of the other two?
Well, a simple application can be built on any of these platforms. Their won't be much difference. C++ code is generally more faster, if speed is a matter for you got that way!
There are some tools like DatePicker and all which are available only in JS/HTML but NOT on XAML(Alternatives are available though).
So yes! there is a bit difference in the API's available for each of them.
Their is a question already on the site explaining difference between C# and C++.
I personally prefer C#/XAML because it is easy and comfortable.
You may refer to it here:
What are the pros and cons of writing C#/XAML vs. C++/XAML WinRT applications in Windows8?
Happy coding :)
You can write the basic engine with the C# language and the mainview with HTML5.
If you know web development technologies, you can develop a Windows Store app using HTML5, Cascading Style Sheets, Level 3 (CSS3), and JavaScript.
If you have developed .NET, Windows Presentation Foundation, or Microsoft Silverlight applications, you can develop a Windows Store app using XAML, with code-behind in C++, C#, or Visual Basic.
If you know DirectX, you can develop a DirectX Windows Store app using native C++ and HLSL to take full advantage of graphics hardware.

How to create a cross-platform smartphone application?

I am new to smartphone application Development, I have worked with .NET web and Windows Forms applications and only used the C# language.
I am planning to make a simple application which can run on all mobile OSes, like BlackBerry, Windows Mobile, Android phones, iPhone, etc. On searching I found that all have different OSes and uses different languages. I can use the C# language and .NET since I am aware about it. After some thinking, is it possible to make a web-based application using normal website coding but make it work like an application?
Please suggest some method to make a application which is possible to run on all smartphones. What technology or tools can be used for developing it?
The best approach to create truly cross platform app is to use HTML5 and JavaScript. All the other options will be painful. However, of course you can't access all the features with these web applications.
One interesting framework for creating HTML5/JavaScript based apps is PhoneGap (http://www.phonegap.com/). It has quite many API's available and wide support for different platforms. (Note that browser performance varies between devices so make sure not to add too much effects and glitter)
For native apps, there's no that many frameworks but one interesting is MoSync (http://www.mosync.com/)
There can be multiple approaches to create a Cross Smatphone plateform apllication.
If you want to code just once and want to to run on multiple enviroments without any change you must go for some javascript/HTML5 bassed solutions. One that I work with is NGCore. It is a development framework that allows games to be authored in JavaScript but with native application performance by leveraging ngmoco's ngCore libraries.
Other approach that will best suit your needs is to go for a Environment like MonoTouch. Its C# based and AFAIK you can use most of the .net API in MonoDevelope. It lets you reuse most of your code on another environment.

Quickest way to build a simple Symbian app?

I have a Symbian 9.1 handset, Nokia E65, based on Nokia S60 series UI. I'd like to build a simple, full screen, graphic application. It should be able to display some text and pictures and have a basic interaction from the keyboard. That's for me only, not to be deployed.
Now, what do you think is the quickest and most painless way to have it done?
I have the following skills:
- HTML, PHP, ASP.net, JS
- ASP.net and C#, Silverlight
- Java, but mostly for networking, not UI
- Some C++
I have downloaded the Nokia IDE, but it is scary at first sight :)
Any tutorial or example are welcome!
Edit:
In particular, two questions:
is there a possibility to make a stand-alone flash application for that handset?
how about the QT mobile version?
For your device, definitely use Python for S60. It is much easier to start with than Symbian's C++ SDK and in case you ever need more low level functionality than python gives you, you can write small modules in c++ and use them in your Python program.
For a simple application like the one you are describing, Python will do just fine. You don't even need any of Nokia's IDEs / tools on the PC, you can just write the code in any text editor, copy it to the phone and test it live.
As others have mentioned, other options include:
Symbian C++ SDK : As you have discovered the tools and not the most intuitive to work with, development is not straight forward either.
Nokia's WRT : Using javascript/css/html, but it is not available for your phone.
Qt : Not available for your phone.
Java Me : Probably your second best option, your code will be slightly larger but more protable. The tools are not as straight forward as with Python, but definitely not as complicated as with Symbian.
If you think you may like to do some further development on the Symbian platform in future, I'd strongly suggest looking at Qt. Unfortunately, however, you can't use it on your E65, since Qt requires S60 3.1 or higher. (The E65 runs S60 3.0).
Since Qt coding in done in C++, you also have access to native platform APIs if required. For most apps however, the (considerably more user-friendly) Qt APIs provide all the functionality you need.
Depending on your background, the learning curve may be steeper than using Java or Python, but the pay-off is that you get access to a very powerful toolkit. And of course, as long as you use only Qt APIs, your app should be easily portable to other Qt platforms if necessary.
Go for Java ME.
All the things you list in your post is possible to do in Java.
The Symbian SDK for C++ can be downloaded here.
NSBasic is another option.
Kindness,
Dan
May I suggest Python? For newer Symbian handsets I'd recommend Web Runtime (WRT), but it is not supported on good old E65.
I'm obviously biased but I would suggest getting the 2D graphics example code from the "Quick Recipes On Symbian OS" book:
If you know HTML and JS already, you should be able to write a Web widget for your Symbian device pretty easily, using the tools available through Forum Nokia. More info here:
http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/
These widgets are standalone full screen applications that use the device WebKit browser engine for rendering and UI. You can also use keyboard inputs and customize the softkeys if you wish.

Fireworks or AIR?

I need to write a desktop application that can run on Mac (Windows and Linux soon) that can get data from MySQL and allow users to transfer files from their desktop to the server.
I know I can write a desktop app in AIR, how would Fireworks play into this?
Can AIR connect to MySQL?
Can one FTP files with AIR?
On a second note, can one write such applications as a ring-tone maker, a disk repair/partitioning utility in AIR? I know AIR uses web technology, but what other thigns are possible?
-Jason
Do you mean Adobe Fireworks? I would use Fireworks for the interface design. It also has some customizable assets.
Here is the product page where they have a lot more info on what it's capable of.
http://www.adobe.com/products/fireworks/features/?view=topnew
An AIR application is a desktop version of a Flash Application. So anything you can do in a Flash Application you can do in an AIR application. Flash Apps work with MySQL so you should be able to get an AIR app to work with MySQL.
AIR apps can also access the local file system. For instance you can write an AIR file loader application.
Fireworks is my design tool of preference. If you are working with digital graphics there is little need to look beyond FW to things like Photoshop and Illustrator. All of the CS5 software intro screens were designed in Fireworks. It has the best 32 bit PNG output I have seen and the colors are dead on without that issue from PS changing its output from the authoring environment.
From experience, I would not recommend spending time with AIR. Web apps are the way to go and the investment in a desktop or even mobile specific device app is going to be tough to justify because of programming maintenance costs, version releases and the speed new technology is released.
You could use Fireworks for the creation of images for the UI ( User Interface ) for most parts its okay enough, if you need advanced shadowing and color options you can look into photoshop, but fireworks is just great for the basic graphical stuff.
Im not sure if you question was maybe related to the UI since fireworks itself should have nothing to do with building the Air application.
You can use different solutions to build your air application, maybe off topic but if you have not decided how to build the AIR app I would look into Adobe Flash Builder 4,5, flex and the AIR development library's. Flex is also great to easily change the user interface (CSS) where you could create the images with fireworks :)