Goal: Explore more solutions than just WinForms

It seems to me lately that I am continually writing, essentially, the same program for every problem.  The language has changed from VB6 to VB.NET to C#, but the pattern behind the design is the same.  It’s always a Winform front end, common logic/objects in a middle dll, and data access from another dll that usually hits stored procedures on a SQL Server.  Not that it’s a bad design, because it’s not.  But I’m just afraid that I’m not growing as a developer.  I even use the same old design of a common starting point that calls a logical UI object that controls the flow to the user and back down to the database.  I guess it’s considered a data centric design for n-tier architecture.

The point is that I need more depth and breadth in my solutions.  Sure I can be an expert in this one area, but how often is another area a better solution to the problem.  What do I do when a client-server WinForm isn’t the answer?  I should have a better understanding of the WebForm/Web application world and the design patterns they use.  The funny part is, I’ve had jobs where I’ve written to mobile devices and done middle/backend work on web apps; I’ve even done Javascript on an ASP.NET app.  I was doing my part in those development shops; Providing the needed code to get the job done.  I just never felt completely comfortable with anything but WinForms.  At least to the point where I would tackle one by myself.

So here’s a goal for myself: Explore more solutions than just WinForms.  My previous post on free iPhone development training should be a good starting point for completely thinking outside of the WinForm world.  I would ideally like to learn more about ASP.NET web apps and Silverlight.  Certainly the MVC design pattern deserves quite a bit of attention.  But I should also explore the new kid on the block in WinForms, WPF.  Anyway, it should be a fun journey and I’ll surely have grown in the process.  I’ll try to blog about what I’m doing to achieve this new goal.

~Adam

Free iPhone development training

A few months ago, I was talking with a friend about programming on an iPhone.  We were discussing the potential audience that an iPhone commanded.  I didn’t know much how the iPhone operated (I don’t own one), however, it did pique my interest enough to research it a bit.  So, shortly after that conversation, I went to the Apple Dev Center and perused the Getting Started Documentation.  Well, it was more than a little confusing.  I’m a .NET developer and certainly didn’t have a grasp on the iPhone or it’s programming model.  Needless to say, I didn’t make it very far in reading that initial documentation.

Last night, I was surfing blogs and came across David Hayden’s blog.  He had an entry on iPhone development and again I was reminded that I didn’t really give it my all in getting under the hood of the iPhone.  David’s post pointed to free iPhone training by Stanford University on iTunes.  WHAT?!  FREE?!  So now I have downloaded the almost 24 hours of video and 17 PDFs.  This time I will give the iPhone the attention it deserves.  Hopefully, I’ll be able to put together a Hello World app on an iPhone.  (Anyone want to let me borrow a Mac OS X and iPhone?!)

Use the following link to find the free training.  It should either open iTunes and allow you to download the videos/PDFs, or it’ll prompt you to install iTunes.

http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu.2024353965.02024353968