Archive for December, 2011

Grey Line

Adobe has submitted a proposal to accept their Cindyflexingrella to a very reputable orphanage: Apache Software Foundation. Overall, this can be a great news for the Flex community, which as opposed to Adobe, can afford to allocate enough of strong software engineers to make this framework flourish.

There were lots of applications for becoming initial committer to this new Apache Flex project. Only 25 of them made the list, and I’m happy to report that Farata’s own Anatole Tartakovsky has been accepted to this list. Just to make sure you understand Anatole’s caliber, I can tell you that five years ago he sifted through 16 thousand lines of code of Flex most complex component – DataGrid – and turned it into a more elegant object by removing about a half of its code. Back than, we had no easy way to make this component a part of Flex SDK.

The list of committers includes a number of people knowing really well what Flex has under its skin: Alex Harui, Michael Labriola, Peter Elst, to name a few. So the brain power is in place. But there are two sections in this proposal that bother me:

Known risks.
Moving from a corporate-led project to the Apache model of collaboration is a challenge, and Adobe is committed to help making the transition as smooth as possible, by delegating employees to work on the new project. We would like to see more free collaboration from the community but with the same principles that has kept Flex with the high-quality design and ease-of-use it has maintained under Adobe’s governing hand.

If I’d read this paragraph two months ago, it would sound great to me. Not anymore. It includes the words “Adobe is committed to…”. Sorry, can’t trust to any commitments made by this company that published an that infamous blog on a day that should be remembered as 11/9.

The second section that can kill this project is titled “External Dependencies”, but should be renamed into “Strings Attached”:

Some parts of Flex development rely on third-party libraries. The complete list is still being determined but some are:
• Adobe AIR SDK
• Adobe Flash Player SDK
• Adobe Text Layout Framework (TLF)
• Adobe Open Source Media Framework (OSMF)
• Adobe Font Engine (AFE)

Flash Player is a VM. Flex framework is pretty much useless if a VM won’t support it. Even if the next version of Apache Flex will include some killer features, how good it is if Flash Player won’t support them? It’s hard to believe that Adobe will plan future releases of Flash Player based on the needs of Apache Flex. I don’t like the phrase “We have made it clear to our community that going forward, the community, rather than Adobe, will determine the future of Flex.” Dear Adobe, we can’t determine the future unless you open source Flash Player. Open source might have an alternative though – not to use Flash Player as a runtime. Flex compiler makes a couple of passes producing first the ABC code (ActionScript Byte Code), and only then the byte code for Flash Player to run. If an open source community will come up with a compiler to turn ABC code into another run-time engine, Flash Player won’t be needed (this is how Adobe AIR apps get deployed in iOS now). But what other runtime?

The other big ticket item is Adobe AIR SDK. This is an great SDK for cross-platform desktop and mobile software development. AIR relies heavily on Flex SDK, and keeping in sink future releases of Apache Flex and Adobe AIR is not a trivial task.

What about the tooling? Flash Builder is always lagging behind, but Flex developers are using it. The proposal reads, “The existing Flash Builder trademark will be used as a commercial entity.” I’d rather see Flash Builder at Apache, but this is not a show stopper. JetBrains IntelliJ IDEA is a better IDE than Flash Builder and, hopefully, they’ll become a tool of choice for Apache Flex developers.

To summarize, I’m glad that Flex framework is given to the public, but the sky is not as bright as I’d wish it to be.

To make this post somewhat technical, I’m including a code fragment that Flex developers will understand.

<s:transitions> 
    <s:Transition id="greatMove" fromState="Adobe" toState="Apache"> 
       <s:Sequence id="t1" targets="{[p2]}"> 
           <s:Wipe id="ADBE" direction="left" duration="1000"/> 
          <mx:Glow id="ApacheFlex" duration="1000000" alphaFrom="1.0" 
                    alphaTo="0.3" color="0x00FF00"/> 
     </Sequence> 
   </s:Transition> 
</s:transitions>

I didn’t even try to compile the code above. Feel free to try it out, improve, and submit back to share with Apache Flex community.

Yakov Fain

Comments (11)

 

Grey Line

While Flex framework supports working with focus, you need to help it a little bit in some scenarios. For example, if your application starts with a Login view it would be nice if the cursor would be automatically placed in the user ID field so the user can immediately start typing. Calling the function setFocus() on the TextInput will show a blinking cursor, but the this field doesn’t respond to the keyboard until the user clicks inside the TextInput.

This has to do with fact that the SWF embedded in the HTML Wrapper doesn’t have the focus yet. So you need to ask the wrapper to give the focus to your SWF.

 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   applicationComplete="giveFocus2SWF()"
			   >
	<fx:Declarations>
		<fx:String id="activateJS">
			<![CDATA[
				try { 
					var el = document.getElementById("%objectID%")
					el.tabIndex = 0;
					el.focus(); 
				} catch (ex) {
					alert(ex);
				}
			]]>
		</fx:String>
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import flash.utils.setTimeout;
			private function giveFocus2SWF():void {
				if (ExternalInterface.available) {
					ExternalInterface.call(
						"eval",
						activateJS.replace("%objectID%", ExternalInterface.objectID)
					);
				} 
				userID.setFocus();				
 
			}
		]]>
	</fx:Script>
...

As soon as you leave Flash Player, you run into Web browser compatibility issues. The code above works fine with IE, Firefox and Opera. In order to make it work with Chrome you must define wmode=”opaque” to SWFObject parameters (in HTML template).

It doesn’t work with Safari as of yet, and I’ll update this post as soon as I find the solution.

Valery Silaev

Comments (1)

 

 

doxycycline dosage for lyme disease
viagra australia no prescription
manufacturer of lipitor
low dose doxycycline
viagra brand buy
order levitra online
how can i get viagra
doxycycline staph infection
what alternatives are there to viagra without a prescription?
amoxil pediatric dosing
5 mg propecia buy
alcohol flagyl
cipro overdose
lasix and alcohol
viagra orders
canadian propecia
how long does viagra last
dosage doxycycline
online pharmacy viagra canada
viagra cheap generic
female viagra pills
pfizer zithromax
generic levitra vardenafil
what is lipitor
how does lipitor work
synthroid diarrhea
doxycycline succinate
ingredients in synthroid
quality cialis soft tabs
herbal viagra offers
best price viagra
buy propecia 5mg
buy name brand viagra
c diff flagyl
cheap viagra fast
levitra sales from canada
cialis 5mg
fish doxycycline
is cipro an antibiotic
where can i get cialis
cipro hc
canadian pharmacy viagra legal
c diff flagyl
clomid 100mg twins
american made viagra
free viagra samples uk
doxycycline for bronchitis
buying clomid
natural lasix
viagra female
flagyl gel
doxycycline package insert
doxycycline brand name
cialis online for canadian
doxycycline photosensitivity
lasix edema
viagra deals
clomid weight loss
zithromax 250mg
buy lipitor online
cheapest viagra uk
lasix indications
free cialis
cheapest propecia
5mg cialis
lasix use
effectiveness of clomid
doxycycline and sun
cipro chlamydia
viagra prescription uk
alcohol and cipro
viagra sales uk
strep throat doxycycline
lipitor side affects
internet viagra
lasix cost
online cialis
clomid calculator
buy propecia online without prescription
viagra no prescription overnight
viagra buy uk
clomid dosing
lasix renal failure
100mg clomid twins
lipitor ingredients
american made viagra
50mg viagra retail price
alcohol and zithromax
viagra tablet no prescription needed
amoxil for dogs
propecia orders
propecia 5mg
cialis daily price
female viagra pills
canadian pharmacy discount code viagra
cipro uti dosage
tuna viagra
viagra us pharmacy
cialis buy
buy vardenafil get free viagra
chinese viagra herbal
synthroid interactions
cipro uti
buy viagra without prescription
doxycycline staph
propecia online pharmacy no prescription
propecia without a prescription
cheap cipro
accutane side effects for men
cialis online pharmacy
doxycycline for cats
flagyl for sale
epididymitis doxycycline
buy viagra online without a prescription
canadian pharmacy cialis generic
cialis soft pills
viagra female
propecia generic
flagyl coverage
synthroid headache
cialis brand name
propecia pills
cialis 20 mg 10 pills
doxycycline food
cipro dosing
doxycycline hyc 100mg
cialis dosage
ordering viagra overnight delivery
low price propecia
effects viagra
lasix sulfa allergy
cheap herbal viagra
where to buy propecia
viagra next day delivery uk
zithromax z-pak cost
viagra uk cheap purchase buy
viagra sildenafil citrate
lipitor patent expires
lipitor patent expiration date
uti antibiotics cipro
synthroid and breastfeeding
natural alternatives to viagra
doxycycline blepharitis
lipitor discount card program
how to buy cialis
budget cialis
buy cialis in canada
viagra side effects men
clomid pct
synthroid dosing
best prices on generic cialis
cheap amoxil
lipitor patent expires
flagyl nausea
cipro flagyl
clomid effects
doxycycline bacterial coverage
cost of doxycycline
order clomid online
cipro ophthalmic
viagra delivered one day
recommended sites for cialis in canada
viagra non prescription
discount canadian cialis
how to get viagra online
order levitra
buy cialis profes
doxycycline side affects
mexico viagra without prescription
doxycycline contraindications
where buy viagra
clomid serophene
clomid weight gain
viagra.com
cheap levitra online
buy viagra in australia
us viagra
cialis alternative
effects of lasix
side effects of viagra on men
buy viagra online without prescription
flagyl and cipro
get cialis fast
viagra pills uk
lipitor dangers
propecia sales canadian
uses for doxycycline
buy viagra cialis levitra
viagra fast delivery
synthroid t4
can i buy viagra over the counter in the uk
cipro lawsuit settlements
doxycycline in dogs
best prices for 20 mg levitra
cipro side effect
synthroid hypothyroidism
doxycycline doses
clomid pregnancy symptoms
viagra original
10 mg vardenafil online
clomid 50 mg
purchase viagra online
substitute for lipitor
mrsa doxycycline
zithromax in pregnancy
purchase synthroid
aus viagra
chlamydia zithromax
united states viagra
get viagra online without prescription
cipro otic drops
cheap cialis
lipitor blood pressure
lipitor prices
cialis for less 20 mg
lipitor discount card program
synthroid medication
lasix manufacturer
viagra generic
viagra buy uk 50mg
synthroid calcium
cialis 30 mg
cialis india
brand viagra medicine
accutane canada
viagra on line sale canada pharmacy
cipro back pain
shop online viagra
5 mg cialis
doxycycline 100mg acne
canine doxycycline
hyclate doxycycline
order online viagra
buy viagra and receive it in canada fast
viagra cialis levitra canada
clomid sale
doxycycline heartburn
does propecia work?
buy brand name viagra cost
side effects of flagyl antibiotic
synthroid hypothyroidism
canadian cialis uk
original cialis
generic cialis next day delivery
synthroid 50 mcg
doxycycline for prostatitis
viagra sale online
cipro rash
cheapest viagra prices
cipro travelers diarrhea
online generic viagra
cipro for travelers diarrhea
doxycycline use
nexium and pregnancy
cheap fast generic viagra
online lipitor
viagra online reviews
propecia best price no prescription
canadian pharmacy cialis 5 mg
propecia 5mg. online
lasix nursing considerations
kamagra generic viagra
tuna viagra
genuine cialis online
where can i get viagra
zithromax breastfeeding
buy cialis from canada
levitra sell
but viagra online with mastercard
doxycycline photosensitivity
what does doxycycline hyclate treat
viagra substitute
how to find reputable canadian cialis
viagra prescription uk
canadian pharmacy viagra cheap
lipitor cholesterol
viagra natural
doxycycline alcohol consumption
ordering real levitra