开发者

I need advice regarding web site development platforms and frameworks

I am developing a kind of social network web site.

I need to decide on which platform (ASP.NET MVC, PHP, Ruby…).

I am also considering the use of out-of-the-box solutions as DotNetNuke, 开发者_运维问答Drupal, Joomla and so on.

My natural drive was to go with ASP.NET MVC 3 (with Razor view engine), since I am experienced .NET developer (not web) and it seems like a fun to learn.

But, I guess there are out-of-the-box solutions that will probably shorten the development time significantly.

Of course there is a matter of speed versus gained experience and fun (which I need to figure out with myself).

I will be very happy to get any advice on the matter.

Cheers,

Doron


As you describe in question that you are already have experience in .net that ASP.NET MVC is best for you.

ASP.NET is a great but it's not enough for making a website so other thing you need that

jQuery for javascript development [opensource] MySQL for Database management [opensource]


There are some missing informations on what exactly you're trying to achieve.

A social network website is a pretty large subject. In your question you forgot to mention where you were planning to store your datas. What platform are you going to use for server.

Will it be a Unix(linux, bsd, macos, solaris...) server or a Windows server.

You could use a SQL database or a NoSQL database for datas. In case of social networks it makes more sense to use a NoSQL database (document oriented database).

As for the language, you have to choose one that fits you well but also works for your database.

Complete solutions

As I don't know what you're aiming for, there are chances that you can go well with things like drupal. You'd have to see if all the modules you need are there. Then you'd have to define a theme if needed. But to be honest after playing around with drupal. I would say that if you need to do anything that requires lots of modules. It might be a better idea to build something by your own using a framework.

Frameworks

What's right with frameworks is that they're often quite simple and let you work on the important stuff without redoing from crash. For exemple, I did websites in python using the pylon frameworks. What I loved about this framework is that it doesn't enforce anything. You can use different database, different template engine if any. All the framework does is handling requests and redirecting them to the right controller.

What is really nice about frameworks is that they let you do complex stuff that complete solutions can't do very easily. But on the other hand you can mess everything up if you're not careful.

Here's a list of things you should have a look at:

SQL databases: Mysql, Postgresql

NoSQL databases: MongoDB, CouchDB

Python frameworks: Pylons, TurboGears2, Tornado, Flask

Ruby frameworks: Rails

PHP frameworks: Symfony, CakePHP


I have not personally used all of your options but Joomla, so I cannot say if it is better or not.

Joomla!

One major thing that makes Joomla so flexible is the fact that you may install, plugins, components and templates created by others. So if your missing a feature it has likely already been created and you can install it with absolutely no programming knowledge. On top of that Joomla and all of your installed extras have an Administrator interface where you or other non programmers may edit the site with ease.

In turn you can almost create a whole website without any programming knowledge but I would recommend some markup and CSS knowledge. Programming is just a major bonus.

Social Networking

In your case as a social network kind of site I find Joomla a great choice. Right off the bat users can create and manage their accounts. This includes email verification and such. They may even create articles for others to see. You and your users may create and edit information using a rich text editor based on javascript, you may use the one the comes with Joomla or you may install An other one. You may also disable and enable features of the editor for the Site and Administrator interface seperately. Also I believe that access levels and groups are important in Social networking Joomla has a built in system for this too. If you need your site to be in multiple languages then Joomla has you covered but my may also check out the JoomFish component.

Social Networking and JomSocial

If you really want to go fancy (and I'm sure you do) there is a component for Joomla named JomSocial. This component is a system created for social networking purposes. It has features such as friends list, new users, popular users, and the possibility to install plugins and modules for it. Surprisingly it comes with a flash based video chat system too. I even used a plugin for JomSocial that provides a Facebook type of chatting system.

JomSocial also has an administrator interface.

Programming

Since you have no experience in PHP, Joomla enables you to create without you needing to open any source code. Eventually when you are comfortable with your creations and want to improve on them, then you could start poking around in the PHP code.

It mainly runs on:

PHP, MySql and Mootools


I'm going to point you to Drupal Commons by Acquia, it's a distribution of Drupal 6 that is an out of the box social collaboration tool. It would be a great way to evaluate Drupal's flexibility/capabilities/contrib-modules for your purposes (which are slightly vague at the moment):

http://acquia.com/products-services/drupal-commons


You should definitely take a look at ActiveSocial. It's a very well-built and extensible Social Networking solution for DotNetNuke. It's built by one of the best DNN module development companies, ActiveModules. (I'm not affiliated with ActiveModules.)


The question depends significantly on the details of what your new social network idea is. If it's close to one of the existing open source products, it would seem sensible to start there - as you'd be redoing masses of work, otherwise.

However, if your new product is totally unique (and not too complex), then it might make sense to start from scratch and, in that case, I guess going with what you know isn't a bad idea.

Have you seen DIASPORA*?


Considered using Ning? It's hosted, but it's a good place to start building an audience and test out your idea before you spend a ton of time on custom development. http://www.ning.com

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜