• Home
  • /Posts Tagged 'Flex'

Posts Tagged ‘Flex’

HTML6 is the only way to do things!

This post is an email from a forum with which I subscribe. All I can say is, I could not agree more! Thanks John.

“I’m sorry but HTML5 isn’t actually an official standard yet and therefore it is impossible for any browser (even the most modern ones) to be compliant with it!

HTML5 absolutely does NOT offer all of the features of Flex. Flex (hosted in Flash Player or AIR) was a truly object oriented language that would allow someone to write code once and deploy to many devices and browsers in a pixel perfect way with little or no compatibility issues.

HTML5 + JavaScript has none of the above properties. Yes, people have faked object oriented like features with hundreds of KBs of JavaScript that you have to load on every page but in my opinion that is bending a technology further than it was meant to go. And yes, people have also built hundreds of KBs of “polyfill” JavaScript libraries but they only support certain brands / versions of browsers to a point (plus you have to load so much stuff so performance will be impacted).

HTML5 is landing us right back into the browser hell of the late 90’s / early 00’s where most of your code was concerned with detecting the browser and working around each of their little quirks (or just simply making it clear that certain browsers aren’t supported).

Even taking into account that the HTML version of Workspace is still in pre-release stage, you’d have to admit that you cannot open the application in Chrome, Safari, FireFox and IE9 and get the exact same user experience in all 4 browsers – conversely, you can open the Flex based Workspace in any of those browsers and you are unlikely to notice a difference. Moreover, you can open the Flex based Workspace in IE6 & IE7 with no troubles at all…you cannot even get past the login screen in the HTML version of Workspace using those browsers. As our current client requires us to support IE7, we have had to build our own HTML Workspace application using “traditional” HTML4 technologies.

Eventually HTML5 will become a standard and every browser will implement it in its own way with its own quirks that will – one day – hopefully converge into a manageable set of known issues that can be easily worked around. Then all we need to do is wait for everyone to get rid of their legacy browsers and we’ll be fine…by which point people will start saying that HTML6 is the only way to do things!

Oh well…at least it keeps us all in a job I suppose.”

-John Nesbitt

 

Thanks again John, I enjoyed your rant. :)

No one is moving from Flex to HTML5

UPDATE:

You can’t make this stuff up. Someone sent me a couple of great graphics supporting my assertion. So please respond with anything that supports the contrary.

Update:

After getting a little splashback from some of my friends and colleagues, I thought that I’d add a little supporting evidence to my assertions.

“Moving” to HTML5 at this point is senseless gambling.

I’m not just blowing smoke up your pipe here either. Open your browsers to HTML5test.com and see for yourself. Come on… go ahead and do it!

The HTML5 support score on latest Windows 7 browsers that I have: IE 138; FF 330; Chrome 400. And then on the Mac OSX 10.6 that I have; Safari 319; FF 340; Chrome 400. That makes Chrome our top student with a whopping 80%. And I’m what many would call an “Advanced User.” Expect less from the general public.

Last I checked, 80% was a low “B-”. And with over 50% of the browser usage coming from browsers that have failing scores, you can see why I would not recommend HTML5 except in specific edge cases. And you thought IE6 was bad! (Browser stats from w3schools.com)

As a mobile or web developer, adding HTML5 to your list of skills is imperative. But with the severe lack of consistent support, moving an enterprise development project to HTML5 now is purely experimental or an exercise in ego.

If you think I’m wrong, please provide supporting evidence and I’ll gladly educate myself.


 

Original Post:

The fear, uncertainty and doubt (FUD) is being slung around by profiteers like folding chairs at a WWE event. The haters are still being haters. Nothing new there. But now I see JavaScript companies’ desperate pleas for Flex developers to start using their HTML5 software.
The context is all wrong here.  Very, very few Flex developers have shifted, moved, changed over, or whatever you want to call it… to HTML5 (or anything else JS-based.)

 

There is not a move to HTML5

I will go as far as to say that there is not a move to HTML5. The simple fact is that, developers are being developers. No matter the background, we are always trying to broadening our skill sets. This includes HTML5 since it started showing up a few years ago. For anyone to imply, or state outright, that there is some mass exodus from Flex is completely false!

The reality is still the same, Flash Player is still the most consistent cross-browser, cross-OS, and cross-device platform for software development.

It doesn’t matter if you are building business software or games, with one technology you are able to build for the desktop, Internet Explorer, Chrome, Firefox, Safari, Android, iPad, iPhone, Blackberry and Internet TVs.

What most haters fail to realize is how nice it is to go through your bug list and not find ANY bugs that are browser/platform specific. The only bugs I have, are actual bugs that I can fix. Not browser support related issues that you have no control over. For the first time in years I had to deal with browser specific issue when our On3 client embedded the application in a JSF, JSTL, ADF container. It reminded me of how good I have it. I don’t have to deal with this headache on a daily basis. In fact, it was one of the complete joys that drove me from building DHMTL development to Flex development.

So, the next time someone says, “Flex is dead” or “Everyone is moving to <insert tech here>,” take it with a grain of salt. In all likely hood, they have a hidden agenda.

 

Thank you Moai for this great graphic on the HTML5 Hype vs. Reality.

Video from 360|Flex 2011 on Flex Localization with BabelFx

One of my presentations on Flex Localization with BabelFx was recorded at 360|Flex in 2011. Zaa.tv recorded a bunch of the sessions at this event and they have recently posted the videos for free.
So if you missed 360|Flex, you will find several of the presentation (including mine) very helpful in your quest for mastering Apache Flex development.

License your Flex and AIR applications

If you need an easy and affordable way to secure your application against license sharing and ‘keygen cracks’, Zarqon just may be the answer you’ve been looking for.

A good friend of mine, Cliff Hall, is most known for the PureMVC framework which was inspired by his his lack of love for the Cairngorm framework. Well, Cliff apparently was irritated by the inability to create licensed products with Flex and AIR too, so he did something about it. Zarqon. He has created very useful tool for creating a licensed Flex and/or AIR applications. How you implement your app is totally up to you, Zarqon just helps you easily issue and validate licenses.

Are you a software skeptic, me too! No worries, there a free 30 day trial license that will allow you to fully evaluate the product and make a decision about whether it’s right for you.

It is now in “beta”, but if you begin implementation of a Zarqon-licensed product within the trial period that you plan to launch, let him know and you just may get a free license. Even if you do have to buy a license, it won’t set you back but $25.

I’m going to start my testing immediately and I’ll let you know my  thoughts later.

You can read all about it and sign up for the Beta at http://zarqon.net

Platform as a Service (PaaS) vs. Managed Virtualization

I’ve been reading a few discussions on how to more effectively manage development of a Flex project. And the reason many are looking for a solution has nothing to do with Flex, per say, but has more to do with the complexity of our development environments.

The hidden reason is cost. Cost for setting up each developer environment. Cost of licenses.

The bigger reason is, or should be, security.

Enter Platform as a Service (PaaS) to the conversation.

Although the idea of using the cloud for development is good in theory, it can be cost prohibitive. Here is why:

• The cost of using the cloud. In reality, you’ll end up spending around $1k per computing instance per year. i.e. per developer

• You still have to license any development tools for each developer seat. Check your EULA, they typically address ways of circumventing license requirements via virtualization.

You do get the benefit of quickly setting up an environment for a team. But lets face it, the only real benefit is the level of security in that your code base is never on someone’s laptop. Don’t get me wrong… this is a really big benefit!

From my research, I would recommend VMware ACE instead of PaaS. VMware ACE allows you to provision standardized client PC environments inside secure, centrally managed virtual machines called ACEs. Each ACE contains a complete client PC—including the operating system and all applications. Administrators use the dynamic policy configuration capabilities in ACE to lock down endpoints with device and network access control, there by protecting confidential company data and ensuring compliance with IT polices. You will get security through a managed virtual machine and the ability to quickly deploy a “ready to go” environment for your developers.
No, its not cheap. But it is way less expensive than the cloud with the equal benefits.

I know this because I’m looking into these tools in order to manage our training facility where we teach ColdFusion, Flex and LiveCycle.

Adobe MAX 2009 Online

Not going to Adobe MAX 2009? Not to worry…

Watch MAX keynotes, streamed live from Los Angeles-register now
(go to http://max.adobe.com/online/ )

On October 5th and 6th, Adobe MAX Online will feature the keynotes, streamed live, highlighting the newest and most exciting developments in the world of technology. Join 10 minutes early and participate in the backstage behind the scenes action.

View the top three sessions from each day on demand:
Check back each day by 8:00 PM PT, from October 5th to 7th, to see the top session of the day from each track: Design, Develop, and Envision. You’ll be able to view these sessions on demand on MAX Online and join the buzz by participating in the extended Twitter conversation.

View all of the session content on demand:
Check back on Sunday, October 11th, for all of the sessions available on demand with the exception of labs or BYOL (Bring Your Own Laptop) labs.

MAX Session Guide: http://assets.max.adobe.com/pdfs/MAX_2009_EventGuide.pdf

Adobe Flash and Flex Accessibility with Screen Readers

If you are dealing with 508 compliance and wondering if a Flex application is accessible, this is your post.

First, yes, screen readers can read Flex applications. And yes, its fairly easy. But, I’ll discuss how in a future post.

But, if you’d rather send people to your old HTML version of your site when using a read, there is good news. Flash Player has the ability to detect if a screen reader is running on the client machine, even if JavaScript is disabled and/or the Flex application is not compiled as an “accessible swf”. This is possible with the Accessibility class.

It is important to note that if the Flex application is compiled as an “accessible swf”, the screen reader will also be able to read content in the swf. If not, the screen reader only reads the words “flash movie start” whenever you interact with it. Talk about a usability buzz kill.

So, here is the code to see if a screen reader is currently running (not just installed) and then adds a LinkButton that calls a navigateToURL on click.

private function init():void
{
  // this is the only thing you need to do
  if( Accessibility.active )
  {
    var linkButton:LinkButton = new LinkButton();
    linkButton.label = "Click here to go to HTML site";
    linkButton.addEventListener( MouseEvent.CLICK, goToSite );
    this.addChildAt( linkButton, 0 );
  }
}

private function goToSite( eventObj:MouseEvent ):void
{
  navigateToURL( new URLRequest("<screen reader friendly site>") );
}

There are more properties available on the Accessibility class, but this is all you need to give accessibility an option.

Swiz API reference documentation

Swiz is a framework for Adobe Flex that aims to bring complete simplicity to RIA development. But, until recently, the documentation was limited.

But now…

Swiz Framework Site: http://swizframework.org/

Swiz 0.6.2 Actionscript API Reference: http://on3solutions.com/swiz062/

Swiz Framework Source: http://code.google.com/p/swizframework/

Enjoy guys. Now start coding!

Security Soapbox – Decompile Flash/Flex

Having built/architected/developed/consulted many Adobe Flex applications and being one of the first certified Flex instructors in the world, I’ve seen a lot of Flex applications. Some good, some bad.

But no matter how many applications or who I’m talking to, I always stress the importance of securing proprietary information. By securing, I mean don’t put it in your application. Unless your are encrypting your application and decrypting at runtime, you are subject to a decompiler exposing your secrets.

There are Flash decompilers that will take any SWF and give you the source:
Trillix Flash Decompiler is one of the best commercial tools I’ve found.
I’ve even seen guys decompile, make changes and then recompile a Flex app. This is scary! Say goodbye to licensing software in Flash.

But HP just released a tool that has caught my eye as well. (Note: I have not tested this tool) It claims to decompile and test for security weaknesses. It’s called SWFScan and it’s a free Windows based tool from HP.

If security in a Flex or Flash based application is a concern for you, you must look at these tools. If security is not your concern, look anyway.

SuperImage can help with Flex images performance

I got this Flex question from one of our Flex clients at On3:

“Aside from what I read here on image caching… http://userflex.wordpress.com/2008/07/28/image-caching/  do I have other options for improving performance of image rendering for flex? (Ex. I have to render 50+ low res images per page.) I realize for more ‘static’ images you can embed them in the .swf file but this does not seem like a nice approach as these images could change frequently and they have corresponding persisted meta-data. Do you know of any similar flex projects that serve up a lot of media and how they optimize download and rendering performance?”

My advice was to check out Ely Greenfield’s SuperImage class.

The examples and download are at the bottom of the post.