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. An HTML Optimizer’s Config for html-minifier (by) · · , , , , , ,
  3. How to Style and Animate the Letters in a String Using CSS (by) · · , , ,
  4. Landing Pages: The Art of Conversion (via) · · ,
  5. When to Open Links in a New Tab (by) · · ,
  6. WebGL Tips (by) · · , ,
  7. CSS: When to Use Logical Properties (by) · · ,
  8. Microservices Introduction (by) · · ,
  9. Upgrade Your HTML (the Booklet) (by) · · , , , ,
  10. Shadow Tree Encapsulation Theory (by) · · ,
  11. On Writing Better Markup (by) · · , , , ,
  12. Heading Levels (by) · · ,
  13. CSS Circles (by/via) · · ,
  14. The Case for XML5 (by) · ·
  15. An Introduction to the Spatial Web (by/via) · · ,
  16. The Developer’s Fallacy of Close Collaboration With Designers (by) · · , ,
  17. Liquid Templating Crash Course · · , , , ,
  18. A Brief History of the Original Browsers and the First Browser War (by) · · , ,
  19. How to Add CSS Vendor Prefixes Automatically (by/via) · · , , , , , , , ,
  20. Definition of Web Developer (by) · · , ,
  21. Caniuse and MDN Compatibility Data Collaboration (by+/via) · · , , ,
  22. It’s Not Wrong that '🤦🏼‍♂️'.length == 7 (by) · · ,
  23. “Must Work Without JavaScript” (by) · · ,
  24. The History of Browser Wars (by/via) · · , ,
  25. Optional HTML: Everything You Need to Know (by) · · , ,
  26. Jenkins Cheatsheet—Know the Top Best Practices of Jenkins (by/via) · · , , , ,
  27. MSDN Magazine Ends in November (by) · · ,
  28. AWS vs. Azure vs. Google: Cloud Services Comparison (by/via) · · , , , , ,
  29. The Simplest Way to Load CSS Asynchronously (by/via) · · ,
  30. When to Use “img,” “img@ srcset,” and “picture” and “source” (by) · · ,
  31. Shifting the Performance Burden (by/via) · ·
  32. The Anatomy of Accessible Forms: Error Messages (by/via) · · , , ,
  33. How to Use Redux With React Hooks (by) · · , , ,
  34. How to Use Redux With React Hooks (by) · · , , ,
  35. The Problem With Web Development Checklists, or: The Frontend Checklist, Revised (by) · · , , , , ,
  36. Responsible JavaScript (by/via) · · , , , , , ,
  37. So You Think You’re Design Driven (by/via) · ·
  38. Self-Host Your Static Assets (by) · · , ,
  39. Daily Ethical Design (via) · · ,
  40. Understanding Image Compression: Tooling and Context (by) · · , , ,
  41. Vue.js and SEO: How to Optimize Reactive Websites for Search Engines and Bots (by/via) · · , ,
  42. Beginner’s Guide: Build and Deploy a Web App With Ruby on Rails (via) · · , , , ,
  43. A Crime Called Favicon (by) · · , ,
  44. HTML Optimization: A Standard Config for HTMLMinifier (by/via) · · , , ,
  45. Breaking to a New Row With Flexbox (by) · · , ,
  46. Tips for Technical Interviews (by) · · , ,
  47. How Can We Make Website Maintenance Work More Visible? (by) · ·
  48. Getting Up and Running With the Vue.js 2.0 Framework (by/via) · · ,
  49. Print Styling, the 3 Basics (by) · · , ,
  50. Parcel.js Quick Introduction—Zero Configuration Bundler (by) · · , , ,
  51. JS vs. Java—Dynamic Typing · · , ,
  52. “Cache-Control” for Civilians (by) · · , ,
  53. Why Every Browser Switching to Blink Could Be Bad News for the Web · · , , , , , , ,
  54. What’s New in ECMAScript 2019 (by) · · ,
  55. HTML and Performance: Leave Out Optional Tags and Quotes (by) · · ,
  56. Meteor Framework Review (by) · ·
  57. UX in the Age of Personalization (by/via) · · ,
  58. Google Lighthouse and PWA (by) · · , ,
  59. Automatic CloudFront Invalidation for S3 Origins (via) · · , ,
  60. a11y-syntax-highlighting (by) · · , , ,
  61. Checking if an Input Is Empty With CSS (by) · · ,
  62. On Visions for Performance, or: Performance Optimization Is a Process (by) · · , , ,
  63. A Blue Beanie for Blue Beanie Day (via) · · , , ,
  64. Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (by/via) · · , , , ,
  65. JavaScript Is for Web Apps, Not for Websites · · ,
  66. Should Designers Code (by) · · , ,
  67. Performance Rule #1: Do What You Need to Do—But Not More (by) · · ,
  68. AWS Security Guide: 7 Best Practices to Avoid Security Risks (via) · · , , ,
  69. Non-Noxious Nomenclature (via) · ·
  70. Writing for Designers (by/via) · · , ,
  71. How to Configure Lighthouse for Balanced Quality Websites (by) · · , , , , ,
  72. The Psychology of Design (by/via) · · , ,
  73. Privacy by Design: How to Sell Privacy and Make Change (by/via) · · ,
  74. A Short Guide to Minimal Web Development (by) · · , , ,
  75. Responsive Images (by/via) · · , , ,
  76. Web Development and the GDPR (by) · · , ,
  77. Conversational Semantics (by/via) · · , ,
  78. CSS Logical Properties and Values Level 1 (by+/via) · · , ,
  79. CSS Logical Properties (by/via) · · ,
  80. 37 Theses on CSS and Web Development (by) · · , , ,
  81. Browser Painting and Considerations for Web Performance (by/via) · · , , , ,
  82. Icon Fonts vs. SVGs—Which One Should You Use in 2018? (via) · · , , ,
  83. New Syntax for JS “Function Stuff” (by) · · , ,
  84. Doing More With Less, an Introduction to a CSS Pre-Processor · · , , ,
  85. Webmentions: Enabling Better Communication on the Internet (by/via) · ·
  86. AMP, a Strategy (by) · · , ,
  87. The Craft of CSS (by) · · ,
  88. Marketing as a Front End Web Developer? · ·
  89. The Problem With Patterns (by/via) · · , , , ,
  90. 10 Things I Regret About Node.js (by/via) · · ,
  91. Whatever Happened to the Semantic Web? (via) · · , , , ,
  92. The Slow Death of Internet Explorer and the Future of Progressive Enhancement (by/via) · · , , ,
  93. The Dangers of Being a Web Developer (by/via) · · ,
  94. Responsive Tables, Revisited (by) · · , ,
  95. Priority Guides: A Content-First Alternative to Wireframes (via) · · , ,
  96. rfc.fyi (by) · · ,
  97. CSS Optimization Basics (by) · · , , ,
  98. Going Offline (by/via) · · , , ,
  99. MongoDB Evolved (via) · · , ,
  100. Introducing Last Painted Hero (by/via) · · ,
  101. Python Developers Survey 2017 Results (via) · · ,
  102. Trickle Down Accessibility (by) · · ,
  103. Conversational Design (via) · · ,
  104. Could This Be Easier? (by) · ·
  105. 10 Advanced Joomla Tips to Become a Pro (via) · · ,
  106. We Write CSS Like We Did in the 90s, and Yes, It’s Silly (by/via) · · , , , ,
  107. Your Interactive Makes Me Sick (by/via) · · , , ,
  108. What Happens to Us Does Not Happen to Most of You (by/via) · · ,
  109. HTML, CSS, and Dependency Direction (by) · · , , , ,
  110. How Declaration Repetition Developed Over Time, a Statistically Insignificant Sample (by) · · , , ,
  111. What’s New in ECMAScript 2018 (by) · · ,
  112. The Compact Guide to Web Maintainability: 200 Tips and Resources (by) · · , , ,
  113. Finding Dead CSS (by) · · , ,
  114. The Two Extremes of Writing CSS, and What We Can Learn From Them (by) · · , , , ,
  115. HTML 5.2 (by+/via) · · ,
  116. How the Sausage Gets Made: The Hidden Work of Content (by/via) · · ,
  117. What Donald Rumsfeld Can Teach Us About Software Estimates (by) · · , ,
  118. Performance of CSS Selectors Is Still Irrelevant (by) · · , ,
  119. On Big Picture Thinking in Web Development (by) · · , , , , ,
  120. Faux Grid Tracks (by/via) · · ,
  121. CSS: The Reason Why Selectors Should Be Ordered, Too (by) · · , ,
  122. Testing Standards (by) · · , , ,
  123. Static Site Generation With Grow: How to Set Up Syndication Feeds (by) · · , , ,
  124. All You Need to Know About CSS-in-JS (by) · · , ,
  125. Planning for Accessibility (by/via) · · , , ,
  126. Ten Extras for Great API Documentation (via) · · , ,
  127. Web Typography: Designing Tables to Be Read, Not Looked At (by/via) · · , , ,
  128. DRY CSS: How to Use Declarations Just Once, Effectively (by) · · , , ,
  129. 5 Reasons Against Resets, Normalizers, Reboots (by) · · ,
  130. The Front-End Checklist (by) · · , , , , , , , ,
  131. A Look Back at the History of CSS (by/via) · · , , , ,
  132. Understandable-Simple vs. Minimal-Simple Code (by) · · ,
  133. The Ultimate Guide for Building Awesome Joomla Websites (by) · · , ,
  134. Using Webfonts (by/via) · · , ,
  135. On Enforcing Coding Guidelines (by) · · , ,
  136. Considering Open Source Licenses (via) · · ,
  137. The Web’s First (and Second) Browser (by) · · , , ,
  138. Introduction to WebRender—Browsers Today (by/via) · · , , , ,
  139. The Ten Essentials for Good API Documentation (via) · · , , ,
  140. Encrypted Media Extensions (via) · · , ,
  141. The Cost of Frameworks, Illustrated (by) · · ,
  142. CSS @-Rules, an Overview (by) · · , ,
  143. Announcing CoffeeScript 2 (via) · · ,
  144. Conducting the Technical Interview (by/via) · · , ,
  145. What We Should Teach Up-and-Coming Developers (by) · · , , ,
  146. How to Write Better Code: The 3 Levels of Code Consistency (by/via) · · ,
  147. Yes, That Web Project Should Be a PWA (by/via) · ·
  148. What Kills and What Saves Content Management Systems (by) · · , ,
  149. Integrating Animation Into a Design System (by/via) · · , ,
  150. Web Development: How Making Our Own Lives Difficult Is More Important Than We Think (by) · · , ,
  151. Frameworks, Libraries, and the Modern Web Developer: Web Development, Overdone (by) · · , ,
  152. What I Learned Building Google’s Web Frameworks (by) · · , , , ,
  153. Stop Using Resets: Visual Examples of the Practical Nonsense of Resets and Normalizers (by) · · , ,
  154. Two Paradigms of Web Development (by) · · , , ,
  155. How (Not) to Control Your CDN (by) · · , , ,
  156. Color Accessibility Workflows (by/via) · · , ,
  157. Laravel vs. Symfony—Clash of the Frameworks (via) · · , , , ,
  158. 70% Repetition in Style Sheets: Data on How We Fail at CSS Optimization (by) · · , , , ,
  159. No Namespaces in JSON, Please (by) · · ,
  160. Web Design Museum (by/via) · · , ,
  161. JavaScript Framework Comparison—AngularJS, Vue.js, Meteor.js, or Next.js (via) · · , , , , , ,
  162. Four Killer Features of Nunjucks (by/via) · ·
  163. Why I Abandoned “@ apply” (by) · · ,
  164. PWA Stats (via) · · , , ,
  165. Conventional Commits (by) · · , , , ,
  166. Grid Garden (by) · · , , ,
  167. Practical CSS Grid: Adding Grid to an Existing Design (by/via) · · ,
  168. Guetzli, Google’s New JPEG Encoder (by) · · , , , ,
  169. What Is SMACSS and How to Use It (via) · · , ,
  170. Explorations in the Virtual DOM: How React.js Impacts Accessibility (by) · · , , ,
  171. Principles of Web Development (by) · · , , , , ,
  172. Using HTTP/2 Responsibly: Adapting for Users (by/via) · · , , , ,
  173. Considering How We Use HTTP/2 (by/via) · · , , ,
  174. What’s New in ECMAScript 2017 (by) · · ,
  175. Foundation Framework Crash Course (via) · · , ,
  176. A Compendium of SVG Information (by/via) · · , , ,
  177. The Imbalance of Culture Fit (by/via) · · , , ,
  178. Best Text Editor? Atom vs. Sublime vs. Visual Studio Code vs. Vim (via) · · , , , ,
  179. Serving Custom Headers From Static Sites on CloudFront/S3 With Lambda@Edge (by) · · , ,
  180. Demystifying Public Speaking (by/via) · · , , , ,
  181. Why I Don’t Use CSS Preprocessors (by) · · ,
  182. CSS Shorthand Syntax Considered an Anti-Pattern (by) · · , ,
  183. Nesting Your BEM? (by) · · , ,
  184. Frameworks Without the Framework: Why Didn’t We Think of This Sooner? (by/via) · · ,
  185. Performance: Shame, Hope, Nuance, and Interesting Problems (by) · ·
  186. The Coming Revolution in Email Design (via) · · , ,
  187. Stop Using the Old “Clearfix” (by) · · ,
  188. CSS Post-Processors for Beginners: Tips and Resources (by/via) · · , , , ,
  189. Awaken the Champion A/B Tester Within (by/via) · · ,
  190. JavaScript for Web Designers: DOM Scripting (by/via) · · ,
  191. Standards on GitHub (by) · · ,
  192. Using CSS Mod Queries With Range Selectors (via) · · ,
  193. Putting Down Event Infrastructure in Gecko (by) · · , , ,
  194. Silverlight Techniques for WCAG 2.0 (by+/via) · · , , ,
  195. The Glory Days of the Web (by) · · , , , , , ,
  196. A Redesign With CSS Shapes (by/via) · · , , ,
  197. How It Feels to Learn JavaScript in 2016 (by) · · ,
  198. Notepad++ Release 7 64-Bit Available (by) · · ,
  199. Why We Should All Be Data Literate (by/via) · · , ,
  200. Autoprefixing, With CSS Variables! (by) · · , ,
  201. Webfonts on the Prairie (via) · · ,
  202. Spectre: A Lightweight CSS Framework (via) · · ,
  203. Code: Align the Happy Path to the Left Edge (by) · · , ,
  204. How to Choose the Right CSS Toolkits and Frameworks (by+/via) · · , , , ,
  205. Accelerated Mobile Pages, a Critical View (by) · · ,
  206. Communicating Animation (by/via) · · , , ,
  207. How to: Static Site With Grow.io and Netlify · · , , ,
  208. Practical SVG (by/via) · · ,
  209. Visual Regression Testing With PhantomCSS (via) · · , ,
  210. Getting Started With Vue.js (by/via) · · ,
  211. The Business Case for Progressive Web Apps (by/via) · · ,
  212. The Anatomy of a Coding Guideline (by) · · ,
  213. On Tailoring and Web Frameworks (by) · · ,
  214. Custom Formatting in HTML and LaTeX Code Listings Using Pandoc (by) · · , ,
  215. WordPress Theme Automation With Gulp (by/via) · · , , ,
  216. The Foundation of Technical Leadership (by/via) · · , , ,
  217. A History of CSS Image Replacement (via) · · , , , ,
  218. Web Platform Security Boundaries (by) · · ,
  219. The Future of the Web (by/via) · · ,
  220. Quick Tip: DRY Up Your Model Validations Tests (by/via) · · , , , ,
  221. A Quick Introduction to CoffeeScript (via) · · ,
  222. An Overview of Liquid: Shopify’s Templating Language (by/via) · · , , ,
  223. 10 Cool Things You Can Do With CodePen and JavaScript (by/via) · ·
  224. The Importance of Code Reviews (by/via) · · , ,
  225. jQuery 3.0 Final Released (by/via) · · ,
  226. Cleanly Handling a Fork on GitHub (by) · · ,
  227. Regular Expressions in JavaScript (by/via) · · ,
  228. Introducing the CSS “Clip-Path” Property (via) · · , ,
  229. The Beginner’s Guide to Content Strategy (by/via) · · , ,
  230. Quick Tip: Single Character Transforms With CSS and JS (by/via) · · , , ,
  231. An Introduction to the Basics of Modern CSS Buttons (via) · · , , ,
  232. Crash Course: Learn the Sketch UI in Roughly 4 Minutes 20 Seconds (by/via) · · ,
  233. A Tale of CSS and Sass Precision (by/via) · · ,
  234. Never Show a Design You Haven’t Tested on Users (by/via) · · , , ,
  235. Introducing the CSS Grid Layout (via) · · , ,
  236. Meaningful CSS: Style Like You Mean It (by/via) · · , ,
  237. Improving the Quality of Your CSS With PostCSS (via) · · , , ,
  238. 5 Career-Ending Mistakes Web Developers Make (via) · · , , ,
  239. Affiliate Marketing Tips for 2016 (via) · · , ,
  240. Technical Debt: Rescuing Legacy Code Through Refactoring (by/via) · · , , , , ,
  241. A Brief(ish) History of the Web Universe: New Hope(s) (by) · · , , , ,
  242. Interview With Vivaldi CEO Jón S. von Tetzchner (by+/via) · · , , ,
  243. Vivaldi 1.0 Release: Your New Default Browser? (by/via) · · ,
  244. What Is the Definition of a “CSS Hack”? (by/via) · · , , ,
  245. Vivaldi 1.0: Not for Everybody, Just You (by/via) · · ,
  246. 6 jQuery Infinite Scrolling Demos (by+/via) · · , ,
  247. How to Use PostCSS With Gulp (via) · · , , ,
  248. Using Map and Reduce in Functional JavaScript (by/via) · ·
  249. Why I Don’t Use CSS Preprocessors (by) · · ,
  250. How to Migrate a WordPress Site to a New Domain and Hosting (via) · · , , , ,