Frontend Dogma

“2010s” Archive

Frontend Dogma is a constant work in progress, but that’s particularly true for the 2000s and 2010s. Reach out to suggest articles, videos, and books from the time (including your own).

  1. What Is SSI? What Are Server-Side Includes? (via) · ·
  2. Usability and Security; Better Together (via) · · , ,
  3. There Is No Design System (by/via) · · ,
  4. An HTML Optimizer’s Config for html-minifier (by) · · , , , , , ,
  5. How to Style and Animate the Letters in a String Using CSS (by) · · , , ,
  6. Landing Pages: The Art of Conversion (via) · · ,
  7. A History of CSS Through Fifteen Years of 24 Ways (by/via) · · ,
  8. “rem” in CSS: Understanding and Using “rem” Units (by/via) · · ,
  9. When to Open Links in a New Tab (by) · · ,
  10. A Tale of CSS Resets and Everything You Need to Know About Them (by/via) · · , , ,
  11. Interactivity and Animation With Variable Fonts (by/via) · · , , , ,
  12. Future Accessibility Guidelines—for People Who Can’t Wait to Read Them (by/via) · · , ,
  13. Dynamic Typography With Variable Fonts (by/via) · · , , ,
  14. WebGL Tips (by) · · , ,
  15. CSS: When to Use Logical Properties (by) · · ,
  16. 200 OK! Error Handling in GraphQL (by) · · ,
  17. CSS at the Intersection (via) · · ,
  18. Conversational Semantics (by/via) · · , , ,
  19. The Layers of the Web (by/via) · · , ,
  20. Getting Started With Puppeteer (via) · · , ,
  21. How TypeScript Makes You a Better JavaScript Developer (by/via) · · ,
  22. Microservices Introduction (by) · · ,
  23. Upgrade Your HTML (the Booklet) (by) · · , , , ,
  24. Shadow Tree Encapsulation Theory (by) · · ,
  25. How the Success of WordPress Is Due to Its Plugin Ecosystem (via) · · ,
  26. What Is Functional Programming? (by/via) · · ,
  27. On Writing Better Markup (by) · · , , , ,
  28. Heading Levels (by) · · ,
  29. CSS Circles (by/via) · · ,
  30. The Case for XML5 (by) · ·
  31. Create a Cron Job on AWS Lambda (by/via) · · ,
  32. An Introduction to the Spatial Web (by/via) · · ,
  33. The Developer’s Fallacy of Close Collaboration With Designers (by) · · , ,
  34. Liquid Templating Crash Course · · , , , ,
  35. A Brief History of the Original Browsers and the First Browser War (by) · · , ,
  36. What Is Vuetify? How to Install and Key Components Overview · · , , , ,
  37. How to Add CSS Vendor Prefixes Automatically (by/via) · · , , , , , , , ,
  38. Definition of Web Developer (by) · · , ,
  39. How to Build Unique, Beautiful Websites With Tailwind CSS (by/via) · · ,
  40. Caniuse and MDN Compatibility Data Collaboration (by+/via) · · , , ,
  41. It’s Not Wrong that '🤦🏼‍♂️'.length == 7 (by) · · ,
  42. “Must Work Without JavaScript” (by) · · ,
  43. Optional HTML (by) · ·
  44. The History of Browser Wars (by/via) · · , ,
  45. Optional HTML: Everything You Need to Know (by) · · , ,
  46. A Guide to Visual Testing With Percy (by/via) · · , , ,
  47. Jenkins Cheatsheet—Know the Top Best Practices of Jenkins (by/via) · · , , , ,
  48. How to Set Up a Vue Development Environment (by/via) · · , ,
  49. MSDN Magazine Ends in November (by) · · ,
  50. AWS vs. Azure vs. Google: Cloud Services Comparison (by/via) · · , , , , ,
  51. The Simplest Way to Load CSS Asynchronously (by/via) · · ,
  52. When to Use “img,” “img@ srcset,” and “picture” and “source” (by) · · ,
  53. Shifting the Performance Burden (by/via) · ·
  54. An Introduction to Cloudflare Workers (by/via) · · ,
  55. How to Get Started With Vuetify (by/via) · · , , ,
  56. A Beginner’s Guide to Vue CLI (by/via) · · ,
  57. The Anatomy of Accessible Forms: Error Messages (by/via) · · , , ,
  58. How to Use Redux With React Hooks (by) · · , , ,
  59. The Problem With Web Development Checklists, or: The Frontend Checklist, Revised (by) · · , , , , ,
  60. A Deep Dive Into Redux (via) · · ,
  61. Responsible JavaScript (by/via) · · , , , , , ,
  62. So You Think You’re Design Driven (by/via) · ·
  63. Perch Is Ten! Find Out What Comes Next (by/via) · ·
  64. Self-Host Your Static Assets (by) · · , ,
  65. Daily Ethical Design (via) · · ,
  66. Understanding Image Compression: Tooling and Context (by) · · , , ,
  67. Why the Highest-Paid Developers “Fight” Their Coworkers (via) · · , ,
  68. Vue.js and SEO: How to Optimize Reactive Websites for Search Engines and Bots (by/via) · · , ,
  69. Take Back Your Web (by/via) · · , , ,
  70. The Scoville Scale of Web Font Loading Opinions (by/via) · · , ,
  71. A Guide to the Pug HTML Template Preprocessor (by/via) · · , ,
  72. Polypane, Browser for Developers and Designers, Available Now (by) · · ,
  73. Beginner’s Guide: Build and Deploy a Web App With Ruby on Rails (via) · · , , , ,
  74. A Crime Called Favicon (by) · · , ,
  75. Explore GraphQL With Apollo and React: Build a Superhero Database (via) · · , ,
  76. HTML Optimization: A Standard Config for HTMLMinifier (by/via) · · , , ,
  77. Breaking to a New Row With Flexbox (by) · · , , ,
  78. An Introduction to Gulp.js (by/via) · · , ,
  79. Tips for Technical Interviews (by) · · , ,
  80. How Can We Make Website Maintenance Work More Visible? (by) · ·
  81. Getting Up and Running With the Vue.js 2.0 Framework (by/via) · · ,
  82. Print Styling, the 3 Basics (by) · · , ,
  83. Introduction to Babel (by) · · , , ,
  84. Parcel.js Quick Introduction—Zero Configuration Bundler (by) · · , , ,
  85. How to Conditionally Apply a CSS Class in Vue.js (by/via) · · , ,
  86. Improving Perceived Performance With the Link “rel=preconnect” HTTP Header (by) · · , ,
  87. JS vs. Java—Dynamic Typing · · , ,
  88. CSS Remedy (by/via) · · ,
  89. “Cache-Control” for Civilians (by) · · , ,
  90. CSS Remedy—Rethinking the Approach to CSS Resets (by) · · ,
  91. How to Avoid DOM Blocking in JavaScript (by/via) · · , , ,
  92. 5 Simple UX Principles to Guide Your Product Design (by/via) · · , ,
  93. Why Every Browser Switching to Blink Could Be Bad News for the Web · · , , , , , , ,
  94. What’s New in ECMAScript 2019 (by) · · ,
  95. HTML and Performance: Leave Out Optional Tags and Quotes (by) · · ,
  96. Meteor Framework Review (by) · ·
  97. Guide to Web Authentication (by) · · , , ,
  98. How to Migrate to Gulp.js 4.0 (by/via) · · , ,
  99. UX in the Age of Personalization (by/via) · · ,
  100. Google Lighthouse and PWA (by) · · , ,
  101. Automatic CloudFront Invalidation for S3 Origins (via) · · , , ,
  102. a11y-syntax-highlighting (by) · · , , ,
  103. It’s Beginning to Look a Lot Like XSSmas (by/via) · · ,
  104. “ERROR Error”: You Can’t Have a Focus Trap Without at Least One Focusable Element · · , ,
  105. Keeping Sass Simple and Speedy on Eleventy (by) · · , ,
  106. Checking if an Input Is Empty With CSS (by) · · ,
  107. Best JavaScript Frameworks, Libraries, and Tools to Use in 2019 (by/via) · · , , , ,
  108. On Visions for Performance, or: Performance Optimization Is a Process (by) · · , , ,
  109. A Blue Beanie for Blue Beanie Day (via) · · , , ,
  110. Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (by/via) · · , , , , ,
  111. JavaScript Is for Web Apps, Not for Websites · · ,
  112. Should Designers Code (by) · · , ,
  113. Extreme Typography on the Web (by/via) · · ,
  114. I, Human (by/via) · · , ,
  115. Performance Rule #1: Do What You Need to Do—But Not More (by) · · ,
  116. Performance Budgets 101 (by/via) · · , , ,
  117. Focus Trapping for Accessibility (A11Y) · · , , ,
  118. AWS Security Guide: 7 Best Practices to Avoid Security Risks (via) · · , , ,
  119. Non-Noxious Nomenclature (via) · ·
  120. Build a Single-Page App With Go and Vue (by/via) · · , ,
  121. Using WordPress as a Headless CMS (by/via) · · , ,
  122. Building a Non-Blog Site With WordPress (by/via) · ·
  123. Writing for Designers (by/via) · · , ,
  124. Develop WordPress Themes Faster With Gulp (by/via) · · , ,
  125. A Guide to Caching in WordPress (by/via) · · , , , ,
  126. How to Configure Lighthouse for Balanced Quality Websites (by) · · , , , , ,
  127. The Beginner’s Guide to WordPress SEO (via) · · , ,
  128. CSS Debugging and Optimization: Minification With CSSO (by/via) · · , , , ,
  129. The Psychology of Design (by/via) · · , ,
  130. Privacy by Design: How to Sell Privacy and Make Change (by/via) · · ,
  131. A Short Guide to Minimal Web Development (by) · · , , ,
  132. Responsive Images (by/via) · · , , ,
  133. How to Get Started With CSS Animation (by/via) · · , ,
  134. CSS Architecture: Block Element Modifier (BEM) and Atomic CSS (by/via) · · , , , ,
  135. How to Use Gulp.js to Automate Your CSS Tasks (by/via) · · , , , ,
  136. Web Development and the GDPR (by) · · , ,
  137. Conversational Semantics (by/via) · · , ,
  138. 20 Tips for Optimizing CSS Performance (by/via) · · , , ,
  139. CSS Logical Properties and Values Level 1 (by+/via) · · , ,
  140. Three Ways to Grow Your Traffic and Capture Audience (by/via) · · , , , ,
  141. The Benefits of Using CSS Grid for Web Form Layout (by/via) · · , , ,
  142. CSS Logical Properties (by/via) · · ,
  143. 37 Theses on CSS and Web Development (by) · · , , ,
  144. Variable Fonts: What They Are, and How to Use Them (by/via) · · , , ,
  145. Browser Painting and Considerations for Web Performance (by/via) · · , , , ,
  146. Icon Fonts vs. SVGs—Which One Should You Use in 2018? (via) · · , , ,
  147. The History of CSS Resets (via) · · , ,
  148. New Syntax for JS “Function Stuff” (by) · · , ,
  149. Doing More With Less, an Introduction to a CSS Pre-Processor · · , , ,
  150. HTTP/2: The Difference Between HTTP/1.1, Benefits, and How to Use It (via) · · , , ,
  151. How to Use Feature Flags in Continuous Integration (by/via) · · , , ,
  152. Webmentions: Enabling Better Communication on the Internet (by/via) · ·
  153. AMP, a Strategy (by) · · , ,
  154. HTTP/2: Background, Performance Benefits, and Implementations (by/via) · · , ,
  155. Improving Performance Perception: On-Demand Image Resizing (by/via) · · , , , ,
  156. The Craft of CSS (by) · · ,
  157. Server-Side Optimization With nginx and “pm=static” (by/via) · · , , ,
  158. Marketing as a Front End Web Developer? · ·
  159. 7 Performance Tips for Jank-Free JavaScript Animations (by/via) · · , , ,
  160. The Problem With Patterns (by/via) · · , , , ,
  161. Making Your Website Faster and Safer With Cloudflare (by/via) · · , , ,
  162. Debugging JavaScript Projects With VS Code and Chrome Debugger (by/via) · · , , , , , , , ,
  163. 10 Things I Regret About Node.js (by/via) · · ,
  164. A Beginner’s Guide to Babel (via) · · , , ,
  165. Using ES Modules in the Browser Today (by/via) · · ,
  166. The History of WordPress (via) · · ,
  167. Whatever Happened to the Semantic Web? (via) · · , , , ,
  168. Authenticating Firebase and Angular With Auth0 (by/via) · · ,
  169. 15 Bootstrap Tools and Playgrounds (by/via) · · , ,
  170. What the Heck Does “Script Error” Mean? (by/via) · · ,
  171. 10 Tricks and Techniques to Make the Most Out of Sketch (by/via) · · , ,
  172. The Slow Death of Internet Explorer and the Future of Progressive Enhancement (by/via) · · , , ,
  173. Don’t Use My Grid System or Any Others (by/via) · · , , ,
  174. ARIA Serious? (by/via) · · , ,
  175. The Dangers of Being a Web Developer (by/via) · · ,
  176. Responsive Tables, Revisited (by) · · , ,
  177. How to Automate a Design (via) · · , ,
  178. Priority Guides: A Content-First Alternative to Wireframes (via) · · , ,
  179. 10 Essential Sublime Text Plugins for JavaScript Developers (via) · · , , , ,
  180. Setting Up an ES6 Project Using Babel and Webpack (by/via) · · , ,
  181. rfc.fyi (by) · · ,
  182. An Introduction to Drupal for React Developers (by+/via) · · , ,
  183. JavaScript Design Patterns: The Singleton (via) · · ,
  184. Introduction to the Fetch API (by/via) · · , , ,
  185. Understanding ES6 Modules (by/via) · · , , ,
  186. CSS Optimization Basics (by) · · , , ,
  187. What Are the Differences Between PhpStorm and WebStorm? Which IDE Is Right for You? (via) · · , , , ,
  188. Going Offline (by/via) · · , , ,
  189. A Practical Guide to Angular Directives (by/via) · · ,
  190. MongoDB Evolved (via) · · , ,
  191. Introducing Last Painted Hero (by/via) · · ,
  192. Angular 2 Components and Providers: Classes, Factories, and Values (by/via) · ·
  193. Python Developers Survey 2017 Results (via) · · ,
  194. Trickle Down Accessibility (by) · · ,
  195. Conversational Design (via) · · ,
  196. Could This Be Easier? (by) · ·
  197. 10 Advanced Joomla Tips to Become a Pro (via) · · ,
  198. We Write CSS Like We Did in the 90s, and Yes, It’s Silly (by/via) · · , , , ,
  199. Your Interactive Makes Me Sick (by/via) · · , , ,
  200. What Happens to Us Does Not Happen to Most of You (by/via) · · ,
  201. Animating Bootstrap Carousels With GSAP’s Animation Library (via) · · , , ,
  202. HTML, CSS, and Dependency Direction (by) · · , , , ,
  203. Front-End Frameworks: Custom vs. Ready-to-Use Solutions (by/via) · · , ,
  204. How Declaration Repetition Developed Over Time, a Statistically Insignificant Sample (by) · · , , ,
  205. Why I Love Bootstrap, and Why You Should Too (by/via) · ·
  206. What’s New in ECMAScript 2018 (by) · · ,
  207. The Compact Guide to Web Maintainability: 200 Tips and Resources (by) · · , , ,
  208. Why Fast Matters (by/via) · · , ,
  209. Sacrificing the Golden Calf of “Coding” (by/via) · · , ,
  210. How to Optimize CSS and JS for Faster Sites (via) · · , , , , ,
  211. Finding Dead CSS (by) · · , ,
  212. Unit Test Your JavaScript Using Mocha and Chai (by/via) · · , ,
  213. An Introduction to Functional JavaScript (by/via) · · , ,
  214. The Two Extremes of Writing CSS, and What We Can Learn From Them (by) · · , , , ,
  215. What New Developers Should Really Focus On (by) · · ,
  216. HTML 5.2 (by+/via) · · ,
  217. How the Sausage Gets Made: The Hidden Work of Content (by/via) · · ,
  218. What Donald Rumsfeld Can Teach Us About Software Estimates (by) · · , ,
  219. Performance of CSS Selectors Is Still Irrelevant (by) · · , ,
  220. Progressive Web Apps: A Crash Course (via) · · , , , ,
  221. Optimizing CSS: Tweaking Animation Performance With DevTools (by/via) · · , , , , , , ,
  222. On Big Picture Thinking in Web Development (by) · · , , , , ,
  223. Faux Grid Tracks (by/via) · · , ,
  224. How to Optimize SQL Queries for Faster Sites (by/via) · · , , , , , ,
  225. Upgrade Your Project With CSS Selector and Custom Attributes (via) · · , , ,
  226. CSS: The Reason Why Selectors Should Be Ordered, Too (by) · · , ,
  227. The Future of the Browser (by/via) · · , , ,
  228. Testing Standards (by) · · , , ,
  229. Static Site Generation With Grow: How to Set Up Syndication Feeds (by) · · , , ,
  230. All You Need to Know About CSS-in-JS (by) · · , ,
  231. Planning for Accessibility (by/via) · · , , ,
  232. Ten Extras for Great API Documentation (via) · · , ,
  233. Your First PHP Code (via) · ·
  234. Web Typography: Designing Tables to Be Read, Not Looked At (by/via) · · , , ,
  235. UX: What Can We Prototype? What Can’t We Prototype? (via) · · , , , ,
  236. DRY CSS: How to Use Declarations Just Once, Effectively (by) · · , , ,
  237. Reboot, Resets, and Reasoning (by/via) · · , ,
  238. 5 Reasons Against Resets, Normalizers, Reboots (by) · · ,
  239. The Front-End Checklist (by) · · , , , , , , , ,
  240. A Look Back at the History of CSS (by/via) · · , , , ,
  241. Learn a CSS Framework in 6 Minutes With Bulma (by+/via) · · , ,
  242. JavaScript Functions That Define and Rewrite Themselves (via) · · ,
  243. Understandable-Simple vs. Minimal-Simple Code (by) · · ,
  244. The Ultimate Guide for Building Awesome Joomla Websites (by) · · , ,
  245. Using Webfonts (by/via) · · , ,
  246. On Enforcing Coding Guidelines (by) · · , ,
  247. Getting Started With Redux (by/via) · · , , ,
  248. CSS “font-display”: The Future of Font Rendering on the Web (by/via) · · , ,
  249. Considering Open Source Licenses (via) · · ,
  250. The Web’s First (and Second) Browser (by) · · , , ,