For some, the thought of creating or, more so, recreating their company’s website is scarier than having five missed calls from their mother-in-law.
And who could blame them? These days, technology changes faster than FOX programming and the devices we’re using to look at websites are evolving at the same pace. iPad, iPhone, Surface Pro, Galaxy… Don’t blink or a new one will pop up with better processing speed, more storage space, a better camera and a bigger screen.
To make things worse, there’s a good chance that when these new computers and mobile devices are released, your newish website might not be dressed in its Sunday’s finest and ready to show off for the occasion. Not to mention, every time you check, there’s a new trend in website design. Rounded everything. No, sharp corners. Gradient colors. No, flat colors. 3D buttons. No, flat buttons… Who can keep up?
Lucky for you, there’s one choice you can make early on in your website’s life that will lead you down the correct path for the foreseeable future.
The battle of “Static” vs. “Dynamic”
There are two types of websites you will potentially build for your company: A static website or a dynamic website.
Static websites are basic sites that utilize elements that cannot change unless you make changes to the code manually. Static websites are generally written with basic HTML and CSS code. When you look at a web page, you are looking at the rendered HTML and CSS.
Dynamic websites are very different because you can take a server-side programming language like ASP.NET, PHP, C#, etc. and intertwine it with static HTML. Client-side code runs on the client-side (user’s device) and server-side code runs on the server-side (the device that is hosting the website itself).
The biggest differentiator between the two is that server-side code runs on the server hosting the website before the HTML is loaded in the users browser window. Why is this important? Because server-side code is what makes a website “dynamic”.
Which method should I choose?
That’s a good question. Designers and developers will have their opinions (sometimes strong ones) on which is the best route to go. If you only have a need for a very basic website that has just a couple pages, you may not see a need to go down the route of dynamic server-side programming and choose to write static client-side HTML and CSS pages. And there’s nothing wrong with that.
There are times though when someone has specific needs or features that must be included with their website, and the only way to get those is to go with a dynamic server-side programming method. First I’ll list each of the needs and then I’ll dive deeper into them one by one.
Reasons to Choose a Dynamic Website:
- You have more than just a handful of web pages in your site.
- You need login capabilities, whether that is for employees or customers. (Also called an Account Portal, Customer Portal, etc.)
- You want your website to stay fresh and up-to-date with the latest styles and trends, with minimal effort/cost to accomplish these updates.
- You want the ability to edit content on pages without having to update website code.
- You want a COS (Content Optimization System) to give users a customized experience.
There are certainly more reasons why someone would need to go with a server-side programming method, but these are the highlights, folks.
More web pages, more to edit
If you only have a couple web pages in your website, you can totally go with a static client-side programming method. If your site starts to grow, which most do over time, those initial static pages will be harder and harder to update seamlessly across the board.
When you want to make a global change, say to the navigation of the website, you have to change it on all of your pages. Just a couple pages are no big deal, but when you start dealing with 10, 20, 50, 100, etc. pages, there is a much greater risk for errors in code, seeing as that you have to updated that many pages.
If you were to use a dynamic server-side language, like ASP.NET, PHP, C#, etc., you can create website pages that use the same resources to render constants. An example would be site navigation. Generally, your website navigation will stay the same across the board and will not vary from page to page. To use general terms, your web pages would all have the same snippet of code that basically “links” to a file that holds the code that builds the navigation. That way, when you go in to make a navigation change, you go in to one place, change one file, click save and it will dynamically “spread” to the other pages.
The minute you say the word “login” is the same minute you have to go with a dynamic website. The ability to login to a website – whether that involves customers or partners logging in for whatever reason, employees logging in, etc. – can only be created with dynamic server-side code and databases that “talk” to each other. Static client-side programming does not have the ability to do this.
Stay up-to-date with minimal effort and cost
This one is related to the more pages, more editing point. The more you have, the longer it could take to update and the more it could potentially cost. More pages, more features, more more more… not necessarily a bad thing, but it will be much easier to manage with a dynamic website. You want a face lift for your site, want to add a new feature or page, etc.; these updates are much quicker to make site-wide when you have fewer places to make the code changes, and by doing so, you rule out the issue of pages starting to visually branch apart from one another over time.
Edit content yourself
One feature a lot of people want is the ability to edit the content on the page themselves, without having to touch code, also called a CMS (Content Management System). Again, without going into too much depth, the only way to accomplish this is with a dynamic server-side programming method. Static client-side code does not have the ability incorporate this because, as previously mentioned, this requires a user to login to make changes and requires a database connection.
Content Optimization System
Something that is fairly new among websites is called Customer Experience Management Software. CEMS’s are website platforms that allow you to serve up optimized content to users based on choices they make throughout your site, buttons they click, interests they have, their location, etc. A good example of an extremely useful Customer Experience Management Software would be Sitecore. And, you guessed it. Since Sitecore delivers a dynamic website environment, it runs on a server-side language, .NET.
To simplify and summarize everything, you just have to ask yourself one question: Do you need a website that is super basic just to have a web presence, or do you need a website that you intend to use as an ever-growing tool to build your business?
If you answered yes to the second part, a dynamic website is your answer.