What languages and framework should I use to build my company's website?
Is there any specific framework I should build the site upon and what languages should I be using (php, html, etc.)? Are there any websites that can guide me through the process of how to formulate its architecture? Can you recommend any websites in general that may help me?
Thanks in advance!
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$6 Answers
I can't really add anything to want the guys above me said. They're spot on. There are so many answers to this question that it's impossible to answer without further info. But here's some links to web development/design resources you might want to try:
http://www.w3.org/TR/WCAG10/
http://www.w3schools.com/
http://www.sitepoint.com/subcat/design-principles
http://sitepoint.com/forums
http://www.sitepoint.com/forums/showthread.php?t=47900
http://www.sitepoint.com/forums/showthread.php?t=457606
http://www.webpagesthatsuck.com/
http://www.alistapart.com/topics/code/css/
http://www.alistapart.com/topics/code/htmlxhtml/
http://csszengarden.com/
http://en.wikipedia.org/wiki/Web_content_management_system/
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$If the site is fairly static. You can just use HTML and CSS. However, it is a lot easier to use a Content Management System (CMS). The most popular are Joomla and Drupal.
You can also use a Blog platform, like Wordpress. It is actually simpler to manage then a CMS, but it will be harder to extend if you need unforeseen features in the future.
I would suggest just deploying a CMS, most web hosting will have the CMS a ready made install. So you can just fill in the site name, and it will create it for you. If not, ask the host specifically. The Cpanel hosting control panel comes with Drupal, Joomla and Wordpress. It is the most popular control panel. So ask for CPanel if you haven't already got your hosting. Plesk is also popular and I believe also has the same.
Extending a CMS requires an initial learning curve, to learn the CMSs framework and API. The good thing is most times you don't need to extend it, it already has contact forms, creating of pages etc. which is probably the only things you need.
Joomla and Drupal also have many existing Extensions that are also Open Source.
You can also just install templates for your CMS. Which beats creating your own. Then just modify the template to suit your company. There are many developers out there that will create custom templates also. So you can find this type of help readily.
Good Luck.
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$One thing to consider is using PHP include() to create the boilerplate and template code so you can easily change out the content.
If you are going to run specials, or you are going to promote your services by making announcements, writing articles, or anything that requires at least an update once a week, you should consider using a framework like Wordpress or Drupal.
Architecturally, the main thing with your site is driving customers to your cash register. Just like with a store layout, you should do real testing, find out the conversion rates from someone who just sees your page and someone who orders your service. One way to do this is through A/B testing, where you randomly service two versions of the site and test which one gets better response rates. There are frameworks available for this too, but I don't know them off-hand. It is possible to build them into Drupal or other CMSs. Simply asking your friends or colleagues "which looks better" is not enough, since none of them are potential or actual customers.
In reply to some of the other answers here and your own reply: CMS are not used for a sites with a lot of social activity. They are used to help non-geeks update their websites without having to go through tech support. If you are a retailer and suddenly found this cheap product that you want to push that day and only that day, going through tech support may delay it to the point that, by the time you have the updated content up there, the opportunity is already gone.
Likewise, if you are going to do a lot of A/B testing, it is much more practical to use a CMS, since you can track each individual page and changes during the testing period.
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$Since you are planning on using a fairly static site, you will probably need to stay with html, while using css for the design. The old way to do things was to use html and tables to format where you want the content. The better way is to have a style sheet (css) which determines where objects will be placed on any given page. You can then keep the areas static, all while changing the content within on a separate page.
You could also use a framework or content management system (CMS), such as wordpress, drupal, joomla or many others which allow you to design or modify a template. All of the CMS based sites use a combination of html, css and php. Once you implement the CMS on your server, you can then edit and update it more easily with new content from within site itself. You can also update it from a program which allows you to post to different content management systems without ever logging into the site or ftp program.
A lot of the process of choosing the best framework for your site comes from what you want to do and what your knowledge is as far as languages and design ability.
If you plan on using a CMS, you can go to wordpress.com, drupal.com, joomla.com or do a search for CMS. There are both paid versions and free versions of CMS architectures, all of which I have mentioned are free.
There are also many examples of large site which use CMS's mentioned previously. The idea of recreating everything from scratch is ok, but will be very time consuming when most of the work is done for you.
Here are a few sites which use the following different CMS's mentioned:
Wordpress: techcrunch.com, news.zdnet.com, cnn (politicalticker.blogs.cnn.com), nasa (nasa.gov/centers/ames/home/index.html)
Drupal: theonion.com, popularscience.com, twit.tv, airamerica.com
Joomla: United Nations, Harvard University, IHOP,
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$Thanks a TON for the feedback.
I've considered using a CMS, however, my understanding is that those architectures are built for sites that will have a lot of social community functions and/or frequent updates to the content. My site will be static with nothing like that. It will consist of your standard sections: services, about us, testimonials, etc.
I'm not opposed to a CMS. I've used drupal before and loved it. I just want to make sure I start out with the right structure.
Most CMSs will have a configurable cache. Both Drupal and Joomla have this natively. Joomla however requires an extension to cache whole pages (it only caches modules with the core framework). You can set this cache to a really long time, so that only the first load will be dynamic, and others will be just static pages.
Being dynamic is really a good thing. It increases google ranking, gives your views more to look at etc. For example, a small section with the latest posts from the company blog really makes a static site look interesting, because people like things that change frequently. They get bored otherwise.
Unless you have a huge number of visitors, you usually don't have to worry about the load of the CMS. But given that you can turn the cache on, as well as implement other methods, such as a PHP code cache, redundant database or PHP engines etc. load is trivial. If you are overloaded, they you probably need a CMS anyway, as you definitely have interesting dynamic content that caused that massive amount of people on your site.
I think the very first question you should be asking yourself is do you need to do this at all? Bespoke is I am afraid the dieing art of yesterdays web developer and you know what, it costs you and your company much more in the long run. If you want to do it to learn something new that's a completely different matter.
Ok, so I may be sounding a little negative, but here is my suggestion. Why not pick something already built on an existing framework or with a language you like the look of? For example, Wordpress, its php and mySQL based, if you want to extend it you can, write some widgets, design a nice layout and you can get your company up and runing infinatly quicker.
If you really want to DIY it and into PHP already I would suggest you spend time researching the ZEND framework, its really the next gen PHP. The good news is the internet is your oyster and information and resource is freely available at allover the place.
Come back and let us know what you decided!
Ben
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$