I am making a website using adobe flash and action script. but I heard a lot about flash vulnerabilities.
Is it secure to make a website using adobe flash, comparably to ordinary tools like wordpress and joomla?
In theory Flash is secure, but I would recommend not using it.
The reasons Flash has many vulnerabilities is not because of the websites using it, but the clients not updating their Flash clients. Your site depends on the client for security which is almost always a bad idea.
There also is a second reason not to use Flash and that is compatibility. Flash won't work on iPhones, Android Phones, Windows Phones and it won't take long before all browsers will block it (Firefox already does that!).
And the third argument is that it just is not necessary to use Flash anymore. You can use HTML, CSS3 and maybe a bit of JavaScript to be able to do anything Flash once was unique in.
Flash make your page to load very slow.
If site is created only in flash? not only a part of it(like header logo and other) the user will wait while all flash will load and this take times and very expensive traffic if is used mobile device to connect PC to internet (usb 4G modem, or mobile built in modem ).
Related
I have a .NET WinForms app wherein the laptop is connected to both a scale and an GPS antenna via USB. Is it crazy to think we could have this instead as a web app and on a tablet? We're looking to make things thinner and smaller (this goes in a truck.. driver doesn't need bulk of keyboard either).
Obviously the tablet would have to have a USB port (some do, some don't). But then for "stickiness" to USB devices, I'd have to have, what, a Silverlight control on an ASP.NET page? More trouble than its worth?
Thanks for any thoughts/advice.
You could write an ActiveX control or browser plugin to use the USB port (Silverlight might not be able to do what you need). Unfortunately these controls most probably will have to be installed on the machine manually (unless you want to lower security settings for the browser). You might be better off using ClickOnce with your WinForms application to simplify deployment of new versions and keep using your existing codebase.
If all you need is to read the GPS data, you should use HTML5 Geolocation API: Demo and Specification
I have connected USB barcode scanners to iPads through the USB to 30-Pin adapter with great luck. The only trouble is there is a power limitation, if the device draws more than a couple hundred milliamps the iPad will shut of the power to the device. You might have trouble hooking up peripherals that are not acting like a keyboard or a camera though.
I have made an asp.net application designed to manage and optimize warehouse statistics info. The user had to collect and enter all the info manually so I thought it would be way better to get use of some bar code devices that uses bluetooth for communications to get that info on an automated process.
So I developed an Internet explorer extension that managed the page requests for the bluetooth device and made posts inside a control container with the data.
The fact is that this extension gives me plenty of problems, having to redo the pairing of the devices every now and then as it looses it's functionality after some unknown event. I don't know if it has to do with windows updates or accounts management and rights.
Does anyone knows an alternative, that would be more stable? Perhaps with Java?
Cross-browser would be a plus. In fact I'm headed at mobile devices using android. For the moment, only windows tablets are compatible.
Thanks.
if you are targeting windows tablets, why not using HTML5+Phonegap. This might help.
http://phonegap.com/blog/2012/10/30/announcing-apache-cordova-support-for-windows-phone-8/
Can a Flex application that was designed for use on a PC be run on an iPad, iPhone, or Android-based mobile device?
Seems like a simple enough question. Visiting http://www.adobe.com/products/flex.html yields a picture of a dude running a (presumably) Flex application on an Android. So at first glance, the answer would appear to be "yes." End of story.
but yet…
There is so much (mis)information out there on various tech sites that suggest Flash-based technologies simply won't run on iOS or other mobile platforms. Why is this? Perhaps they mean to say that Flex won't run "out of the box" and requires a plugin? Or do they mean it won't run at all?
Every time I think I've reached a definitive conclusion, some post on SlashDot or CNET directly contradicts it. So what's the scoop? Can one take an existing Flex application and run it on iOS/Android? (I realize there are screen size issues to consider so the app might not run effectively. I just want to know if the runtimes are available on the mobile devices to allow the Flex app to launch at all.)
Sorry for the noob question. My background is WPF / HTML5. Adobe technologies are completely foreign to me.
I wrote a lot below if you'd like to read it enjoy, if not sorry for taking your valuable bytes :) I directly answered the questions up here first:
Why is this?
It's a confusing matter read below for the why details.
Perhaps they mean to say that Flex won't run "out of the box" and requires a plugin?
Or do they mean it won't run at all?
Using the flash builder tools (the bin folder in the SDK) you can compile for native desktop application, desktop web browsers, native iOS application, native Android application. Android with FlashPlayer plugin installed will show Flash content within the web browser, iOS will only run the ones compiled with AIR, not in the the web browser but as a native app.
Every time I think I've reached a definitive conclusion, some post on SlashDot or CNET directly contradicts it. So what's the scoop? Can one take an existing Flex application and run it on iOS/Android?
Yes, if using AIR and run as a native app on all three platforms (the desktop Flex API is for the most part a superset of the web Flex API), your other points about performance and form factor are valid and should be considered though. The nice thing is you can write your model/controller code in a common library in AS3 then write separate presentation layer interfaces that all share the library.
Here's the very long version:
Using the flash compiler results in "bytecode" in the form of a file with a swf extension using the swf format, you can read a ton more about that here:
http://www.adobe.com/devnet/swf.html
To interpret the file you need some sort of run-time similar to some degree to running WPF/XAML/C# within a .NET framework context (either desktop or using silverlight on the web). In the case of adobe technologies (rough equivalence):
AS3 = C#
MXML = XAML
Flex = WPF+WCF (client side RPC not server side)
Flash Player = Silverlight
AIR (Adobe integrated runtime) = .NET
Framework Redistributable .dll(s)/.so(s) for desktop OSes
(Read this list very loosely please, I know XAML is preserved in the MSIL or whatever which is different because MXML is compiled to AS3 and only if a debug flag is set on the compiler does it include the debugging symbols, there's certainly tons of differences but I think this is an easy and correct enough model to use)
On iOS the browser does not allow for plugins in the traditional sense of netscape browser plugins or ActiveX plugins. For this reason you'll not be able to execute a plugin ie flashplayer or silverlight in the browser. Since Adobe did release a flashplayer for Android devices that does run in the browser it will work on those devices in the browser, however they have essentially thrown in the towel for supporting this long term, as they have to support the majority mobile device platform, iOS, in order to remain relevant (this was I think more a collective throwing in of the towel by Google, device manufacturers, carriers, Microsoft, all just following suit and trying to make the best business decision, WebKit and V8 or SpiderMonkey can probably do 99% of what Flash can do and better in some cases and WebKit will hopefully not splinter and will remain open source... frameworks and the browsers just need to get fleshed out and stabilized).
If the user installs AIR (or the runtime is packaged with the app) then a Flex/Flash (that is stuff coded in AS3 and/or MXML and compiled to a swf) can be transcoded/packaged to be interpreted by the run-time for that device correctly (be it iOS or Android or whatever RIM did, I don't think they have AIR for Windows Phone 7 and Win8 on ARM won't support browser plugins either). Part of the confusion is possibly from the fact that Apple denied the distribution of Apps that were "cross-compiled" which kept AIR out of the list of options for iOS for a good year, just after Adobe started announcing it was usable for that purpose (kicking Adobe while their down). Another part of the confusion probably comes from real vids of people who have 1 hacked their device or 2 were able to get open source alternatives to the flash player run-time to work on their iOS device (gnash was one I'm aware of from some occasional Linux tinkering, also possibly FAKE vids).
You can run Flex applications on mobile devices, but you cannot simply run any Flex project.
In Flash Builder ( Flex Ide) or in Flash Professional you can create mobile projects. These projects generate native applications for iOS and Android.
Last time I tried, the result and the available components where less than what I expected. So, if you can, I'll much recommend you go for something like Appcelerator.com or similar, which turns HTML5/Js code into native apps. I tried them, worked a lot better than Flex.
Short answer: No
Long answer: You can use Adobe's tools to compile your Flash/Flex app for use as a native iOS app. So you won't be able to embed the app in a web page like you normally could with Flex, but you can build it as a native app. Note you have to have Flash Builder 4.5 to do this.
It won't run on iPhone as a .swf file, but it will run on Android based devices that have adobe flash installed. It will also run on the BB playbook, which also has flash.
Flex is a framework.( Anyway it is very beutiful one which even sometime looks like complete different language ).
As soon as you are building AIR application it can run on various platforms like : Windows, iOS, Android, upcomming TV's, PlayBook, even .. into the future ( maybe/hopefuly ) on Windows Phone, plus Linux ( which AIR future is not very clear anyway ( but hopefuly Adobe will reconsider ) ).
So - application created with Flash Builder 4.5+ would probably run everywhere as soon as it is AIR application.
The compilation methoods is really simple, and you almost simultaneously compiling for everything you wanna to.
And one of the most important things here - your applications will run, work, look and feel the same way you were designed on one device. Flex is the thing which is responsible for everything to looks beutiful on each platform it is running.
For instance i am compiling currently for Android, and without even test i can clearly say that it will looks and feel the same way under iOS and Windows, and it will.
I need to implement video conferencing in a ASP.Net application.
We have cases that contains 3 users. Per case we need to set up a Video Conferencing possibility.
Are there any services or libraries to use for this functionality?
EDIT:
TokBox was a good service to use, however I need a solution to maintain on own servers now. Are there existing services that let me do this?
See here: http://www.red5chat.com/.
By far your easiest solution at this point will be to embed Flash into your ASP.NET pages. You can use Red5 as your media server backend if you want a free and pretty good solution. (You can also pay for back-end media server solutions like Wowza or Flash Media Server.)
You can in theory do this with Silverlight (see http://silverlightvideochat.codeplex.com/), but it's not nearly as sophisticated as the Flash solutions, i.e., the video codec isn't nearly as good, there's no AEC, noise reduction, etc.
As for HTML5, Google has open-sourced WebRTC, and it's working its way through the standards process. But it's currently supported by ~0% of the browsers out there. (It was released into the Chrome dev channel in mid January: http://www.webrtc.org/blog/webrtcnowavailableinthechromedevchannel.)
But the short answer, again, is "Use Flash on the client and Red5 on the server."
EDIT: With a little bit more client-side coding and Adobe's RTMFP solution, you can create a peer-to-peer Flash-based solution that doesn't use a server. It won't scale to more than 2-4 users per "room", but it'll have very low latency, and won't require you to standup and support a server. See here to get started.
Also, the production channel of Google's Chrome now supports WebRTC (and so does Opera). You can see a demo of it here. Firefox also supports a version of it, but the two aren't yet compatible, though achieving interoperability is a high priority for both dev teams. Neither IE nor Safari has yet announced support.
Tokbox also has a reasonably simple API that will allow you to use WebRTC when it's available (it produces higher quality audio/video than Flash), and degrade to Flash when it's not. It's free for 1:1 sessions or for less than 25,000 group minutes per month.
A quick glance at the present-day internet would seem to indicate that Adobe Flash is the obvious choice for embedding video in a web page. Is this accurate, or are they other effective choices? Does the choice of ASP.NET as a platform influence this decision?
Flash is certainly the most ubiquitous and portable solution. 98% of browsers have Flash installed. Other alternatives are Quicktime, Windows Media Player, or even Silverlight (Microsoft's Flash competitor, which can be used to embed several video formats).
I would recommend using Flash (and it's FLV video file format) for embedding your video unless you have very specific requirements as far as video quality or DRM.
Flash is usually the product of choice: Everyone has it, and using the JW FLV Player makes it relatively easy on your side.
As for other Video Formats, there are WMV and QuickTime, but the players are rather "heavy", not everyone might have them and they feel so 1990ish...
Real Player... Don't let me even start ranting about that pile of ...
The only other alternative of Flash that I would personally consider is Silverlight, which allows streaming WMV Videos. I found the production of WMV much better and easier than FLV because all Windows FLV Encoders I tried are not really good and stable, whereas pretty much every tool can natively output WMV. The problem with Silverlight is that no one has that Browser Plugin (yet?). There is also a player from JW.
One consideration would be whether video playback is via progressive download or streaming. If it's progressive download, then I would say use Flash because you get a wider audience reach.
For streaming wmv, it is out of the box functionality provided by Windows Media Services
For streaming flash, you will have to install a streaming server on your Windows box. Some options are:
Adobe Flash Media Server (Commercial)
Wowza Media Server (Free/Commercial)
Red5 Flash Server (Open Source)
If you have access to Microsoft Expression Encoder 2, you can use that to encode a video file and generate a Silverlight video player. Then if you have IIS 7, you can use Adaptive or Smooth Streaming also checkout Smooth HD for a really cool example.
You can also do streaming from the free Microsoft Silverlight Streaming Service. It's connected to a Windows Live account.
A consideration is that the client will need to have Silverlight installed, just like Flash, but Flash has been around longer.
<object width="660" height="525"><param name="movie" value="http://www.youtube.com/v/WAQUskZuXhQ&hl=en&fs=1&color1=0x006699&color2=0x54abd6&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/WAQUskZuXhQ&hl=en&fs=1&color1=0x006699&color2=0x54abd6&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="525"></embed></object>
I have worked for a company that developed a system for distributing media content to dedicated "players". It was web based and used ASP.NET technology and have tried almost every possible media format you can think of and your choice really comes down to asking yourself:
does it needs to play directly out of the box, or can I make sure that the components required to play the videos can be installed beforehand?
If your answer is that it needs to play out of the box then really your only option is flash (I know that it is not installed by default, but most will already have it installed)
If it is not a big issue that extra components are needed then you can go with formats that are supported by windows media player
The reason why windows media player falls into the second option is because for some browsers and some formats extra components must be installed.
We had the luxury that the "players" were provided by us, so we could go for the second option, however even we tried to convert as much as possible back to flash because it handles way better than windows media player
"Does the choice of ASP.NET as a platform influence this decision?"
Probably not.