From 894001398abcff839749cac251b1545126f4c406 Mon Sep 17 00:00:00 2001 From: John Culviner Date: Tue, 7 May 2013 22:13:15 -0500 Subject: [PATCH] Update README.md --- README.md | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9c8df6d..6e751dd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,23 @@ #Fluent Knockout Helpers Overview -##with Survey App Demo SPA using Durandal.js at _/demo/SurveyApp.sln_ - +##with a large Demo SPA using Durandal.js at _/demo/SurveyApp.sln_ + +##FluentKnockoutHelpers Benefits +- *Strongly typed* fluent lambda expression helpers similar to ASP.NET MVC's to painlessly generate knockout syntax +- Rich intellisense and compiler support for syntax generation +- Fluent syntax makes it a breeze to create custom helpers or extend whats built in +- Painlessly provides *validation* based on .NET types and DataAnnotations with one line of code for all current and future application Types +- Client side JavaScript object factory (based on C# types) to create new items in for example a list with zero headaches or server traffic + +##Durandal.js Benefits +- Provides a FRAMEWORK to ORGANIZE your Controllers, ViewModels, and Views in a single page application +- Implements common application paradigms (ex. modals, message boxes etc.) very easily with Knockout goodness baked in +- Opinioned enough to allow for consitant file organization and efficiently avoids 'JavaScript hell' +- Flexible enough to be easily extended and built upon +- Built on top of jQuery, Knockout & RequireJS so jQ Promises, MVVM, AMDs are baked in +- Handles Navigation, Routing and Screen State Management are baked in. +- Simple, effective app lifecycle events + +##Summary Knockout.js allows for a very powerful MVVM style binding that makes it very easy to create rich web applications very quickly and with little code. One downside coming from the world of .NET and strong typing is that Knockout bindings use lots of "magic strings". This is where FluentKnockoutHelpers comes in as an attempt to bring all the goodness of ASP.NET MVC-like property expressions to Knockout with a fluent twist. Instead of resorting to magic strings, no compile-time support and little intellisense when working with Knockout you can use FluentKnockoutHelpers to create property binding expressions just like how MVC does it for all the .NET defined types you are already using on the server to interact with your Knockout web client.