I have a lot of experience developing rich WPF applications (for CRM scenarios). I am a single developer and use Visual Studio with a TFS for revision control. I have build a Framework which automatically takes care of the most basic tasks for me. To start a new (WPF) Application project all i have to do is:
- create a new project
- include references to my function libraries
- defining the data structure in an XML file
- inherit the new application Class from my custom Application class
My libraries include functionality for
- backend creation and connection
- a Main Window with user login and administrative/configuration options
- custom controls
- custom scheduling system for background task
- etc. etc.
Every development step from that point out is specific to the current task/costumer/product. I can concentrate 100% on modeling and creating custom ui Pages for special purposes - an average project can contain as little as 100 lines of unique code. If i stumble over any reusable functionality whatsoever, i add that to my libraries. I can deploy and update all Projects with literally one click. This enables me to handle many projects as a single developer.
My question is: how much of that "developing experience" can (I) translate to ASP.NET development.
I am uncertain of this because of the mix of technologies Javascript(jQuery)/HTML/VB.NET(or C#) I am familiar enough with each of the languages and feel able to be working effectively with Servicestack after a little learning by doing. But my biggest concern is: will I have just as much reusability as with my WPF development setup.
My biggest, dealbreaking-if-not-met goals are:
- not ever "physically" copy any functionality - everything has to be linked from libraries
- have a reusable "Main Page Layout/Setup" with login functionality - this also has to be in a library!
- never leave Visual Studio as a Development environment
All my models/function libraries that i need to rely on (backend functionality and utility functions) are developed in .NET 2.0
Thank you very much for your input!
Edit for clarification: I am not looking for the "Template" functionality of Visual Studio. I am well aware of this and using it where appropriate. This is not enough for me as changes/improvements/expansion of my libraries have to be reflected in all Projects - this also holds for the "Main/Start Page" functionality.
The built-in ASP.NET Templates from Visual Studio are actually a great example for what i do not want. They produce a very specific setup for your "new" application with a lot of autogenerated code - i.e. "physically copying" this code from a template to adjust to your needs.
What I want to do is every time when i start a new Project:
- start on an "empty" ASP.NET Project
- Create neccessary Cloud services (hosting/database/buckets) etc. in Azure (which VS incorporates very nicely)
- include my needed libraries (that for example in turn include the neccessary servicestack libraries)
- start modeling/designing specific needs for the new project