Web Design vs. Web Development
What is the difference between a web designer and a web developer? In the early days of the web, the answer to that question was simple: designers design and developers code.
Today that question requires a little more nuance–you’d be hard pressed to find a web designer who didn’t know at least a little HTML and CSS, and you won’t have to look far for a front-end web developer who can whip up a storyboard.
If you’re strictly speaking about the general concepts of web design vs. web development however, the distinction is a little more clear. Let’s take a look at these two concepts and the roles they play in building the websites and apps we know and love.
What Is Web Design?
Web design governs everything involved with the visual aesthetics and usability of a website—color scheme, layout, information flow, and everything else related to the visual aspects of the UI/UX (user interface and user experience). Some common skills and tools that distinguish the web designer from the web developer are:
Adobe Creative Suite (Photoshop, Illustrator) or other design software
Graphic design
Logo design
Layout/format
Placing call-to-action buttons
Branding
Wireframes, mock-ups, and storyboards
Color palettes
Typography
Web design is concerned with what the user actually sees on their computer screen or mobile device, and less so about the mechanisms beneath the surface that make it all work. Through the use of color, images, typography and layout, they bring a digital experience to life.
That said, many web designers are also familiar with HTML, CSS, and JavaScript—it helps to be able to create living mock-ups of a web app when trying to pitch an idea to the team or fine-tune the UI/UX of an app. Web designers also often work with templating services like WordPress or Joomla!, which allow you to create websites using themes and widgets without writing a single line of code.
What Is Web Development?
Web development governs all the code that makes a website tick. It can be split into two categories—front-end and back-end. The front-end or client-side of an application is the code responsible for determining how the website will actually display the designs mocked up by a designer. The back-end or server-side of an application is responsible for managing data within the database and serving that data to the front-end to be displayed. As you may have guessed, it’s the front-end developer’s job that tends to share the most overlap with the web designer. Some common skills and tools traditionally viewed as unique to the front-end developer are listed below:
HTML/CSS/JavaScript
CSS preprocessors (i.e., LESS or Sass)
Frameworks (i.e., AngularJS, ReactJS, Ember)
Libraries (i.e., jQuery)
Git and GitHub
Front-end web developers don’t usually create mock-ups, select typography, or pick color palettes—these are usually provided by the designer. It’s the developer’s job to bring those mock-ups to life. That said, understanding what the designer wants requires some knowledge of best practices in UI/UX design, so that the developer is able to choose the right technology to deliver the desired look and feel and experience in the final product.
Meet the “Unicorn”
What started out as a joke in the industry—the designer/developer hybrid who can do it all—is now a viable endgame for both web designers and front-end developers, thanks to the increase in availability of educational resources across the web. Those developers/designers who have a good grasp of skills across both sides of the spectrum are highly sought after in the industry. The “unicorn” can take your project from the conceptual stage of visual mock-ups and storyboards, and carry it through front-end development all by themselves. Not that you’d want them to; the real value of developers who design and designers who develop is their ability to speak each other’s languages. This leads not only to better communication on the team and a smoother workflow, it means you’ll land on the best solution possible. As a general rule, feel free to rely on the “unicorn” for small projects, where it’s feasible for one or two people to handle both the back and front-ends of an application. For larger projects, even if you do manage to hire a few “unicorns,” more clearly defined roles are required.
Comments
Post a Comment