Kelvin Graddick ·
2 minute read ·
I’ve been developing websites for companies/businesses/clients for a number of years now, and here’s the biggest lesson
CLIENTS DON’T TYPICALLY CARE HOW WELL YOU CAN CODE OR THE EXACT TECH YOU KNOW;
THEY CARE ABOUT THE RESULTS!
It is very important to choose the right development approach for the job!
Here are my main two approaches
and why I’d choose one over the other…
Website Builders / Content Management Systems (CMS)
ℹ️ Powerful tools, themes, and pre-made backends for building websites fast
Examples: WordPress, Weebly, Squarespace, Wix
- Contains pre-made themes and backend systems; allows you to focus more on the pages/content
- Often drag-and-drop interface for building the pages/UI; little to no code
- Database storage and retrieval already setup
- Plug-ins; easy ways to extend functionality
- Admin panel is available so that the customer can edit the site on their own
- Con: Less flexibility; the tools often don’t allow for much deep customization outside of what they initially offer
- Con: Unique business logic is harder to implement
I’d choose this option for static or simple sites
with only common use cases (home page, about page, contact page, etc.)
I can create the site fast and still provide a top-notch design
(if the client is willing to start from a theme)
No need to reinvent the wheel and take weeks/months to build what can be done with a tool and get the same or better result.
Are you really going to build your own admin console for the client?
(Don’t; trust me, I’ve done it)
Fully custom website and web app development
ℹ️ Build the site from scratch
, using a framework, development tools, etc.
Examples: pure HTML/CSS/HTML, React, Vue.js, MySQL/Mongo database, Node/.Net API
- Can develop a fully custom UI that matches the clients designs
- Can implement the specific business logic that the client needs (i.e. storing/loading specific data)
- Develop interactive UIs that contain state and can actively change based on the state
- Develop single page apps (SPAs) like social media sites, service dashboards, etc.
- Cons: requires more technical logic and can take longer to develop
- Cons: if you are not strong in design if may not look as good as pre-made templates that a CMS has
I’d choose this option for dynamic websites
and web apps that have logic specific to the business/client.
Websites that require a lot of UI interaction
and state for the user.
A “Headless” CMS
can still be used to get the benefits of a pre-built back-end
⁉️ Any other opinions? How do you guys choose which option to choose when developing websites / web apps?