The Changing Face of Apps

Over the last week I’ve been doing some serious hacking/coding in a variety of languages.  Some of it is necessary for a work project I’m doing, a couple of customized WordPress installs for a company in Seattle that’s required a bit more PHP hacking to get working properly.  Other parts of it are reading books in my (not available) spare time, and still trying to focus on ObjC and CS193P.

I continually amaze myself with the PHP stuff.  I never officially studied the language but I can understand the bulk of it and maybe most important: I can articulate what I need to do in a good Google query.  For me to become really proficient at it I think I’ll need to start using the shell accounts on some of my boxes to make sure this stuff happens the right way.  While flipping through an old C# book at Fry’s a few days ago I stumbled across the realization that I can grok the syntax of just about any modern language!  Most of these languages are all derivatives of C so it’s not a huge surprise, but I could definitely start to implement code that isn’t language specific which is a huge step for me.  Being able to write platform or (lightly) language independent code is what separates a programmer from a Computer Science major I think.  Each language obviously has its own subtleties and nuances and some will always be a mystery to me (like Perl) but I’m feeling more confident in my skills again.

I spent a few hours this weekend futzing around with Canvas, an HTML5 element that allows you to implement drawing and other animation routines in a div in HTML.  My goal was to finally come up with a logo for REV-DEV my other side-biz that definitely needs to start getting a leg off the ground.  Having checked out some cool HTML5 samples I thought this would’ve been easier, but it wasn’t to be.  I found some greatly bouncy balls, starfields, even a text particle generator.  What I was looking for was a text swell/shrink effect similar to what I’d seen in….well, Flash to be honest.  But I’m trying to be proactive and future-proof, and platform independent and all this….and the thing I want is in Flash.

Adobe has seen a bit of the writing on the wall lately, releasing a free preview of Edge ,their Flash exporter to HTML5 app.  It’s not quite available for real-world use yet, but if I could get the download link to complete I’d probably check it out.  I digress, I’m rambling here.

My point about this was that everyone is starting this slow shift to these frameworks and API’s that are smarter, cleaner and more platform agnostic.  Take the Windows8 Metro incarnation– Metro apps will do UI through HTML5 and JavaScript which has included AJAX for a while now.  That’s amazing!  There’s a movement on the iOS side to use the same structure to drive UI and let the native code take care of the back-end tying things together.  I’m not entirely sold on this for iOS5 for reasons I can’t divulge yet….

Finally, this morning Google announced the availability of Dart, a structured web language that provides optional typing and also compiles out to JavaScript.  It’s a language that will work on modern browsers, with the JavaScript intermediary coming out in browsers that won’t support it’s optional MIME type.  It appears to be light, offers easy to read syntax, and is open-source under a BSD license.  It appears to also support a mode for enterprise use that allows the execution of the code in a VM, but I’m kind of lost right now as to usable case for that one.  I’m going to try and get my hands dirty with it a bit today and see what develops…