Web development in a nutshell
This section concerns people with no web development experience
HTML, CSS, JS
But, what if I want to start now?
It’s very exciting at the beginning and it is possible that you feel you can already build websites. Just to make sure that you won’t struggle in the future, please read this tutorial.
...and practise, practise, practise. We wouldn’t recommend anyone without experience building a public website for a first try without consulting with an experienced web developer. Basic web standards: https://www.w3.org/TR/, best practices: https://developers.google.com/web/fundamentals/ .
Think about them first. What do they need? What are the minimum (working) functionalities that you can start with to make your future audience happy? Remember - you are doing the website for the users not for yourself. Try to keep it simple.
Because security is not optional. CERN as a international organisation is a target of cyber attacks, including its websites and you, as a web developer, are responsible for keeping it secure.
Both in design and functionality. Your website is like a business card - you want it to look professional. That’s why you should keep your website clean and flawless. No broken styles, no broken links, no bugs, no dead ends, no struggles for the user. Responsiveness and good performance are the minimum you should provide. You can check your website using tools provided by Google, e.g. https://developers.google.com/speed/pagespeed/insights/
Once you’ve built your website you need to maintain it. It might be you doing the maintenance, or it might be your colleague - be gentle on both of you. Create documentation for your code, and website - a knowledge base which you can easily handover. It will also be used by you - believe us, you won’t remember why you wrote your code like that in 3 months time.
Write maintainable code, don’t repeat yourself, reuse already existing libraries and solutions. It’s almost definite that someone else in the world already had the exact same problem - use their experience. The most known developer forum is created to help you: https://stackoverflow.com/tags - don’t be afraid to ask questions, but search first, maybe the answer is there already
Keep track of your code. Git, a developers best-friend, can help with that: https://www.atlassian.com/git/tutorials/what-is-version-control, also read more about good practice: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow. At CERN we use Gitlab to help our developers: https://gitlab.cern.ch/
- Think about the main purpose of your website
- Choose a technology (link)
- Create a structure for your website
- Create a test website
- Start building the test website using your chosen technology
- Revise it if the assumptions you’ve made in the design phase don’t check out in the reality
- Consult with your users
- Test the website
- Fix all the issues you might find
- Release the website - “production”
- Leave your testing website running, for future testing
- Maintain the production website