Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialIvailo Ivanov
3,401 PointsCMS vs Hand Coding Websites?
Alright guys so I'm starting to get familiar with HTML and CSS as I'm currently on the Front End Developer Track. I really enjoy hand coding sites from scratch because it feels like I'm creating something unique and seeing my progress in the browser as I enter each line of code excites me.
But I also did some research on CMSs (Content Management Systems) such as WordPress, Drupal, Joomla etc, and it seems like taking this route is a lot quicker than coding entire websites. I've also read that they have other benefits in terms of better security and allowing customers to have control over their own content.
On the other hand I'm aware that hand coding the HTML, CSS and Javascript yourself will give you better customization over the site's aesthetics and user experience, but then again I think you also need to have some knowledge of PHP, MySQL etc. if you need to cater for the same needs customers look for in CMS features.
So here are my questions: If my end goal is to be a front end web developer, should I be proficient in both hand coding sites and using a CMS? If so, how will I know when to use one or the other or is it possible to add your custom code to a CMS like WordPress? Does it matter if you plan to do freelance work or work with an agency?
3 Answers
Dustin Matlock
33,856 PointsYou can market yourself and your business in any way you want really. However, I'm not sure if one can fully call themselves a developer if you're not actually creating and coding something of your own. Sure, you can use templates and try to somewhat customize them on your own, although, that might leave out projects from your reach that require original code or designs of your own.
I understand the point and concept you're trying to make, but it does not mean that something is necessary faster. It really depends on the types of clients you'll be landing. Some personal websites, local business, etc., maybe not all need something entirely unique and they also might not want to pay a lot of money for a website. With clients like that it should work for getting some initial business.
There are definitely no shortcuts to learning something, or really making it easier because that's not really the issue. It's a matter of grasping certain concepts and finding the right approach and method to use, and then taking yourself to a level that would leave certain things behind that maybe you did in the beginning stages of learning this industry.
By the way, CMS software isn't necessarily more secure. In fact it's oftentimes less secure and more of a task to recover if you don't stay up-to-date on security and any software updates that any particular CMS might provide.
I would say however that using templates and themes to get yourself going is a great way to start your business and market yourself as someone who can provide some level of website customization.
CMS software (depending on what you use) has many uses. It can be used for eCommerce, organizing content, and of course blogs. I think over 20% of websites are running Wordpress, so the work and expertise is surely needed. Platforms can come and go but there will always be people who are needed to initially code them.
Also, I might add that if you want to be a forerunner in something, check out Ghost; it's fairly new and uses newer technologies like Node.js.
Kenya Sullivan
21,711 PointsLearn to hand code and you can easily add CMS customization. Adding the ability to work with a CMS can't hurt your skill set. CMSs have a few benefits:
- They allow your customers to edit content on the site you developed with having to know how to code themselves.
- As a front end developer it could provide a framework for you to begin your development.
- Could allow for faster development as many people contribute to the platforms ( at least the open source CMSs) for example if a client needs an ecommerce solution you could hand could but the faster and more cost effective solution is to leverage an existing solution and customize.
Ivailo Ivanov
3,401 PointsThanks for the replies guys, so it seems that having both skills would be ideal in this industry. I'm hoping to learn how the two compliment each other in projects, but I guess this will be made clear through my own experimentation and experience.