I really wish I could take credit for the title of this blog. My friend Jeff gave me the idea when he asked me “How’s the Silver-enligthening going?” I had been trying to think of a name for my blog about exploring Silverlight and in about 30 minutes after reading Jeff’s e-mail, silverenlightening.com was registered. The purpose of this blog is to keep up with my enlightening adventure of learning Silverlight.
Why blog about learning Silverlight?
I find that maintaining a weblog while learning a new technology is a great way to stay on task, document the learning process, and interact with the online community. When I was first learning SharePoint, I created a blog to document my experience. I ended up having to stop blogging because my focus at work shifted from tinkering with SharePoint to transitioning to a new ERP system, but it was good while it lasted.
My Background in Application Development
I am brand to new Silverlight development. In fact, C#, .NET, ASP.NET, and WCF are all new technologies for me to me learn (there are plenty of other acronyms to add, I’m sure). Thankfully, there’s a great community of Silverlight enthusiasts and a lot of content in books and online to help me get started.
A lot of my work has involved writing small applications that facilitate the retrieval and presentation of business data. I had become quite experienced in Excel and Access with a good deal of VBA in the background. My later projects involved a lot of automation and data manipulation after pulling data into Excel or Access directly from our MySQL data warehouse.
While these Excel and Access applications were far ahead of anything we had in the past, deployment and maintenance was still a pain. Each new user had to have the MySQL connector installed and pushing out updates was always a pain as I had to remember which employees used that particular application and subsequently forward them the update.
I’ve been chewing on the beginnings of a few projects, all of them involving multiple users with input and output of business data. Trying to maintain an Access deployment of a regularly used program would be way too much work. I began looking for an alternative.
Looking at Web Applications
During his summer off from college, my brother worked with me and I assigned him the task of writing a web application to present sales data about customers to an end user. He ended up coming up with a functioning PHP web site in a WAMP environment. For the most part, his solution was moving in the right direction. It provided a centrally-located solution that was easy to deploy and gave the user a great deal of control over the information they chose to see. Great!
However, when I sat down with Alex to learn to code his website for myself, I was surprised at how much code was involved just to present info to the end user. Granted, PHP had some nice built-in methods for handling MySQL, but there was still a lot of work involved just to get a simple query to print to the screen, and without some work in CSS styling, it usually wasn’t pretty.
I went back to the drawing board and tried to find an ideal technology or group of technologies for delivering simple business applications. I didn’t go terribly in depth, but I considered PHP, AJAX (with JQuery), ASP.NET, and finally Silverlight. As I got closer to making my decision, I even asked users on the forums of Silverlight.net. I was glad I took the time and energy to discover where to best to invest my time and energy as I learn a new technology.
Why I Chose Silverlight
In the end, Silverlight seemed the best choice for delivering business applications to the web. Oddly enough, Silverlight 1.1 mostly involved rich media with almost no connection to business data. At this point, I feel it’s an easy decision to go with Silverlight.
My friend Jeff develops using Microsoft technologies and he suggested looking at Silverlight for its rich user experience and potentially rapid application development. He came over on a Saturday afternoon and helped me set up a demo website to display MySQL Data in a Silverlight application. After only a few hours, we had set up a simple Silverlight application that connected to a WCF service which pulled data from MySQL (I plan to write up a blog post on a lot of this stuff at a later time). I was sold.
I have a lot to learn to even get started, and I must admit that I find the whole mess very intimidating. I was comfortable in my world of Excel/Access/VBA, but those technologies aren’t ideal for what I’m doing and besides, it’s fun to learn new things that will carry well into the future.