Posted by Jacob Wright in FlexJan 26th, 2008 | 3 Comments
I’ve been thinking deeply about how applications are architected. Tyler and I put together a MVC framework which we’ve been reluctant to release because he’s not sure if it’s quite right or if it’s different enough from other frameworks, and because I don’t have time to put it up and document it. So we’ve been brainstorming on how it might be better.
I’ve decided that there are two main focuses when designing a Flex application, and it results in two different kinds of frameworks. There is Flex-focused applications and server-focused applications....
Posted by Jacob Wright in CSS, FlexJan 17th, 2008 | 8 Comments
I was reading a post about the Top 10 Flex Misconceptions and read in the 2nd section that "Flex also uses CSS for styling of components / applications."
I know since day one Adobe has listed CSS styling as a feature of Flex. But anyone who has used CSS to style a web page knows that Flex does not support CSS. It supports, well, SS.
CSS stands for Cascading Style Sheets. Flex is missing the "Cascading" part of it. CSS is all about using a style sheet to describe the "presentation of the document" (World Wide Web Consortium CSS1). Because of the limited amount of the CSS standard that Flex supports,...
Posted by Jacob Wright in AIR, Flex, GeneralJan 12th, 2008 | 28 Comments
I wrote a project timer awhile ago. After I had done that (in Flash 8) I needed a task list that could be split up by client and project, so I combined the old time and a new task list into what I called creatively the Project Tracker. I've been using it since Apollo preview release. I just added a new feature for myself that rounds the times to the nearest half-hour or hour if desired (since that's how my company bills clients), and I thought that I'd share it. It allows you to keep track of time spent on tasks, project, and clients as well as let's you check off any of them when complete. You...
Posted by Jacob Wright in AIR, GeneralJan 10th, 2008 | No Comments
I'm working on a library to give rich text or WYSIWYG functionality to an AIR HTMLLoader. It's coming along nicely thus far. I have all the keyboard shortcuts happening and the HTML is being replaced by the appropriate stuff (e.g. bold fixes webkit's <span class="Apple-blah blah" style="font-weight: bold"> to just <b>). I've got undo/redo in place even with typing and deleting etc.
So I was thinking, it would be cool to write a DocBook editor in AIR. It might be the first DocBook authoring tool that looked nice. :) DocBook is an XML format for books or documentation. I won't go into...
Posted by Jacob Wright in FlexJan 10th, 2008 | 2 Comments
I decided to write on a beginner topic today, so if you know everything there is to know about binding then you may want to pass.
When writing a Flex application I always write "model" objects which represent the data and business logic of my application. These would be the User objects, the ShoppingCart object, or the Document objects (see MVC). The MXML components will bind to these object's data, and as such, I need to make sure that they will dispatch the correct events for binding to occur.
There are really two main practices to keep in mind. The first is to put the [Bindable] tag at the top...
Posted by Jacob Wright in AIR, FlexJan 7th, 2008 | 12 Comments
NativeMenus for AIR have been somewhat of a pain since each item in a menu can take 3-4 lines of code or more to write once you add the listener, the key shortcuts, etc. Then when you've got 20 items or so you have an unreadable unmanageable mess to deal with. Very unFlexy. So I set about making it work in MXML with the advantages of readability, conciseness, and don't forget bindability. This makes it a much cleaner solution than a component which creates a commonly used menu or using XML data providers to define the menus.
First I created a Menu class which extends NativeMenu. Because of the...