Toronto Flex Camp 2

Flex Camp 2

That tattoo’s gonna look pretty silly when Adobe redesigns their Flex logo.

The TorontoFlex.org user group has announced its second Flex Camp:

Our second iteration of Flex Camp is coming on May 15, 2008 at the MaRS Centre (http://www.marsdd.com/Contact-MaRS.html).

This one promises to be even better than our premier event last fall. Along with Adobe’s Mike Potter, we’re privileged to have Ben Forta, the most well-known Adobe evangelist in the world. If you’ve never heard Ben speak before you’re in for a real treat!

Flex Camp, contrary to what you might think, is not a wilderness retreat for junior highschoolers where you go to experiment with homosexuality. No – it’s an event where you show up five minutes late and the promised meal has been completely devoured, and then at half-time when the organizers announce there are cookies in the next room and you charge out ahead of everyone because you missed dinner and have just sat through three hours of tech talk, only to find that a large group of attendees got bored and wandered into the cookie room hours earlier, decimating the cookie platters before the snack could even be announced.

Flex Camp is not so much a user group event, but a technologically-themed soup kitchen for Toronto’s college students.

The subject matter of the first Flex Camp flew right over my head, i’ll admit. It had something to do with using a programming paradigm called Loch Loman or Gormenghast or something to organize your code. Event organizer Oliver Merk spoke too abstractly for my liking, and it was especially difficult to concentrate with hunger gurgles gnawing away at my stomach lining.

Gormenghast

What this place has to do with web apps i’ll never know.

i appreciate that a user group should be able to focus on in-depth topics that go beyond a mere “introduction to Flex” idea, but i think the organizers went a touch too far. Flex is still so new that people seem to have a hard time understanding what it even is, let alone how to apply a programming paradigm to it.

If you’re a student looking for some free food, you’re bound to attend this event. In that case, the least you could do is to read up on Flex so that you can hold your own in a conversation while filling your pockets with little triangular egg salad sandwiches. Regard:

What the Heck is Flex?

Up until the release of Actionscript 3, people who programmed in Flash were not considered “real” programmers. Actionscript was derided by so-called “real” programmers as a “scripting language” rather than a programming language, which is like the difference between a community college and a university.

i always despised this viewpoint, because learning a programming language was very difficult for me, and i felt immensely satisfied that i was able to actually code things that functioned like honest-to-goodness real-live games and applications.

It wasn’t until i tried programming in C#, a “real” programming language, that i understood the comparison.

Mr. Fontsy Ponts

Flash is a tool that does a lot of stuff for you. You can just grab the Text tool, click on the screen and start typing. When you compile your movie, that text appears on the screen, in any outline you choose, and at any size in any colour you so desire.

If you’d like to do the same thing with C#, you have to make what’s called a font, or character, map:

Character Map

A character map. No bloody fun.

Then you have to train your program how to pick through and slice out a letter. So when you want to display the word “hello”, you tell your font rendering routine to go grab chunks of your character map at “h”, “e”, “l”, “l”, and “o”, and display those bitmaps on the screen.

That is, assuming you’ve programmed your game or app to display graphics on the screen. If not, you’ll have to code that or find a graphics renderer that someone else has coded.

It’s all part of what i like to call a Merry Pain in the Ass. But when so-called “real” programmers took a look at Flash, they said “What what what?? It draws the graphics for you?? But … but you lose so much control! And it could never render as quickly as something i wrote myself! And it’s … it’s not … hardcore enough!

Very well. So be it. You write your fast graphics engine while i bang out an entire game in a weekend.

Flex was created for these so-called “real” programmers to feel more at home. There are no drawing tools, no movieclips, and no shape tween drop-downs. In fact, there’s no actual program. Technically speaking, Flex is an Actionscript framework. The product name is used almost synonymously with “Flex Builder”, which is a plugin for a free programming IDE called Eclipse.

So you’re free to write in Flex, but if you want a tool to make it somewhat easier, you can buy Flex Builder for a few hundred bucks and extend the functionality of Eclipse. Flex has a few unique code libraries that Flash doesn’t have, and vice versa. You can’t create any graphics or animations with Flex or Flex Builder (except, technically, with the drawing API), so you still need some other creative authoring program like Flash, Photoshop, Fireworks, etc to create graphics, sounds, animations and movies.

Frex

Does that clear it up a little? i’m a very visual person myself, and i prefer having my graphics and animations right in front of me while i code. Although i am trying to warm up to FlashDevelop (more on that tool in another post), Flex isn’t really for me.

The thing that struck me most about the last Flex Camp, aside from wanting to gnaw my own leg off from sheer starvation, is that Flex coders are in high, high demand … possibly more than Flash people. Every presenter, every staffer and every attendee i spoke to was looking for a Flex coder. The drawback is that you usually have to build some kind of online accounting software or phramaceutical inventory system with it. But if that doesn’t bother you, give Flex – and Flex Camp 2 – a shot.

Just be sure to eat before you show up.

3 thoughts on “Toronto Flex Camp 2

  1. Jimmy VB

    Visual Basic programmers had an inferiority complex. Despite the fact VB programmers were building business applications in record speed, VB programmers knew in their hearts they weren’t working with a ‘real’ programming language. Microsoft responded to this, and kept adding C++ features to the VB language, eventually releasing VB.Net. VB.Net is a REAL programming language with ALL of the features and capabilities found in C#. It takes twice as long to build business applications, and programmers love it!

    Flash is following this classic pattern. Flex proves that Flash is becoming a real programming language. Eventually, Flash will wind up being C++ (Threads, OpenGL, ADO database layer), forgetting what made Flash great to begin with. Animations produced in the Flash design environment will be replaced by Actionscript code that does the same thing. It will take twice as long to build things in flash, and programmers will love it!

    Reply
  2. Ryan

    Truer words were never spoken, Jim.

    These days, when i tell people about my projects, they always ask “AS2 or AS3”?

    i used to say “AS2, because my clients aren’t supporting the Flash 9 player yet.”

    More and more, i find myself saying “AS2, because i only have a week to program it.”

    At this point, i can almost turn off my monitor and code in AS2, like young Skywalker practicing his lightsaber skills. It’s second nature. For the kind of stuff i’m doing, AS3 and even OOP are slow, bloated methodologies that don’t serve me in the projects i build.

    i was just defending my stance to someone earlier today. When you’re building one-off web games, OOP does not suit. It’s handy to build maybe a timer or a high score system, but i don’t buy the idea that it speeds up development and makes things portable and easy to code.

    … i was about to continue, but i think this topic is meaty enough to warrant a full-fledged rant. Stay tuned!

    – Ryan

    Reply
  3. Pingback: untoldentertainment.com » Blog Archive » AS3 and the Scoop on OOP

Leave a Reply

Your email address will not be published. Required fields are marked *