Skip navigation
Home/Support/

Forums

1 2 Previous Next 12441 Views 72 Replies Latest reply: Feb 19, 2009 2:42 AM by (Joseph_Balderson) RSS Go to original post
  • Calculating status... 2 posts since
    Feb 12, 2009
    Currently Being Moderated
    50. Feb 12, 2009 12:19 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    @Dusty Jewett: Thanks a lot for the link, I didn't know about namespaces in CSS!

    @Michael Labriola: As many have pointed out, maintainability must be the primary concern. In fact, trying to educate new users on the existance and use of namespaces will probably take a hit from the pseudo-namespacing technique that prefixing provides, proving counterproductive no matter what marketing thinks. New users, when they grok the namespace concept if they didn't already knew about them, will probably realize by themselves that prefixing instead of relying on namespaces is a hack.

    Did anyone consider that this "solution" might very well lower one's expectation of the quality of the framework itself? I mean, if the vendor of your dev tools can't even get namespacing right, what else is a hack? Sure, such a point of view might be a bit grim, but is it really that far fetched?

    Besides, has anyone done any actual research into this issue, any user testing? How difficult is it to grok the namespace concept, really? I personally think that the whole issue is make believe, creating a problem where there is none and in doing so upsetting it's community.
  • Calculating status... 4 posts since
    Aug 10, 2004
    Currently Being Moderated
    51. Feb 12, 2009 12:55 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    Marcus,

    I don't believe we are disagreeing. My point is that the namespace is not a hard thing to teach and we have been teaching it in Flex for years when someone dropped a custom component in a new directory.

    I am pro namespace, anti-prefix.

    Mike
  • j-araujo User 6 posts since
    Mar 23, 2005
    Currently Being Moderated
    52. Feb 12, 2009 2:42 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    If this is a purely technical discussion, I deeply apologize for this non-technical post. I just would like to quickly second those who have raised the following concerns:<br /><br />1) Making millions of people type 'Fx' for many years in the future just because of a transition period = bad.<br /><br />2) Mixing Spark and Halo components in the same app = very very bad.<br /><br />3) In Silverlight and other competitors you can type new Button() or <Button> - not <MSDotNetButton> -  why would the community expect anything less from the market leader?
  • DustyJ Calculating status... 5 posts since
    Dec 4, 2006
    Currently Being Moderated
    53. Feb 12, 2009 3:24 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    @Jay
    #2: Not only is this not bad, it's required. Want your app to pop up an Alert box? It still uses Halo buttons. Spark isn't completed, and adding more tasks to the queue will only cause more components to drop off the list or push back release.
  • Calculating status... 1 posts since
    Jun 17, 2006
    Currently Being Moderated
    54. Feb 12, 2009 3:50 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    I guess I'd prefer classes that don't share the same name, since they're from the same author. If I have two Button classes, and reason for maintaining both, I'll have something in the classname which communicates the difference. SimpleButton, and AdvancedButton.

    If I intend to abandon an earlier Button class, for a new one, I'll replace the old with the new, and note the version in comments.

    If Adobe has overlapping classes, that are basically the same thing, I suggest adding new functions/properties that give whatever new functionality there is to the old class. Such that old code isn't broken, but new functionality is built into the classes.

    Is there something I'm missing?
  • renaun Adobe Employee 29 posts since
    Oct 31, 2005
    Currently Being Moderated
    55. Feb 12, 2009 3:56 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    Peter,

    To get specific about the namespaces, I agree with Haykel Ben Jemia's suggestions:

    * MXML 2006 language namespace as we know it
    * MXML 2009 language namespace that will contain the spark components, halo components that are not yet (or will not be) ported to spark and the remaining language constructs
    * Halo component namespace that contains only halo components that are not in the MXML 2009 namespace
    * Spark component namespace that contains only spark components (that are not in the MXML 2006 namespace anyway)

    MXML 2006 and MXML 2009 namespaces can not be mixed.
  • realeyes_jun User 16 posts since
    Nov 6, 2006
    Currently Being Moderated
    56. Feb 12, 2009 4:25 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    I'm gonna chime in that the Fx prefix is a bad idea.

    1. I'll be lazy and just say that I agree wholeheartedly with Ben Stuki --> http://blog.benstucki.net/?p=53

    2. I'm gonna be doubly lazy and say I'm in the camp with the people that opposed the Fx prefix in the following bug --> https://bugs.adobe.com/jira/browse/SDK-17854

    So...my vote is no Fx prefix.
  • Calculating status... 1 posts since
    Feb 12, 2009
    Currently Being Moderated
    57. Feb 12, 2009 4:29 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    My 2c:

    1. It's obvious that anyone who uses custom components must become familiar with namespaces to use them. So my question is: what proportion of flex developers who don't use custom components are you trying to please with this decision? Why must the vast majority of developers suffer for this small minority?

    2. I think my introduction to Flex was fairly ordinary - through the tutorials on Adobe's website, reading blogs, and also the book 'Programming Flex 2'. I've always used namespaces from the very first day - they were in all of the examples I looked at - and it has never presented a problem. As soon as you write your very first custom component (day 2?), it's obvious why you had been using the mx: namespace. As the guy who's the Flex instructor mentions above, he never has students who have a problem grasping the concept of namespaces.

    3. There's been plenty of adequate solutions to the CSS problem presented above. The one I prefer is if you have, say, a Button selector, the styles will be applied first to a Spark component if there's one with that name, then to a Halo component if there's no Spark component of the same name, and if there's both, you'll have to use a styleName to style the Halo component. This is still clean, won't add any bloat to the CSS or compiler, and will still be a viable solution in the post-transition period.
  • j-araujo User 6 posts since
    Mar 23, 2005
    Currently Being Moderated
    58. Feb 12, 2009 5:39 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    @Dusty

    > "Want your app to pop up an Alert box? It still uses Halo buttons"

    Yeah, I'm sure that the guys that created Java Swing could even agree with you. But for us coming from a graphics background, such scenario gives us the chills.

    What's the point of Adobe trying to raise the bar in GUI graphics with Flash/Flex ( and now Gumbo ) if it would allow developers to engage in such a mess as to pop up a Halo dialog over a Spark UI?

    It can only make sense from a programmer's point of view, I tell ya.

    > " It's not bad, it's a requirement"

    Huh? Don't you know that all the worst deeds in History were presented as being "requirements".

    It just happened the "requirements" turned out to be no more than someone's "priorities". ;-)
  • Calculating status... 1 posts since
    Feb 12, 2009
    Currently Being Moderated
    59. Feb 12, 2009 6:17 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    Hey Matt,

    Any chance we could get an update on Adobe's latest thinking on this issue? A lot of arguments have been made, many of which have been repeated over and over. I'm not sure much more can be said at this point without being totally redundant, but if we knew what the key points that were still pulling you guys in favor of the prefix solution were, then maybe we could address those that still stand.

    I think everyone keeps saying the same things over and over without knowing if those arguments are working. And if suddenly there is some new argument that hasn't been addressed that turns out to be the basis for the decision I think there will be a lot of unhappy devs out there.

    Doug
  • Calculating status... 1 posts since
    Feb 12, 2009
    Currently Being Moderated
    61. Feb 12, 2009 9:43 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    While very new to Flex, I'm not new to standards, and I'll echo post#26: make development choices based on what's good for the framework as opposed to what's easier for the tools.

    And several posts aptly describe a new developer's dismay at the prospect of this fx prefix idea.

    Adobe, thanks so much for asking!
  • Calculating status... 1 posts since
    Feb 13, 2009
    Currently Being Moderated
    62. Feb 13, 2009 10:26 AM (in response to matt_chotin)
    Re: Fx prefix revisited
    Matt, please, think of the kittens!
    http://blog.benstucki.net/images/fx-kitten.jpg

    Seriously though, thank you for reopening this issue. It means a lot to a lot of developers, and the fact that you're able to listen and respond thoughtfully is a big part of what keeps us engaged.
  • Calculating status... 1 posts since
    Feb 13, 2009
    Currently Being Moderated
    63. Feb 13, 2009 10:51 AM (in response to matt_chotin)
    Re: Fx prefix revisited
    Consider this a vote against the Fx prefix. I'd rather use a different namespace. Re: CSS - I like the idea of using separate sheets for different namespaces. I don't like the idea of writing style selectors that include the namespace, because CSS doesn't have support for that in the specification and it could cause collisions with class selectors. You could extend the specification if you wanted, but you'd have to support your unique syntax forever, even if the CSS spec was someday revised to include a way to support namespaces.
  • Nate Beck Community Professional 45 posts since
    Nov 11, 2008
    Currently Being Moderated
    64. Feb 13, 2009 10:57 AM (in response to matt_chotin)
    Re: Fx prefix revisited
    @benstucki - You just made me do a spit-take.
  • schneeland Calculating status... 1 posts since
    Feb 13, 2009
    Currently Being Moderated
    65. Feb 13, 2009 11:32 AM (in response to matt_chotin)
    Re: Fx prefix revisited
    Hi Matt (and all others),

    concerning your post of prefix-less proposal, I have a few comments. The first is that I already like this pretty much and that I appreciate it that Adobe opens up (further) to community feedback.

    Now regarding the post itself:
    1) Namespaces:
    You asked not to discuss too much what could go where - I am sorry for not being entirely able to follow this, however I think, the layout may provide some help for coming up with a solution that is both flexible and not too hard for newcomers (without programming/c.s. background).

    1.1) Layout
    (I think this was already proposed to a large extent) Form 5 namespaces as a foundation, namely:
    I) The language
    II) The faceless components
    III) The spark components
    IV) The non-overlapping halo components
    V) The overlapping halo components

    1.2) (Re-)Combination
    Now having five namespaces may really seem a bit odd for somebody new to flash and not having a background in another programming language. So what I think could help is using import to recombine these namespaces to another:
    VI) import of I + II + IV + V, could also be called the "everything from halo"-namespace
    VII) import of I + II + III + IV, could also be called the "use spark wherever possible, fall back to halo"-namespace.

    1.3) Default namespace:
    In combination with 1.2, but also helpful in general: Make it possible to have one default namespace in css (I am a bit sceptical about the *-approach, however that could work, too).

    1.4) Tooling support:
    Add tooling support deciding whether to use namespace VI or VII or a custom number of namespaces (I believe that anybody who chooses this will know what he has to do).

    1.5) Conclusion:
    In general I do not believe that namespaces are very difficult. I have taught several undergrad tutorials and nobody had trouble with this (neither in Java nor in Python). With a bit of tooling support, I think, nobody will run into serious issues here.

    2) ASDoc-Update with Architecture added:
    This sounds like a laborious but manageable task, and one with a reasonable outcome.

    Best regards,
    Sebastian
  • arieljake@yahoo.com Calculating status... 15 posts since
    Mar 23, 2004
    Currently Being Moderated
    66. Feb 13, 2009 12:03 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    Why not use namespaces and packages so they fall in fx.* and thus, they will all look like fx:Button vs mx:Button.

    To support this, don't use xmlns="" by default. That way you will never have
  • Sekhar Ravinutala Calculating status... 38 posts since
    Feb 18, 2005
    Currently Being Moderated
    67. Feb 14, 2009 12:04 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    IMO separate fx namespace makes a lot more sense, especially for new users. It's confusing to see two separate mx:Button and mx:FxButton controls, and auto-completing "but" to mx:FxButton doesn't help (because he sees an FxButton whereas he was trying Button). Far more natural/intuitive is to default to fx:Button transparently.
  • User 4 posts since
    Jun 10, 2008
    Currently Being Moderated
    68. Feb 15, 2009 2:17 AM (in response to matt_chotin)
    Re: Fx prefix revisited
    I know this is a bit of a moot post, since the decision has been announced to be rid of the prefixing, but I think some of the finer points of this conversation bear commenting on.

    Personally, I vote for three distinct namespaces:
    1) one for MXML 2006/Halo/Flex 3 - xmlns:mx="http://www.adobe.com/2006/mxml" or "library://ns.adobe.com/flex/halo", whichever
    2) one for MXML 2009 native language elements - xmlns="http://ns.adobe.com/mxml/2009"
    3) one for Spark/Gumbo/Flex 4 components - xmlns:fx="library://ns.aodbe.com/flex/halo"

    This allows the MXML specification to evolve on a separate timetable if it needs to: the next MXML specification after 2009 may not be until MXML 2011, while Flex may be into version 6 by then. This actually makes it easier to distinguish MXML as a language with its own syntax, i.e. having its own manifest file, rather than a prop for one framework or another. Having some experiemce in teaching Flex and responsing to beginner tutorials, IMO collapsing namespaces will actually make it harder, not easier, to teach and explain Flex to the beginner.

    Keep in mind that people can reassign URIs to whatever namespace they see fit, so I would not get to hung up on whether a URI/manifest file is undeclared or is assigned a specific namespace name, although having the MXML 2009 be the undeclared or default namespace (i.e. xmlns="...") is a good convention.

    And as for prefixing, I think it's pretty unanimous how much of a hack and forwards-compatible disaster that would be. Enough said.

    As for CSS, I don't see an issue with using namespaces in CSS as Matt Chotin suggested. As for allowing/disallowing something in the CSS spec simply because global class selectors or some other technique is not a best practise is ludicrous, and this /will/ harm beginners coming to the language. There needs to be room for people to implement hacks and bad practises if they want to, because quite frankly there is a reason to buck the rules and write not-so-elegant code on occasion. I should have the option to use a namespace with a global class selector to define a style on both a halo Button and a gumbo/spark Button if I want to.

    As for why people would want to use two different namespaces or packages for teh same component name in the same file, whether MXML or ActionScript, well we won't all have the luxury of coding perfect J2EE-OOP-patterns-compliant code all the time. Having come up through the Flash coding world, I know just how much hacks are a fact of life, despite how undesirable they are. I can well see a "conversion project" down the road where I'm tasked with adding Flex 4 capability onto a Flex 3 project. If I need to add to a component with 10 Flex 3 Panels but I need the functionality specific to the Flex 4 Panel, I sure as hell am not going to recode all my Flex 3 Panels if I can at all help it. I'll just live with and deal with a new namespace declaration in MXML and use fully qualified class names for some components in ActionScript. If the project is configured for both Halo and Spark component frameworks, then my tools (i.e. Flex Builder) should be intelligent enough to help me with fully qualified class declarations as well.

    So the solution should not be dumbing down and simplifying simultaneous framework implementations for the sake of beginners. Beginners have already shown that namespaces are intuitive, and anyone used to coding in ActionScript should already be aware of import collisions and know how to account for it: we shouldn't be implementing hackneyed solutions so beginners do not have to learn core programming skills. And the tools should adapt to new framework/language conventions, not the other way around.

    Personally, and I apologize if this sounds a little harsh, but I think the engineers at Adobe need to tell the suits to wait until equivalent spark components are developed to complement all the halo components before Flex 4 is released. And still allow for simultaneous use of different major framework versions. Unless... it is publicly acknowledged that Flex 4 will stay in Beta until this happens. Putting out an unfinished product just to meet some marketing forecasts doesn't sit too well. You want to improve Flex Builder? Fine, issue a point release of Flex Builder 3, or diverge the tool versioning from the SDK versioning, which is what landed up happening with Flash Player/Flash Authoring.
  • wrench Calculating status... 15 posts since
    Aug 9, 2002
    Currently Being Moderated
    69. Feb 15, 2009 5:37 AM (in response to matt_chotin)
    Re: Fx prefix revisited
    Glad to see that the comments over here - http://iamdeepa.com/blog/?p=34 were taken notice of. And I echo Joseph's sentiments, perhaps waiting until parity is reached between the current halo components and the new Gumbo one's is the best idea. Maybe not from a "lets get the product out the door and start getting some revenue" point of view, but DEFINITELY from a "let's not make life harder for our users and continue to grow good will which will in the end increase our revenue anyway" point of view.
  • Calculating status... 1 posts since
    Oct 24, 2007
    Currently Being Moderated
    70. Feb 18, 2009 10:28 PM (in response to matt_chotin)
    Re: Fx prefix revisited
    Many good arguments on the side of namespaces over FX prefixes. So count me as another developer hoping that Adobe's business side doesn't pressure the fabulous Flex team to do what will clearly be seen as a hack.
  • Calculating status... 1 posts since
    Feb 19, 2009
    Currently Being Moderated
    71. Feb 19, 2009 1:57 AM (in response to matt_chotin)
    Re: Fx prefix revisited
    So what's the big picture? To my understanding:
    * Fx components will finally replace all Mx components after one or two years, developers will no longer use Mx in most projects.
    * When Flex 4 release, we use most Fx components and several Mx components, I think very few developers will use mx/fx Button in same project.

    I suggest the decision to make should be based on:
    * How Flex team can work best with final Flex projects will be, not care too much on some pains Flex developers will surf. It just normal, life is pains, we go for better result.
    * Which decision Flex team can develop better/solid framework. I think Flex developers need less bugs/more features than anything else.
  • User 4 posts since
    Jun 10, 2008
    Currently Being Moderated
    72. Feb 19, 2009 2:42 AM (in response to matt_chotin)
    Re: Fx prefix revisited
    In case you're been living under a rock ;) in response to popular demand, Adobe has decided to get rid of the Fx prefixing: http://www.adobeforums.com/webx/.59b7e849
1 2 Previous Next

Actions

More Like This

  • Retrieving data ...

Bookmarked By (0)