Flex :: Do AIR Applications Run In A Trusted Sandbox
Jul 22, 2010
I have an AIR application that is packaged with a network appliance and that is used to configure that network appliance...much like a the embedded webservers on home routers except this is an installed AIR app.
If I want to communicate with the appliance on a port higher that 1024, do I need that appliance to serve up a socket policy file or is AIR considered a trusted sandbox. All the info I find relates to Flash Player and the web, but this particular AIR app is communicating in a closed environment.
We are a research group from the University of Zaragoza (Spain). We are developing educational games for children with special needs, (in particular, with)social and cognitive disabilities. We develop our games with Adobe Flash CS5, so we are enough handy with Action Script language.The emerged problem is related with the security sandboxes in Flash.
At the moment, we are designing a new educative application where image and sound resources come from the Internet, using web services through a "loader.load(new URLRequest(name))" command. We are using the adequate crossdomain file, and it is working fine when published on the web.HOWEVER, now we are thinking on developing a desktop educative application, where educators will configure the game, and keep their work in a local system file. This is where problems arise. As the Flash player sandboxes limits us to "only network", or "only local file system" use, we are not able to access the Internet and to generate local files at the same time.
We are not trying to make a flash virus, we are only trying to make an application for educators, where resources came from the Internet but the application requires access to local file system in order to let educators to save and to load their work in their disk.Reading the Adobe doc, we found the different flash player sandboxes: http:[url]....
It seems that there is a sandbox which enables us to both access internet and local files:"Security.LOCAL_TRUSTED—The SWF file is a local file and has been trusted by the user, using either the Settings Manager or a Flash Player trust configuration file. The SWF file can both read from local data sources and communicate with the Internet." And it seems that Local_trusted SWF files are set by the final user or by installer programs. As we intend to publish the application on the web, and educators will download the application, the installer programs seems a nice option, but we are not able to find info about SWF installer programs.
On the other hand, we know about the Adobe Air solution. We understand that AIR is a substitute to Flash Player. It seems adequate as it will expand our application to other environments like android IOS (tablets, mobiles, ...).The question is: using AIR, would we gain network and local access in our SWF application? And what about the final user? Would he/she be able to download the SWF from our web, and any kind of AIR player and executing our application in an easy way on the device? Finally, what do you think is the best solution for the kind of application we are aiming to?
I'm going to write an application with the Air/Flex-Framework. I'm looking for Best Practise and general Design Patterns for designing software especially in Air/Flex. I have experience with this framework but never had the pleasure to write a piece of software from scratch.
For instance: I stumbled across lots of software written in Air/Flex with nearly infinity global vars Most of the software I saw was not object-oriented How can I pack the asynchronous method calls nicely?
I'm familiar with general design patterns by gamma. I'm looking more for advise in designing good quality software with Adobe Air/Flex.
I have a .net client app that needs to play some content (images, movies, swf files etc) on the client machine. What it does is download the content from a server to the HDD in a folder, and play it. BUT: the SWF file has a need to read RSS from the web, and what i need is the folder where the app content is kept to be added in Trusted Locations (what you regulary do when right click .swf file, go to Global Settings > Advanced tab, and Trusted locations.. button, and specify a folder.
Now, i have searched the web, and there is a place where this is saved: :Documents and Settings\Application DataMacromediaFlash Playermacromedia.comsupportflashplayersyssettings.sol, however, i don't know if this is changeable from another app : eg. when my .net app is installed or started, that it adds the folder to trusted locations, so that the SWF would be able to play RSS from web.
I have two web applications written in Flex I would like to integrate. I would like one Flex app (let's call it application A) to invoke second Flex app (let's call it application B). Application A has access only to swf file of application B (not source code). When application A invokes application B, it should be able to pass some data to application B. After application B is invoked it should be able to pass some data back to application A. These two applications will be hosted on the same server, but will use different server code.
The easiest way of implementing this (or one of the ways to be more precise) would be to have UI element on app A (button, link, menu item, etc) that would invoke app B. But in that case, two Flex applications couldn't communicate directly (since only one is active at a time), and they would have to communicate through server code, which is something I would like to avoid.
In short application A should invoke application B, pass some data to it. Application B should do it's work, display some content, and have a mean of passing some data back to application A. I'm aware of LocalConnection, and I've seen similar question, but in that case I would have to have both application in the same browser window. This would be acceptable to some extend, but only if app B is contained in app A (not if they are both on the same HTML page). Would LocalConnection work in that case?
Do you have any recommendations on how to implement this kind of communication?
I cannot afford the Creative Suite or Flex Builder but I would like to develop a commercial Flex/ActionScript AIR application. Is this a viable goal and are there robust tools out there that don't cost a small fortune?
we try to develop a flash game engine with several abstraction layers. This flex project contains: an Application (1)-> loading a class (2)-> loading another class (3) which instanciates a Flex component (4).
The loadings uses SWFLoader. The last Flex component (4) is just a Group with AdvancedDataGrid. We do not define skins so I suppose it must take default skin.The problem is that during execution, an error is throwed because default skin for components cannot be found in the Flex component (4). In our case, for the AdvancedDataGrid:
Error #1007: Instantiation attempted on a non-constructor.In mx.controls::AdvancedDataGridBaseEx. The guilty command is: getStyle("headerSeparatorSkin"); which returns null
For the moment, we found two solutions :
the first solution is to add the attribute headerSeparatorSkin="spark.skins.SparkSkin" into the AdvancedDataGrid of the Flex component .
How can align my application to the left in Flex ? The application is horizontally centered and when I resize the browser window it stays centered. It is not css padding, it is flex padding, so I guess I have work with Flex code.
I've tried to add the following properties to the Application container: paddingLeft="0", left="0".. but it doesn't work. Still centered. I've also tried to set "align","left" in the html/javascript code, but it doesn't solve the issue, because the padding is inside the flex application.
I have a requirement to print a bill from the AIR application.
Following are the constraints.
I need to print to a DotMatrix Printer. I have a complex layout with header, footer and a datagrid with data rolling out to more that one page. I need to have a template to which I will be passing my object.The suffice with the usage of Jasper reports, but I have no server side support.I tried the FlexReport, bentbit and other tools which is optimized for the DotMatrix printers.
Is there a alternative to get the above requirements done. Is there any alternative similar to that of jasper reports without going for a server.
When I'm making projects with Flex (or Flash Builer) the end result usually performs much better than a similar level project made with the Flash authoring tool. I know Flash IDE is rather for animations and design heavy works so you can't really compare these 2 tools, but this question is bugging me for a long time.If apps made with Flex (or Flash Builder) are really faster and less CPU intensive - why is that?
I am a beginner in this so I am not sure what would be better. I read that Android API is targeted towards Eclipse, however, I read that Flex allows you to use your apps on Android and iOS at once, reducing the need for two apps.
The kind of app I am building will involve reading data from the gyro, and making some calculations, then reporting it to a server.
What would be the best way to secure .net web services used by a flex application (both desktop and browser) that requires login? I thought about requesting the user and password in every method of the web service, and having them stored as variables in the flex app, but I don't feel like this is the most elegant way.
There is an ongoing argument on the web right now about the "openness" of the iPhone OS and Adobe Flash platforms. Adobe's argument is that anyone can build a Flash application without having to worry about being allowed to distribute it.
This made me wonder... is it possible to build and distribute an AIR application without giving any money to Adobe (without violating any licenses, of course)? Are any of these tools free? Are any open-source?
We are starting to build a Flex 4.5 application (with LCDS) and a Spring/Hibernate based backend.In this context, is there a well-known list of overall performance optimization techniques that one could follow to ensure optimal performance on the client (flex) side? - especially, given that we anticipate users with poor bandwidths
I have 2 AIR applications (A and B) that are able to communicate via a LocalConnection object. I've verified that messages are definitely being sent/received appropriately.
I want to be able to have A tell B to come to the front. Both applications are full screen:
stage.fullScreenSourceRect = new Rectangle(0, 0, 1080, 1920); stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
I've tried several permutations, but as of yet nothing seems to work.
private function initSlave(channel: String): void { conn = new LocalConnection(); conn.client = {
[Code]...
If I leave both applications in windowed mode (stage.displayState = StageDisplayState.NORMAL), then toggling alwaysInFront actually works. Calling activate() or orderToFront() still do nothing. If I try to toggle alwaysInFront and then set the application to fullscreen, the application ends up fullscreen behind my windowed app. Maybe there is an event I should wait for before setting the app to fullscreen?
I found a thread mentioning that orderToFront() only works relative to windows within the same application, which explains why it doesn't seem to do anything.
Does anyone have any insights into pulling this off? Maybe there is a way for me to embed B into application A so they are actually the same application? I am not sure how to do this with an AIR application as simply as just loading the SWF due to requiring external resources.
I have a large Flex project with two Applications in it. A lot of code is shared between these Applications. However, the smaller of the Applications does not require much of the code that the larger one does. I'm trying to ensure that code that isn't required by the smaller application isn't getting compiled into it.
m working on an Adobe Flex application that loads lots of Flex Modules and other Flash sub-applications and Flash resources. Each time one successfully loads the flashlog.txt and Flex Console show a trace like "[SWF] filename.swf - [filesize] bytes after decompression". Specifically:[SWF] Main.swf - 1,361,299 bytes after decompression [SWF] core/Core.swf - 516,390 bytes after decompression
I don't want to disable traces because I am debugging, but these traces are rather noisy. How can I suppress only the [SWF] loaded traces?
I have a Flex application which uses the BrowserManager class for enabling deep linking within the application. The URLs work fine through all browsers but the back/forward buttons work only with Firefox and Internet Explorer. Even that is a bit flaky and sometimes doesn't work. The buttons don't work in Chrome/Safari or any other browser. How to make this work properly?
how can I strip trace() messages from a flex and flash applications? I write flash and flex applications and i use a lot of trace messages for debugging, but when i product the actual swf i want it to be stripped from any trace messages.