This past weekend I attended JSConf 2010 in Washington, DC, and, I have to say, I was mighty impressed with what I saw. Although I couldn’t see everything, there were still a lot of fantastic presentations of what JavaScript can now do — not just on the client-side, but also on the server side!

And here’s the thing: I’m convinced that 2010 is thee year that JavaScript as a language can start to be taken seriously as a tool for real software development — It’s not your lil’ scripting language to do neat web page tricks.

Frameworks like node.js and are pushing the way forward in making real server-side software. Another framework called seed.js is finally providing a way of centrally retrieving and pushing modules of JavaScript code for others to use and share. It starts a real collaborative development community that you would find in places like Ruby and Python. Very exciting.

Then, of course, on the client-side, you are finding fully featured frameworks, like SproutCore and Raphael, that are pushing the boundaries of what you can do when building a web application.

The presentation by Evin Grano and Mike Ball demonstrated how SproutCore has matured, what you can do with it on the iPad (touch!), and then they topped it all off by revealing a SproutCore interface builder tool called Greenhouse that was a real crowd pleaser. The presentation showed the audience that you can indeed build feature rich and fast desktop-like applications within a web browser that can rival an application written based on traditional languages and frameworks.

Dmitry Baranovskiy presentation on his Raphael framework was also another crowd favorite. In just 45 minutes, this dude laid down the hammer that you can indeed create expressive vector graphics and smoothly animate them in a web browser with a cross-compatible and intuitive API. I think everyone in the audience was floored. I know I was. To top it all off, Dmitry created his awesome framework as a side project while commuting to and from work. I mean, seriously? I need to get better. *sigh*.

Other highlights included presentations by Douglas Crockford (you know who he is) who attacked HTML 5 for its lack of security to prevent cross-site scripting attacks, Steve Souders of YSlow fame who discussed JavaScript’s performance impact on web sites, Billy Hoffman giving a fun yet scary talk on web security, and, most of all, a presentation by Brendan Eich, the father of JavaScript.

Brendan talked both about the history of JavaScript and the new language features that are coming or being considered. Of all the language features Brendan discussed, the one that jumped out at me the most was module support, which is the one thing I’ve always felt JavaScript desperately needed. Let’s all cross our fingers that module support is added and is quickly adopted by all the browser vendors.

Of course it wasn’t all about the presentations. The conference was also about getting a chance to meet other people who work with JavaScript and sharing ideas. I met quite a number of people who are doing some impressive stuff with JavaScript at their job and even as side projects. And the growing body of people working on open source JavaScript frameworks is just another encouraging sign of everyone working together and giving back. Bravo!

I know I didn’t mention all the other presentations that happened at JSConf but that’s only because I didn’t get a chance to see them — I really wish I had! That being said, I’m looking forward to what the rest of 2010/2011 will bring and who will be presenting the next eye popping use of JavaScript at JSConf 2011.

As a final parting thought, I have come to a second prediction, perhaps a much bolder predication, and it’s this: Adobe’s Flash, Microsoft’s Silverlight, and, to a much lesser extent, Oracle’s JavaFX, they will all become less and less significant in the future of the web due to the combination of open technologies like SproutCore, Raphael, and HTML 5. Proprietary technologies no more!

Some might argue that my claim is preposterous given the number of people that use technologies like Flash to provide rich, interactive media. However, I would disagree because to the end user, they soon won’t be able to tell the difference between what is made in Flash and what is done with the suit of tools like SproutCore, Raphael, and HTML 5. And let me be clear: I’m not saying it’s specifically SproutCore and Raphael combined with HTML 5 that will fill the gaps, it could be any JavaScript frameworks that provide a solid model-view-controller (MVC) foundation along with a rich and powerful framework to do vector illustration and animation.

Does all this mean no more Flash? No, of course not. But Flash and its like will gradually make up less of the web market share. The only other missing link that would help accelerate this decline of Flash are tools that regular designers can use to build their content, just like you can do currently with Adobe’s Flash IDE. I have a feeling, however, that the JavaScript community could take on such a challenge of making such a tool. I mean, if SproutCore can have a interface builder tool, then what’s stopping us from taking things to the next level?