Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 681 Vote(s) - 3.46 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What are the advantages of using an MVC framework over e.g. Drupal to build a large website?

#1
I am writing a comparison between 3 technology options for building our new website:

* Wordpress
* Drupal
* An MVC framework

The boss is sure we should use Wordpress, but the site will be big, with many sections, subsections, pages, and complicated templates.

I'm finding it easy to compare WP + Drupal, but not so easy to state the additional advantages (over Drupal) of using an MVC framework.

So far I have:

* Custom data storage, content types, semantics
* APIs / REST
* Separation of logic / UI
* Convention, code structure

(Obviously some of the benefits will be different depending on the type of project. In this case it will be a large portal for a museum, with potential for some social stuff for visitors)
Reply

#2
You can't really compare WP or Drupal and MVC framework. What you *can* do is to decide whether to use an existing content-management system or roll out your own and compare ROI, TCO, development cost, etc.
Reply

#3
You can build a pretty extensible site based on WP or Drupal, but you may run into design limitations set based on what the frameworks were designed to do. Drupal/WP are content management systems at the core, so if you're not managing content, you're not using the framework effectively. If you find yourself building more and more code to get around these limitations, then you have cause to build from a scratch or use a lightweight framework.

I'm currently building a site with [CakePHP][1] MVC framework and I highly recommend it. IMHO, it satisfies all of your advantages.


[1]:

[To see links please register here]

Reply

#4
The flexibility of a CMS has a limit, though with Drupal that limit is getting smaller. There is a learning curve to accomplish what you want, and it might not be the most elegant solution if you have to fudge it together with existing extensions. Of course you can always expand the functionality of any CMS yourself, but that may take more time than using a good framework in the first place.

I had this same dilemna recently, and after trying with Drupal, eventually went with the CodeIgniter MVC PHP framework instead. Probably worth investing a few days with a CMS first, to investigate if it's possible. If you then decide it'll be too difficult, use a MVC framework instead.
Reply

#5
Microsoft ASP MVC (for example) is a framework for building your websites on, Drupal is a content management system where you "design" your pages but don't have to write any code.
Reply

#6
As someone who has worked on various home rolled CMS systems for the best part of the last decade my advice is don't roll your own. If you have some unique application then MVC is a nice way to code up web applications, but it's ease won't counterbalance the thousands of man hours spend building and millions of page hits of testing the OSS ones have.

Drupal is not only a nice CMS system but also is a pretty good framework for building bespoke web functionality, so you get a lot for free and only have to spend time working on what is unique to your site. (after you have learnt how to code on drupal systems)
Reply

#7
I would say the advantage of using an MVC framework to roll your own instead of using WP or Drupal are:

1. You only code what you need. WP and Drupal are gonna have lots of stuff you don't need sitting on your server.
2. The developers understand the whole codebase because they've written it from scratch - making it easier to maintain later.
3. WP is a big codebase (I don't know about Drupal) as soon as you require something that isn't supported by either CMS you are going to have to dig around a lot of code.
4. Wordpress' separation of logic / UI sucks - I mean really sucks.
5. More flexibility. CMSs are great as you don't try to make them do something they weren't intended to do - then they become a pain.

If you are going to push for an MVC framework then you need to look carefully at which you would choose - they are not created equal. Some of them will place restrictions on your code and website layout in the same way a CMS would.

I guess it's really down to how complex the requirements are and how well a CMS or framework will meet those. For relatively simple content delivery it may be an option to write your own lightweight MVC and build upon that.
Reply

#8
I reckon Drupal is MVC. Drupal uses a theming system which is your views and a menu system which is your controller. The modules are your models. Sure, the menu is fragmented into various modules but it's still basically MVC right?
Reply

#9
Thanks everyone for your answers. I made the case for using a Framework or Drupal, but it was decided that we should go with Wordpress, or at least start building on Wordpress and see how it goes.

FWIW here are the notes I came up with:


WORDPRESS / MU
--------------

[To see links please register here]

[To see links please register here]


A personal publishing tool, blogging platform

+ PHP +
+ Many available widgets +
+ Multi-author support / workflow +
+ Social features (BuddyPress) +
+ Integration (BBPress etc) +
+ Easy, common +
+ Simple UI +
+ Able to manage multiple blogs (with WordPress MU) +
- Only 2 content types (post or page) -
- Not a real "CMS" / blog mentality -
- Inflexible heirachy (no sections) -
- Limited semantics -
- Limited template choices for authors -
- Messy code -
- Security / exploits -


DRUPAL
------

[To see links please register here]


A content management framework, CMS construction kit, tools to build sites. For 'non programmers' to build websites, building blocks

* PHP +
* Made for big sites / portals +
* Social features built in (each user has own profile/log, extensible) +
+ Page type selection/config by authors (block system) +
+ Scope for structured data / semantics +
+ Multiple content types (press releases, news articles, blog posts, etc.) +
+ Good community / tools +
+ Blank canvas +
+ Many features +
+ Good image handling +
+ Complex UI -
+ "Black box", very abstract code, learning curve! -
+ Customizing / theming is difficult -

FRAMEWORK
---------
It allows you to design the exact web app you need from the ground up

+ Extensible +
+ Control of semantics, data storage +
+ APIs / Data / REST / Web services +
+ Current, modern tools, cutting edge +
+ Separation of logic/presentation (MVC design pattern) +
+ Convention - structured code, workflow +
+ Reuse/combine content +
+ Allows development of multiple UIs without touching business logic codebase +
+ Robust API / standards / patterns +
+ DRY (don't repeat yourself) +
- Learning curve -
- Need to design a custom UI -
- Overkill? (depending on goals) -
Reply

#10
Drupal has MVC Layer, check out Drupal Prometheus @

[To see links please register here]

. It has most of the features of a modern MVC framework plus the power of Drupal CMS. We recently started using it on a project for our client.
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through