OK, I've tutorialed myself to death (MVC4 latest) AND mocked up most of a site using the new VS11 Powerpoint Storyboarding . . . but now what??? Presumably
Devise "models" from .ppt mocks for use setting out Model classes with properties (into Models folder of an MVC VS solution).
Create controller(s) for above using templated scaffolding for views and controller CRUD (with EF auto generating required dbase, tables, fields via DbContext & <connectionString>).
Implement null check in controller, validation and DataType annotations in models, play with views .css and . . .
. . . . now correct me if I am missing something, but I now have a non-normalized database (based primarily on "ModelView" specs) and "obscured" EF/Linq code all of which is an impairment to on-going development/scalability. Oh and don't forget a non-wysiwyg
non-intuitive (vs Webforms) front end that I need learn jQuery to do pretty much anything with????
I'm not trying to be cynical but literally where does one go from here -- and/or isn't there a better "pattern" (heck, I'm thinking web form instead of powerpoint to a database that can be kludged on the fly then normalized to form the basis for an MVC site
if necessary).
but I now have a non-normalized database (based primarily on "ModelView" specs
It's not necessary. The database can be normalized - or not. The ModelView could persist himself to the database or not - MVC is agnostic about this. Please see http://msprogrammer.serviciipeweb.ro/2010/03/29/asp-net-mvc-orm-and-viewmodels/ - and how to
reuse in Console application same ModelView. More, the database could be NoSql too...
ThanksInAdvance
and "obscured" EF/Linq code all of which is an impairment to on-going development/scalability.
Nothing stops you to use ADO.NET or XML files or text files or ...See previous link.
ThanksInAdvance
non-wysiwyg non-intuitive (vs Webforms) front end
Ok. That's the only valid point. However, I usually test my sites in 2 browser - IE and FF. I do not test in VS browser.
ThanksInAdvance
I need learn jQuery to do pretty much
MVC is a barebones to HTML and Javascript. And yes, for each WebDeveloper( PHP, ASP.NET, and so on) javascript is a must. After javascript, you will love jquery (or any other framework - mojo, dojo, and so on).
And , about maintainability / testing MVC is over WebForms with a big giant step...
Oh and don't forget a non-wysiwyg non-intuitive (vs Webforms) front end that I need learn jQuery to do pretty much anything with????
No - you need to learn HTML.
Incidentally, what benefit do you hope to get from using MVC? If you can't answer that question for yourself, then stick with Web Forms. Don't use MVC just because you think you should.
-- but as soon as any changes are made to the model or database the EF reports an error. Thus it's solely short term gain for long term pain isn't it?
Look, I understand the trade-offs in abstraction, scaffolding etc but all the tutorials advocate a system that -- and this is a very much newbie perspective -- seems primarily designed to create tutorials (err, trivial/simplistic apps). What I'm getting
at is how to experienced developers go about it? Mockups obviously need be first, but then database and then middle layer to UI seems more productive (albeit based on my pre-existing knowledge of dbases which I realize many programmers do not have).
And , about maintainability / testing MVC is over WebForms with a big giant step...
UNDENIABLY (and I speak never having gotten to those stages in any app). My frustration I guess is that getting to that stage "seems" so much easier being able to drag and drop components onto a "stage" (spaghetti code be damned).
as soon as any changes are made to the model or database the EF reports an error. Thus it's solely short term gain for long term pain isn't it?
OK. Now you are talking about EF - and this is another question, not an MVC one. You will have the same no matter Desktop, console, WebForms , WindowsService, WPF and so on. What I am talking about is that MVC forces you to think about ViewModels - not about
database persistance.
ThanksInAdvance
What I'm getting at is how to experienced developers go about it?
I am quoting myself as a learning developer. But my way is:
1. Understand the Business requirements
2. Approve the GUI ( sample design) with the business
3. Make a ViewModel to the GUI.
4. Persist the ViewModel to the database and retrieve it
5. Add Business Rules to the ViewModel. If I have time, make tests.
I've tried building non-trivial apps and run into the spaghetti code dilemma so "think" MVC will be easier
MVC doesn't magic away spaghetti code. You can have just as much fun writing a shockingly badly designed MVC app as a Web Forms one. When you understand how to prevent spaghetti in the first place (Web Forms or MVC) then you'll understand what benefits MVC
offers and when it's the better choice.
MVC forces you to think about ViewModels - not about database persistance
Correct me if I am wrong but by ViewModels you mean the "Models" in oh lets call it the Models folder of the Visual Studio App right? (specifically I just looked through an older MVC demo tutorial which advocated creating -- supplementary to the Models folder
-- a ModelViews folder, as near as I can tell largely for repository type functionality).
OK, I want to say I very much appreciate all above feedback.
And I realize I am being petulant at the very least. BUT what this thread has helped me realize is I don't want to learn jQuery nor Linq. Rather than becoming a jack of all trades (and master of none) I WANT to
1.) Mock up a GUI (deducing biz logic at the same time)
2.) Create a normalized database for it with Stored Procedures to handle/deliver specific "data requirements" for each function
3.) Build the .Net web server middleware logic to process/transfer these data units
4.) Pay someone expert in it to "jQuery/async" the GUI.
What I can't figure out though is whether this is a pipedream leading to another dead end.
ThanksInAdva...
Member
8 Points
13 Posts
App Development Process
Mar 31, 2012 01:11 AM|LINK
OK, I've tutorialed myself to death (MVC4 latest) AND mocked up most of a site using the new VS11 Powerpoint Storyboarding . . . but now what??? Presumably
. . . . now correct me if I am missing something, but I now have a non-normalized database (based primarily on "ModelView" specs) and "obscured" EF/Linq code all of which is an impairment to on-going development/scalability. Oh and don't forget a non-wysiwyg non-intuitive (vs Webforms) front end that I need learn jQuery to do pretty much anything with????
I'm not trying to be cynical but literally where does one go from here -- and/or isn't there a better "pattern" (heck, I'm thinking web form instead of powerpoint to a database that can be kludged on the fly then normalized to form the basis for an MVC site if necessary).
Thanks in advance for all feedback/perspectives.
ignatandrei
All-Star
135047 Points
21654 Posts
Moderator
MVP
Re: App Development Process
Mar 31, 2012 03:59 AM|LINK
It's not necessary. The database can be normalized - or not. The ModelView could persist himself to the database or not - MVC is agnostic about this. Please see http://msprogrammer.serviciipeweb.ro/2010/03/29/asp-net-mvc-orm-and-viewmodels/ - and how to reuse in Console application same ModelView. More, the database could be NoSql too...
Nothing stops you to use ADO.NET or XML files or text files or ...See previous link.
Ok. That's the only valid point. However, I usually test my sites in 2 browser - IE and FF. I do not test in VS browser.
MVC is a barebones to HTML and Javascript. And yes, for each WebDeveloper( PHP, ASP.NET, and so on) javascript is a must. After javascript, you will love jquery (or any other framework - mojo, dojo, and so on).
And , about maintainability / testing MVC is over WebForms with a big giant step...
Mikesdotnett...
All-Star
154927 Points
19867 Posts
Moderator
MVP
Re: App Development Process
Mar 31, 2012 07:51 AM|LINK
No - you need to learn HTML.
Incidentally, what benefit do you hope to get from using MVC? If you can't answer that question for yourself, then stick with Web Forms. Don't use MVC just because you think you should.
Beginning ASP.NET Web Pages with WebMatrix | My Site | Twitter
ThanksInAdva...
Member
8 Points
13 Posts
Re: App Development Process
Mar 31, 2012 04:36 PM|LINK
Look, I understand the trade-offs in abstraction, scaffolding etc but all the tutorials advocate a system that -- and this is a very much newbie perspective -- seems primarily designed to create tutorials (err, trivial/simplistic apps). What I'm getting at is how to experienced developers go about it? Mockups obviously need be first, but then database and then middle layer to UI seems more productive (albeit based on my pre-existing knowledge of dbases which I realize many programmers do not have).
ThanksInAdva...
Member
8 Points
13 Posts
Re: App Development Process
Mar 31, 2012 04:41 PM|LINK
UNDENIABLY (and I speak never having gotten to those stages in any app). My frustration I guess is that getting to that stage "seems" so much easier being able to drag and drop components onto a "stage" (spaghetti code be damned).
ThanksInAdva...
Member
8 Points
13 Posts
Re: App Development Process
Mar 31, 2012 04:46 PM|LINK
I suppose, it's that I've tried building non-trivial apps and run into the spaghetti code dilemma so "think" MVC will be easier
ignatandrei
All-Star
135047 Points
21654 Posts
Moderator
MVP
Re: App Development Process
Mar 31, 2012 07:59 PM|LINK
OK. Now you are talking about EF - and this is another question, not an MVC one. You will have the same no matter Desktop, console, WebForms , WindowsService, WPF and so on. What I am talking about is that MVC forces you to think about ViewModels - not about database persistance.
I am quoting myself as a learning developer. But my way is:
1. Understand the Business requirements
2. Approve the GUI ( sample design) with the business
3. Make a ViewModel to the GUI.
4. Persist the ViewModel to the database and retrieve it
5. Add Business Rules to the ViewModel. If I have time, make tests.
6. Make the GUI participate to 4.
7. Show the Business the GUI.
Mikesdotnett...
All-Star
154927 Points
19867 Posts
Moderator
MVP
Re: App Development Process
Apr 01, 2012 07:10 PM|LINK
MVC doesn't magic away spaghetti code. You can have just as much fun writing a shockingly badly designed MVC app as a Web Forms one. When you understand how to prevent spaghetti in the first place (Web Forms or MVC) then you'll understand what benefits MVC offers and when it's the better choice.
Beginning ASP.NET Web Pages with WebMatrix | My Site | Twitter
ThanksInAdva...
Member
8 Points
13 Posts
Re: App Development Process
Apr 02, 2012 08:11 PM|LINK
Correct me if I am wrong but by ViewModels you mean the "Models" in oh lets call it the Models folder of the Visual Studio App right? (specifically I just looked through an older MVC demo tutorial which advocated creating -- supplementary to the Models folder -- a ModelViews folder, as near as I can tell largely for repository type functionality).
ThanksInAdva...
Member
8 Points
13 Posts
Re: App Development Process
Apr 02, 2012 08:23 PM|LINK
OK, I want to say I very much appreciate all above feedback.
And I realize I am being petulant at the very least. BUT what this thread has helped me realize is I don't want to learn jQuery nor Linq. Rather than becoming a jack of all trades (and master of none) I WANT to
1.) Mock up a GUI (deducing biz logic at the same time)
2.) Create a normalized database for it with Stored Procedures to handle/deliver specific "data requirements" for each function
3.) Build the .Net web server middleware logic to process/transfer these data units
4.) Pay someone expert in it to "jQuery/async" the GUI.
What I can't figure out though is whether this is a pipedream leading to another dead end.