Re: Adobe Flex for MV GUI



Rob, we're on the same page.

I really don't like the trend toward using XML in-line with code to
describe the UI, but one has to admit that in many ways it's more
elegant that doing it in code.

For example (not valid syntax):
<Button id="btn1" text="Submit" onclick="dothis()"/>
I think that's slightly more readable than:
Button b = new Button();
b.id="btn1";
b.text="Submit";
b.onclickhandler.add(dothis);

But agree or disagree, that's the trend. I believe the good news is
that we have a the choice of which mechanism to use for every control
- use XML here and code there.

As you said (I think), facilitating the creation of either definition
is good, as long as its readable and the developer has access to tweak
things when the auto-generator doesn't generate what's required.

Another place where we agree is that common functions are good targets
for abstractions. However, there is a difference between code
generation for common functions and addins that provide those
functions. Microsoft created a series of Login controls and other
toolbox items because every application needs them. There is a
free/open-source Ajax Control Toolkit which (I believe) most ASP.NET
developers are using these days. The third-party market (for .NET,
Flex, Java, Eclipse, and all other environments) does this for grids
and reports and other controls - some for free and some for fee, some
with source and some without.

Your HyperFlex control could easily be a common addon for any Flex
developer. If there was already an existing base of MV and Caché Flex
developers, we might find a business case for creating components that
facilitated specific types of communications, or as with other Caché
language bindings, generating Flex classes from server-side
definitions. Unfortunately however, I've tested the water for this
sort of thing in the MV community and there doesn't appear to be a
critical mass of interest.

Again, addons and code generation are separate topics: What would be
of special interest to this market would be the ability to use all of
these things from MVBasic. It's possible and I think it would be
widely accepted, but frankly I don't think anyone will want to pay for
it so I'm not even going to get started. A few years ago my attitude
was be very different - these days I need to think about eating. :)

I also agree with you that coding is done at too low a level these
days when it's really not required. There are many tools out there
that abstract out the complexities of attractive interfaces and stable
connectivity, but a lot of people prefer to take the time to hand-code
these things than pay money for them. There's no fault in that but it
emphasizes that a lot of the complexity in code is a matter of choice,
not need. In addition to cost we are all familiar with the notion
that adding more components (free or for-fee) adds more complexity,
support burden, cost, and new human relationships for support, all of
which sometimes add up to negate the desired benefits. Addons by
themselves are not a panacea, but in the MV market in particular I
believe they are disproportionately under-appreciated compared with
other developer communities.

In the rest of the world, addons are appreciated but over the last
several years we've seen an explosion of new languages, frameworks,
and coding paradigms - all intended to "simplify" development, but
each one is a little coding universe all unto itself, with unique
complexities that (I believe) obviate the savings of time for which
they were created. I really wish the world would settle down - there
simply isn't enough time to learn so many time-saving standards. :)

To bring this all back on-topic: Rejecting all products, languages,
and frameworks is also counter-productive. I just want to see MV app
developers selling more software, so I try to introduce people to
whatever is available. If I thought OpenLaszlo had wings, I'd pitch
it. It's open source, all XML and JavaScript, yada yada yada... But
it seems people here like products that are supported by a vendor
rather than all open source offerings, so I started with Flex.

I really wish more people would speak up about what it is that they
want or what they don't understand about what's available. I don't
think we're at the point where everyone is selling to more clients
than they can handle, or that end-users have management saying "God
those green screens look great!". When we're at that point I'll find
something else to talk about.

T

.



Relevant Pages

  • Re: Multiple Instances of Word?
    ... as programming control, not an end user application, thus as control, I ... while perserving Word's (user experience) outside of the my ... application developer in Windows world. ...
    (microsoft.public.word.docmanagement)
  • Re: an old geezer running visual studio for the first time
    ... and wants to be in control of his/her app as much as possible. ... ..Net Developer ... > can actually write more code than you could have in classic ADO. ... > About the starter kits - I recommended the Commerce one because it is, ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: frontpage 2003 and .NET
    ... I also bought the other one because that's how I learned basic web ... jim Buyens book and a learn front-page visually type book. ... > The Microsoft Press Developer edition books are great. ...
    (microsoft.public.frontpage.client)
  • Re: Test Driven Development and C#
    ... programmer comes along and needs to edit what I wrote and breaks my ... as the unit tests are broken and politely ask the developer responsible ... How does one go about Unit Testing data structures like XML that are ... validate if it's well-formed XML. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Visual Studio with 3 developers and same projekt
    ... With three developers, and a larger budget, you might use Team System. ... has a nice version control system that links into reports and project ... to the Visual Studio Professional edition. ... $499 per developer, so this is not a free option. ...
    (microsoft.public.dotnet.languages.csharp)