One Microsoft Access developer's search for an exit path from Access into .Net development led him to Microsoft Silverlight and MVC2. If you're serious about adding technologies to your toolkit, are looking for a web solution or just something new, Silverlight or MVC2 might be it.
My February 2010 article about how Microsoft
Access still rocks for developers got more feedback, positive and negative,
than I ever could have anticipated. I understand both sides of the argument and
while I love Access as a development tool, I recently began looking for an exit
path. My research has led me to believe the path I'm seeking is Microsoft
Silverlight and MVC2. Why do I like this path?
2. The time
learning curve is doable
New Technologies Rock
I've been programming with
Microsoft Access since 1995 which means I was actively writing code in January
of 2002 when the .Net platform came on the scene. I was determined to be part
of the revolution but it just never came together for me. I built a few ASP
.Net apps and some Web Services but I kept gravitating back to Microsoft Access
to build user interfaces connecting to data in SQL Server. I did a fair amount
of classic ASP but the Dot Net paradigm just didn't resonate with me.
A few months ago I started
investigating ASP .Net MVC 1.0 and was pleasantly surprised. According to the
ASP .Net MVC, the Model-View-Controller pattern has been around since 1978
and was popularized in the Ruby on Rails framework. As legend has it, Scott
Guthrie was instrumental in getting Microsoft MVC rolling in 2007. Scott
contributed to the book mentioned above, where the pros and cons of MVC verses
Web Forms are discussed at length. To make a long story short, the discussion
convinced me that while I may not have been able to get excited about Web
Forms, MVC is something I could embrace.
Just as I was getting up to
speed on MVC 1.0 the .Net 4.0 Framework was released which included MVC 2,
Silverlight 4 and much more. Just as I thought I had a clear exit path from
Microsoft Access via MVC technology, other likely candidates suddenly appeared.
The list of possibilities for Access developers seeking an entry point into
.Net development now includes the following:
- WPF (Windows
(subset of WPF)
WPF is effectively a framework
for developing Windows applications, which, while technically cool, was not the
direction I was aiming at. If I want a Windows solution, I'll use Access 2010.
What I'm looking for is a web solution.
I'm not sure where Dynamic Data
fits in, but it's described as a tool for creating data-driven web apps without
writing any code. While this isn't what I'm looking for, it very well may be of
interest to Access developers who wish to "publish" data to the web.
The examples I saw were simple and straightforward.
Silverlight has been around for
years but I thought it was just Microsoft's glorified substitute for Adobe
Flash. It may have been little more than that two years ago but it's evolved
into a valuable tool for application developers.
Both Silverlight and WPF use
XAML (eXtensible Application Markup Language) to create the UI. Some have
compared Silverlight to Adobe Flash and maybe the comparison is valid, but
Silverlight goes way beyond Flash with respect to performance and toolset.
Silverlight apps run in the browser and require that a 5 MB plug-in be
downloaded and installed first.
the thing: Silverlight applications can run in a variety of browsers, or
optionally may run out-of-browser (OOB) like a traditional desktop program. At
the Visual Studio Launch, there was a demonstration of a Windows Phone
application written in Silverlight. Moreover, these are not just fluff and
media but real-time data apps. A technology called WCF RIA Services provides a
framework for connecting to a remote data source with two-way mode
The Time Is Right
The time has never been better
to make the switch from Microsoft Access to .Net alternatives. In fact,
Microsoft wants you to take the plunge and they are willing to help. They
initiated a program called WebsiteSpark, through which developers seeking an
entry point to development with new Microsoft technologies can get Visual
Studio 2010, and other software, at no cost today. The program does require a
$100 exit fee at the end of the three-year program and the user agrees to write
at least one web application hosted on a Windows Server but that's it!
Now I'm not a lawyer, nor am I
an expert about WebsiteSpark, but the way I read the website's FAQs, we Access
developers are exactly the kind of people they had in mind when they set up the
program. It reads, in part
is designed to ignite the success of professional Web developers and designers.
The program enables you to get software, support and business opportunities
from Microsoft at no upfront costs for 3 years or exit from the program.
tells me that MVC 2.0 and Silverlight 4.0 are the right "next
technologies" for Access developers who want to try something new.
WebsiteSpark will provide you the tools you need today, virtually for free. All
that's left is to learn how to do it.
The Learning Curve
I'm not going to lie to you and
say it will be easy, because won't. However, I don't think the learning curve
to Silverlight (or MVC) is as steep for Access programmers as was the move to
ASP .Net and Web Forms. In fact, some of the binding paradigm used is
reminiscent of Access bound forms. It's just the plumbing and the XAML
presentation you need to learn. What's more, there is a cornucopia of resources
to help you.
For example, consider the
rather complex form below. It includes a data grid connected to the Album
table, a paging control, a busy indicator and a child/detail form that is
synched with the selected grid row. I built this app by following an 18 minute
video from the Silverlight site.
Access developers should notice
that the data grid (read datasheet here) is connected to a "query"
named AlbumListing through the Binding attribute of the Grid control. This is
like the RecordSource property in an Access form. Each column of the grid uses
the Binding attribute to set the Text property, which is akin to the
ControlSource property for the controls on an Access form. The paradigm is very
close to what we Access developers are already familiar with.
Below is how the XAML is
resolved into a user interface. We're spoiled by how Access takes care of the
INSERT, UPDATE and DELETE methods without the need to write any code. While
Silverlight isn't quite that automatic, with the help of RIA and Domain
Services it is greatly simplified. The full explanation is beyond the scope of
this article but you can see from this screen shot below how much one can
accomplish from watching a brief video. It's truly amazing!
There are a number of technical
books for Silverlight that have not been released yet. I may get the
opportunity to review the Wrox books and if I do, look for a future article on
the topic. The books currently available are either based on Silverlight 3 or
were a little disappointing, so I suggest looking to online resources, such as
Scott Guthrie's Blog
WCF RIA Services Video
Channel 9 MSDN
currently exploring the Pluralsight (http://www.pluralsight-training.net)
online training website's Silverlight course. What I've seen so far is helpful
but not enough to make one proficient. The site includes different kinds of
resources so it deserves a look but it's not my first choice for training.
MVC Self-Paced Training
The first place to look for
training resources, specifically for MVC, is the Nerd Dinner Sample
Application. Below are links to the code download and the free chapter that
explains it step by step. You can see a live running version at the Nerd Dinner website. The source code is
also available and the first chapter is available for download.
have two MVC books on my desk that I haven't had time to get to yet. One is a
version of the Wrox MVC book mentioned above. The other is an O'Riley book
named Programming Microsoft
ASP.Net MVC by Dino Esposito from Microsoft Press.
It's Cool Stuff!
For over a decade, Access
developers have been seeking a way to publish their databases on the web. I
took the Classic ASP route, which was a lot of fun but lacked both framework
and security. Access Data Pages appeared
and disappeared without anyone
noticing. Publishing to SharePoint was made possible with Access 2007 and is
greatly enhanced in Access 2010 but by its very nature it requires you have SharePoint,
which limits its application.
So, it's only natural that once
I started playing with Silverlight my thoughts returned to the idea of
publishing Access databases on the web. The question was, can Silverlight
and/or RIA Services connect to an MDB file for data? A quick Google search
revealed that it could. Again, the scope of that particular solution is beyond
this topic but rest assured that the trail has been blazed.
If you've read this far, you
must be serious about adding technologies to your toolkit. I'm not a prophet
and I don't have special insight into the future but I believe Silverlight will
be around for a while. What's more, I have confidence that I can quickly get up
to speed with Silverlight and once I'm comfortable, MVC development is just a
hop away. As early as 2011 I could already be transitioned from Access to Dot
Net. If you're looking for something new, Silverlight or MVC2 might be it.
See All Articles by Columnist