Yet this landscape has changed a lot in the past several years. HTML5, CSS3, and JS ES5/ES6 delivered improvements in both standardization and functionality, browsers got better, performance got a lot better (e.g., Google's V8 engine) and great tools and frameworks started appearing.
- pointers to some really great resources (e.g., Addy Osmani's work)
- posts on techniques (e.g. use of PubSub for loose coupling, how to avoid memory leaks) and tools (e.g., Backbone, Grunt, Chrome's devtools)
- demo apps that illustrate aspects of this (with well-commented source code)
JS Demo app: SPA basics
JS demo app: Backbone basics
I've moved on from Flex development but will keep this content up for awhile
Flex was Adobe's product for creating browser-based applications. Because Flex apps used the Flash player for a VM they could run anywhere there was a Flash player, so Flex apps were cross-browser without having to deal with the normal nightmare of browser inconsistencies — consistency came from that Flash player, which also delivered great graphics capabilities and pretty decent performance using Flex-compiled code. Although Flex is now essentially dead (a pity, more on that here) I'll keep my Flex content on the site for awhile, and this section just summarizes that content (see site map for all Flex content).
Flex/AIR primersPages in this category are intro-level tutorials to Flex fundamentals. They cover a variety of topics, from mobile app development to the Flex component Lifecycle. Also some AIR mobile content here.
I've created several apps that demo Flex functionality and RIA design. Quick links to some of these demo apps are at right. However, if this is your first visit I recommend accessing the Flex demo apps page for a brief overview of each demo app and a description of the Flex features they explore. NOTE: Flex apps require the Flash Player so they won't run on mobile devices!
Flex demo app: World Data Explorer
The World Data Explorer demo app lets you explore CIA world factbook data in a variety of views (graphs, interactive maps, videos, etc.) Of course, the real purpose of this app is to demonstrate Flex capabilities. more...
AIR mobile dev
If you're not familiar with AIR, it's Adobe's product for developing desktop and mobile applications. AIR apps run in a VM on a wide variety of platforms/OS's (yes, even iOS). The posts in the AIR Mobile Dev category might help you avoid/solve some problems encountered when developing AIR apps for mobile. Note that some posts in the Flex/AIR Primers category also address this topic.
Other site content
For quite a few years I was a SAS applications developer, so I've included some info on SAS appdev, especially accessing SAS processes and data via a web app. While these intro posts may be useful to SAS programmers they're primarily targeted at web developers unfamiliar with SAS.
This category has a couple of pages about me, essentially an online resume for potential employers/clients.