|
My thread is more recent than 3 months ago , but yes , with MVC you are going to put allot of time into code that in asp.net is a simple property (for example paging)
Good news however in MVC4 your can already put asp.net server controls in which helps a lot. but the pattern still kinda screws you when it comes to hooking up events.
Thats why MVC for me is a nice try but not there yet
Same reason why i didn't use silverlight until it matured
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
Chona1171 wrote: What makes a programming methodology better for me ?
Speed of development. I have a cricket bat that could cure you of that opinion.
The best methodology is the one that best provides the user with what he needs.
Never forget:
-- You do not pay yourself your salary.
-- Your manager does not pay your salary.
-- His manager does not pay your salary.
-- The tossers in HR do not pay your salary.
-- The marketing department does not pay your salary.
-- Architects, COOs, CEOs, and everyone else who works for your company do not pay your salary.
It's the guy who buys your product who pays your salary, so no-one else's opinions or needs matter worth a damn, including yours.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
I'll step in and catch the cricket ball for him. It's okay. I'm wearing protective gear.
This is a highly idealistic, and thus often unrealistic, view of the world. Yes, ultimately the money in the payroll account comes from the guy on the streets who buys your product. If, of course, you're in the business of selling software. There is a huge amount of software development for companies who offer products and services which have nothing to do with software, but still depend on internal systems to keep the wheels turning.
Mark_Wallace wrote: The best methodology is the one that best provides the user with what he needs.
I would love it if this were true. However, in the world of business and commerce, it's not. The best methodology is one that delivers the functionality required to keep your company profitable, and does so fast enough to be effective. It doesn't matter how cool your app is if it never ships.
If the CEO takes your company down a path that prioritizes time to market over the way you'd like to do things and you resist, you're out of a job.
Your manager does not pay your salary out of his pocket. However, he gets to choose whether or not you can continue to stick around and keep receiving it. Alienate him by digging your heels in over unrealistic expectations, and you're out of a job.
The marketing department is responsible for the money in the payroll account. If you don't give them what they need to move the merchandise, you still have a job. You just don't have any money in the payroll account.
If you want to make a living as a professional software developer, the best methodology is the one that meets the needs of your company, not the one that adhere to your personal religion of software development. The company writes your check. Fail to meet its needs, and that will end. Abruptly.
You've been around a long time, man. You know that the way the world works isn't always the way it should work. Give the guy a break, and save the cricket balls for your next company picnic.
|
|
|
|
|
Christopher Duncan wrote: You've been around a long time, man. You know that the way the world works isn't always the way it should work. Sure, but the way it was phrased looked like "Whatever makes it easiest for me is best", and -- unless "me" is the customer -- I take pretty severe exception to that.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
I think this is one of those places where we could both be right. If his intent was screw everyone else, make my life better, I'd be inclined to agree with you. On the other hand, I've always been highly motivated to deliver the goods for the people who pay my bills, so the way I read that statement was, "Whatever makes it easiest for me to get the job done," which of course is a completely different perspective since it focuses on serving the guy who holds the checkbook, and my benefiting indirectly from that act.
Either way, I think cricket balls are inappropriate. Personally, I recommend light sabers.
|
|
|
|
|
Christopher Duncan wrote: I recommend light sabers. Cricket bats are heavier (there's a clue in the names).
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Swinging a heavy stick is a time honored practice dating back to ancient times.
Ah, a traditionalist!
|
|
|
|
|
Christopher Duncan wrote: Swinging a heavy stick is a time honored practice dating back to ancient times. Hey, Jedi-ism predates cricket by millennia!
If anyone's a Luddite, here, itsa ain'tsa meesa!
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
|
"It's the guy who buys your product who pays your salary, so no-one else's opinions or needs matter worth a damn, including yours."
Agreed but that does not help for jack when your release date is constantly pushed onwards , nor does taking longer unnecessarily push up income from a perviously agreed upon quote now does it ?
Now if a customer comes to me and expressly forces me to use a framework , sure I would be open minded to it , but when i discover the framework will take me longer , its the customers bank account that will feel it.
But can anyone , show up hands ? tell me that a customer dictates technology (unless they are a technology oriented firm themselves )
Chona1171
Web Developer (C#), Silverlight
modified 16-Oct-13 9:05am.
|
|
|
|
|
Like you, I'm optimized for development speed. However, our company has one heavily database oriented app that suffers significant performance problems, enough to disrupt operations. I want to get it done quickly, but it also needs to hold up under a heavy load.
I'm not sure if MVC is the silver bullet many think it is or not, but I'm open to considering it.
|
|
|
|
|
Good design would be a way to go ,
1. If you database is massive try checking that hard disk contention is not the problem , try splitting your tables across different drives.
2. Use paging when accessing large quantities of data .
3. Design a solid data layer that tightly wraps with business logic
4. If your Web requests are taking a knock, try distributed computing (Quite a tricky one but easier with IIS)
All these are achievable through both methodologies , but with MVC you are going to sit longer on developing interfaces
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
The things you mentioned are all solid basics that apply to pretty much any platform. While it's not my project, I think they have a concern with the weigth of viewstate (it's a global app and not all countries have good Internet speeds) and things of that nature.
|
|
|
|
|
Well did you know you can make the viewstate the server's problem
Yes some pages kicks out an insane amount of viewstate , but with simple code you can hide your viewstate in a session , never to be seen by the page again.
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
My general impression is that in order to really gain the performance benefits of mvc, I'll need to shift a lot of my logic from a server side / postback paradigm to lots of javascript handling it in the client. While that would eliminate a lot of round trip hits, not wild about javascript coding.
|
|
|
|
|
that also makes the advantage of unit testing a bit more clunky , javascript is a pain to debug . and still the bottom line is that you can achieve the exact same results in asp.net using javascript
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
Yeah. Thus far I'm not terribly excited about moving to mvc, but I'm trying to keep an open mind so as not to miss out on any benefits just because it's not what I'm accustomed to.
|
|
|
|
|
For now my opinion is "its not there just yet"
give it a few releases, my scenario is "leaving a treasure chest of Gold"(Asp.net), for a "few ounces of platinum"(MVC)
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
Christopher Duncan wrote: not wild about javascript coding
F***ing understatement - in 4 years of silvelight LOB apps I have not touched the horrible stuff, now I have to start relearning it all over again because the javascript I use in the 90s has morphed into something else.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Yeah, dig it. I still don't know why, twenty years on, someone hasn't written a cross platform runtime application that would allow us to write client applications via that framework. After all, a browser is nothing but a cross platform app with a crappy development infrastructure. Why couldn't we do something real, that would allow us to return to the power of client side computing?
|
|
|
|
|
Heres some code you can use in your asp.net page
protected override object LoadPageStateFromPersistenceMedium()
{
object viewStateBag;
string m_viewState = (string)Session["ViewState"];
LosFormatter m_formatter = new LosFormatter();
try
{
viewStateBag = m_formatter.Deserialize(m_viewState);
}
catch
{
return null;
}
return viewStateBag;
}
protected override void SavePageStateToPersistenceMedium(object viewState)
{
MemoryStream ms = new MemoryStream();
LosFormatter m_formatter = new LosFormatter();
m_formatter.Serialize(ms, viewState);
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
string viewStateString = sr.ReadToEnd();
Session["ViewState"] = viewStateString;
ms.Close();
return;
}
however it just need some minor adaptations to account for when a user opens more than one page at the same time (you may run into corrupted state problems)
What I do is I cancatenate a string to the veiwstate id Session["ViewState"+hashkey]
and i generate the hashkey by using a SHA hash alogoritm with the current url as input , and a whipe the session on page not IsPostback
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
|
thank you for the share, I will definitely look into this , it looks interesting
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
Christopher Duncan wrote: However, our company has one heavily database oriented app that suffers
significant performance problems, enough to disrupt operations. I want to get it
done quickly, but it also needs to hold up under a heavy load.
Technology isn't going to solve that problem nor provide a solution.
|
|
|
|
|
I would say if you are using any kind of visual designer to build web pages, you are doin' it wrong.
Even the best tools suck at it, and it would never be scalable to different sizes.
|
|
|
|
|