Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am more of a desktop developer that a web developer. Therefore I only know XHTML and CSS when it comes to the web (and C#, if that is in any way useful). I have a little experience with ASP.NET with C# but I am in no ways an expert in it.

Say I want to write a small website to give a preview to any new software I make. Is XHTML and CSS enough to make it? Will I need to learn some server-side language? (or web development framework?) If so any suggestions?

I don't want to create something as awesome as Facebook or Stack-overflow. Just a normal website, kind of like http://thenewboston.com.

share|improve this question
add comment

4 Answers

up vote 2 down vote accepted

Therefore I only know XHTML and CSS when it comes to the web (and C#, if that is in any >way useful).

As a matter of fact, C# is useful, because it is used as the server side language in ASP.Net, so...

Will I need to learn some server-side language?

...no, you already know one. If you are familiar with Winforms or WPF, you should not have too much trouble getting a basic dynamic website going in ASP.Net. You will have a to learn a few new controls and some parts of .Net you may not be familiar with, but it will not be like learning a platorm from scratch. I would recommend going for ASP.Net MVC3, but Webforms is also an option.

share|improve this answer
    
Thanks I'll try using ASP .NET . But to be honest, the Api is a bit confusing, I can never figure out what to design, what to write with the markup and what to write in the C# code part of "visual web developer" –  ApprenticeHacker Sep 6 '11 at 16:02
    
In (rough) general terms: UI == HTML; Backend/anything dynamic == C#; Styling == CSS. –  Morgan Herlocker Sep 6 '11 at 16:58
    
Thanks (+1). By the way , do you know any site that does free web hosting and supports ASP .NET? –  ApprenticeHacker Sep 6 '11 at 18:19
    
Not off hand, but you could always set up IIS yourself if you have an appropriate machine, or choose from one of the other low cost host options. I use GoDaddy for my personal site, and it is only ~$50 per year, which is cheaper for me than running my own apache server with an open source stack when electricity is taken into account. –  Morgan Herlocker Sep 6 '11 at 19:13
add comment

For websites to have dynamic generated content, you need a script on a server (written with a server-side language) which will fetch informations from a database, and generate the page dynamically based on the requested informations.

User request -> Server get data -> Server send data back

One of the most common programming language used nowadays by beginners and freelancers is PHP, with the MySQL database, mainly because it's fast to learn, easy to implement, and it's available on almost any web server for free.

Latest technologies include AJAX, which uses asynchronous JavaScript requests to interrogate a server-side script, which will fetch the informations and send them back to your page. This for example will allow you to gather informations and update the page in real time, without the need to reload the document.

This is also the basis of modern social network websites and web applications.

With XHTML and CSS only you won't be able to create a dynamic website.


To explain further, you must understand that XHTML is a markup language. It does nothing by itself if not presenting a well formatted document.

CSS is a presentational document containing a set of rules to modify how your document will be displayed.

So you need one or more scripting languages to make your page reactive to the user inputs.


Lastly, it's worth mentioning that nowadays you could even be able to create a dynamic website concentrating only on the front-end, by utilizing CMS and scripts which will enable on your website the functionalities you need, with their own servers and server-side scripts.

I know there are many options available already, and probably it's possible to do what you need without knowing anything about server-side languages.

share|improve this answer
1  
+1 and in this case the example site given had a 'forums' tab, which specifically implies dynamic content ... unless you tell your users what to say. –  Eric Wilson Sep 6 '11 at 13:19
add comment

Yes.

You can absolutely create a site like The New Boston without a stitch of server side code. It's a basic blog site. You can easily maintain the site with No DB and just a set of flat files. Though I recommend you consider using a CMS, or one of the common blogging platforms.


Edit: To reply to the comments below. Widgets and other free cut and paste java script services. Think back to how High school kids created web pages back in the Mid 90's.

I'd also like to point out the http://www.thenewboston.com does not allow for comments.

share|improve this answer
1  
I've never seen a blog site which didn't support comments. How are you proposing that they'll work "without a stitch of server side code"? –  Peter Taylor Sep 6 '11 at 14:10
    
@Peter: Disqus for example lets you have comment on your website simply linking a js to your page. You don't have to know any server-side language at all. –  Jose Faeti Sep 6 '11 at 14:53
1  
@Jose, so in other words you can do it by using someone else's server-side code? If that's what Moron means then an edit to make it clear would make this a much better answer. –  Peter Taylor Sep 6 '11 at 16:06
    
@Peter: exactly. Nowadays almost anything commonly needed by a personal website can be included without knowing anything about server languages, even real time chats. –  Jose Faeti Sep 6 '11 at 16:07
add comment

Well, it appears that the example site you've used is actually content driven. I.e. there's a number of articles, which are grouped in categories etc.

You will need some sort of data store and server side logic to handle that data, i.e. generate HTML for index trees etc.

If it is a site like that you want to make, I suggest you use your favorite open-source blog/wiki engine.

If you do this for the sake of learning, then of course you should try to do this from scratch. Today, there is a class of web frameworks I'd like to call RoRish (although this might be historically unjustified in some cases or even their approach to providing a simple and expressive way to create web applications may vary). Those frameworks are very streamlined at quickly solving the common problems of web development. About any of them has a build a blogging engine in 15 minutes tutorial. They focus on the bare essentials of data driven web applications, definitely making them a good entry point for web applications.

Here's a bunch of frameworks you might want to look at:

  • Django (Python)
  • Grails (Groovy)
  • CakePHP, Symfony, CodeIgniter (PHP)
  • Merb, RoR, Sinatra (Ruby)
  • Lift (Scala)

There's many, many more. You might even find something suitable for C#, although after a short look, I found nothing I could recommend. I'll leave that to the respective experts.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.