Web dev that's as smooth as Silk... Project Silk


Given that I don't cover web based projects, like MVC, ASP.Net, HTML5, JavaScript, jQuery, etc, much and the price of gas (you'll see how that relates in a second), when I saw this I knew I had to post on it. Shout-out to Karl Shifflett for his Project Silk Drop 8 post.

patterns & practices: Project Silk


Project Silk provides guidance for building cross-browser web applications with a focus on client-side interactivity. These applications take advantage of the latest web standards like HTML5, CSS3 and ECMAScript 5 along with modern web technologies such as jQuery, Internet Explorer 9, and ASP.NET MVC3.

To illustrate this guidance, the project includes a reference implementation called Mileage Stats that enables its users to track various metrics about their vehicles and fill-ups. Much of the effort in building Mileage Stats was applied to the usability and interactivity of the experience. Animations were included to enhance the enjoyment of the site and AJAX is used to keep the interface responsive and immersive. A great deal of care was also taken to ensure the client-side JavaScript facilitates modularity and maintainability. To accomplish these design goals, the JavaScript code was structured into “widgets” that benefit from the jQuery UI Widget Factory.

About the Mileage Stats RI

The Mileage Stats RI is a multi-page interactive web application where the pages are rendered without requiring a postback. This creates the illusion of a desktop application. The lack of postbacks enable rich UI transitions between states (pages.) The browser application runs very fast because of the client-side data caching.

The Mileage Stats RI JavaScript is modularized using jQuery UI Widgets. The widgets allow breaking the UI into small discrete stateful objects; providing a clean separation of responsibilities and concerns. See the Widget QuickStart (included with the latest download) for an example application that uses the jQuery UI widget factory.


Included in the drop are all the instructions you'll need to get this project up and running on your machine;


Yeah, I know it looks like allot, but given the dependencies, libraries, scope and such for this project, it's actually not bad. Plus it's all spelled out in detail making following it easy (even for a pretty much non-web dev guy like me Wink

Once you get everything installed and downloaded the project should run just fine for you [insert "well at least it runs on my machine" statement here]

Here's the solution running on my notebook;



One nice touch for those of us playing with this is that the Sign In/OpenID is currently mocked out, meaning you can log in as a sample user and not with a "real id"


Looking for some CSHTML? There's a a bunch. Data via a repository pattern. Check. MVC, controllers, models, etc? Lots. Unit testing? Oh yeah.

There's just an official metric ton load of both client and server code in this project to check out, all of it just waiting for you...



The Discussion

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.