Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'ve been hearing a-lot about the \"new\" MV* frameworks. I\'ve tinkered with K

ID: 646965 • Letter: I

Question

I've been hearing a-lot about the "new" MV* frameworks. I've tinkered with KnockoutJS, creating an invoicing application, but I much prefer to write clean, modular code in raw JavaScript - leveraging utility APIs and other libraries when necessary.

Given a methodical/structured/SOLID approach to writing a JavaScript application, where OOP, SOC, SRP and other design principles are adhered to, wouldn't the usage of MV* frameworks be superfluous?

Are there any articles that express/address these concerns?

I've found one in the past

note - i've migrated this question from SO to this site, as its more appropriate for this audience.

Explanation / Answer

Clean code always trump any architectural models, in that if you give me the choice of clean, understandable code that's not written in a MVC way, or nasty convoluted code that does fit in a MVC way.. I'll take the former.

there are disadvantages to these things. John Gossman said of MVVM (the WPF model-view-viewmodel version of MVC) that it is overkill for small projects, and the complexity of designing it can be too much for large projects. He also said the resource usage can make it unsuitable for medium sized projects too :)

So separation of code into presentation, logic and data tiers in some way is a good thing, makes your code simpler to write, and allows you to manage each section in isolation. Whether that means you must use an existing MVC framework is another matter however, as Gossman said, your exact requirements for your project may be different enough to those defined for a MVC framework to make that framework more trouble than its worth. As always, there's no silver bullet.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote