Great Ideas Start Here

blog: a regularly updated web page, typically run by an individual or organization, containing relevant thoughts and ideas.
by: Christine Swartzendruber, Chief Technology Officer
I’ve been programming on the web for about eleven years. I’ve learned so many techniques and applied them over and over until I can code just about anything, quickly and efficiently. I didn’t start out programming on the web though. I was an application developer first, using primarily C++ to do everything. A loyal back-end programmer to the core, I knew the best way to start on the web was to pick up .Net and C#, and that’s exactly what I did.

Not only did I pick it up, I perfected it. I spent countless hours teaching myself how to do the most complex things in the shortest amount of code I could produce. I tackled by developing my own internal web service that called on SQL through stored procedures. I could now hit my database in a fraction of the time and with an unbelievable one line of simple code.

My methodology is from spec to deployment. So I had to learn how to work with businesses to change their problems to solutions. Then, I had to learn Information Architecture, so I could produce apps that users could navigate easily and understand with very little training. I had to create graphic files, so I taught myself Photoshop. Of course my sites and apps needed front-ends so I had to learn HTML and CSS, which I did. I threw some .Net objects in there and coded everything in C#. Easy, fast and visually appealing.

I knew, because I’m an avid podcast listener, that there were web developers who never had the privilege of opening Visual Studio and using it. It seemed crazy to me that anyone could “program” without a solid OOP back-end. But I knew they used JavaScript, and never really thought much beyond that. I certainly avoided it at all costs, mostly because I knew with JavaScript there was no Code-Behind environment, and it seemed so cumbersome to me. Besides, why would I need it? I had my beloved C#.

I started hearing about JQuery a few years ago, but by this time I was writing pretty high-end apps for healthcare, so while I liked some of the things I saw JQuery could do, I wrote it all off as just visual appeal, and graphical “nice to haves” and decided that taking time to learn a new language would be needless.

Instead, I adopted Telerik and fell in love with RadControls. I use them everywhere, even in favor of .Net objects whenever possible. Sure they inherit from .Net objects, but they make any app come to life, with form objects like the RadGrid and RadAsyncFileUpload. These were tools I could use practically to improve usability in my apps.

The only problem with my new love, was Telerik’s relationship with JavaScirpt and more specifically JQuery. The Telerik API was full of it. Sure, they had server side solutions for most of their objects, but those solutions were tough to piece together and there was very little support available for doing it. I knew I was going to have to learn to use the API and that meant I would finally have to be in the same room with JavaScript.

I started to figure out how JavaScript worked, by applying it here and there, where it was needed. I began to become more familiar with it, but I kept the necessary code stored in snippets and got really good at picking what I needed. I could see that JavaScript was a C based OOP language, which made me feel a little more comfortable with it. I never really had to make any changes to the snippets I had collected, so things went on like this for almost a year, and it was good.

Recently I came across a book called JavaScript & JQuery, The Missing Manual. I picked it up and started reading it, and I couldn’t put it down. The author, David Sawyer McFarland, had me at hello. The way he presented functions, variables and events made everything he wrote so easy to understand. I decided he would be the one to bring JQuery into my life.

I wrote my first little applet, a slide out login for my clients, and ran into a few problems David didn’t account for in his tutorial. URL rewriting and dynamic content bound from an XML DataSet were not playing nice with the perfect little tutorial that would have worked just fine in the HTML page David provided for me. This, as break-fix issues always do, helped me understand some of the details of JQuery especially how to chain functions, and more importantly, how not to.

My login slide-out was finished, and it was perfect. What made it even better was, no post-back. Obviously JQuery is a client-side language. C#, alas, is not. And using C# means posting back and forth to the server with every touch. I was sold. I was all in.

I think my biggest aversion to JavaScript was how much code it took to do things I knew I could do much more efficiently with C#. JQuery took that excuse away. JQuery is to JavaScript what C# is to C++, and I knew it was time to start using it. If you can do something client-side with no post back to the server and make it a smoother transition for your user, then you should.

If you’re someone who has waited to learn JQuery, like me, now is the time. I highly recommend "JavaScript & JQuery, The Missing Manual". It’s pretty inexpensive but so worth it. Pick it up and start your own journey with JQuery.