{"id":2585,"date":"2024-06-06T10:52:45","date_gmt":"2024-06-06T16:52:45","guid":{"rendered":"https:\/\/frontendmasters.com\/blog\/?p=2585"},"modified":"2024-06-06T10:52:46","modified_gmt":"2024-06-06T16:52:46","slug":"frontend-to-fullstack-monthly-14-the-state-of-html-in-2024","status":"publish","type":"post","link":"https:\/\/frontendmasters.com\/blog\/frontend-to-fullstack-monthly-14-the-state-of-html-in-2024\/","title":{"rendered":"Frontend to Fullstack Monthly #14 \u2013\u00a0The state of HTML in 2024"},"content":{"rendered":"\n<p>We&#8217;re back with Frontend to Fullstack Monthly #14 \u2013 new courses, updates, and all the industry&#8217;s latest news!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frontend Masters Boost (From this Blog)<\/h2>\n\n\n\n<p>This month, Boost welcomed new writers sharing essential tools, technology, and modern browser features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sacha Greif, co-creator of the\u00a0<a href=\"https:\/\/2023.stateofhtml.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">first-annual HTML survey<\/a>\u00a0stopped by to\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/state-of-html-2023-results-2\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">share interesting findings<\/a>\u00a0from the results of the survey.<\/li>\n\n\n\n<li>CSS just might be the fastest-moving web technology right now. We&#8217;ve covered scroll-driven animations a few times, and this month Preethi Sam gets deeper into it showing off\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/using-css-scroll-driven-animations-for-section-based-scroll-progress-indicators\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">making reading progress indicators<\/a>\u00a0not for the whole page but for\u00a0<em>sections<\/em>\u00a0of a page. The Popover API is also now available across browsers. You can use it via HTML alone, but it&#8217;s likely CSS will help make it fit your design. It&#8217;s the perfect thing for tooltips, but unfortunately we don&#8217;t have the anchor positioning API to go with it yet. Still,\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/using-the-popover-api-for-html-tooltips\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">we can use popovers for tooltips<\/a>\u00a0with a smidge of extra JavaScript. Lastly, here&#8217;s a CSS property I&#8217;ll be you&#8217;ve never heard of:\u00a0<code>overflow-clip-margin<\/code>\u00a0and\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/the-classic-border-radius-advice-plus-an-unusual-trick\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">it&#8217;s got a cool trick up it&#8217;s sleeve<\/a>.<\/li>\n\n\n\n<li>When you are building with a framework, it&#8217;s often not\u00a0<em>only<\/em>\u00a0that framework that concerns you. There might be a meta framework on top of it. There might be additional needs the framework intentially doesn&#8217;t handle for you. For instance, if you&#8217;re building with React, you might use Next.js on top of it, and a styling library like Styled Components as those other tools have no particular opinion about styles. Over in Vue land,\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/the-vue-ecosystem-in-2024\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">Ben Hong shared with us the whole Vue ecosystem.<\/a>\u00a0That includes routing libraries, state management, meta frameworks, testing libraries, and much more. Ben is a Vue core team member so this is gold!<\/li>\n\n\n\n<li>There is a very simple way to &#8220;prefetch&#8221; a web request: use HTML. The\u00a0<code>&lt;link rel=\"prefetch\" href=\"\u2026\"><\/code>\u00a0tag will do just that, caching the results. You should be relatively sure a user needs this data, but if you are, it can be a performance improvement. Adam Rackis shares how it can leveraged\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/prefetching-when-server-loading-wont-do\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">when a frameworks server-side data fetching can&#8217;t be used<\/a>.<\/li>\n<\/ul>\n\n\n\n<p>For beginners:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Putting your very first website online (we call that\u00a0<em>deploying<\/em>) is a\u00a0<em>big<\/em>\u00a0moment. It might just hook you on this whole web thing. To take any guesswork out of it,\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/exactly-how-to-deploy-local-files-to-make-a-live-website\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">we have a step-by-step instructions for one way to deploy a website<\/a>. If you&#8217;ve never written a line of JavaScript, but perhaps have a bit of experience in design or HTML\/CSS, you may get something out of our\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/5-things-designers-can-do-with-javascript\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">Five Basic Things About JavaScript That Will Help Non JavaScript-Focused Web Designers<\/a>. You also might feel overwhelmed sometimes trying to figure out how to spend the learning time you have.\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/how-do-you-divide-your-time-dedicated-to-extracurricular-tech-things\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">Members of our Discord weighed in on that<\/a>\u00a0recently with some sage advice.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Frontend Masters Courses<\/h2>\n\n\n\n<p>We launched four new courses:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A revamp of our most popular CSS course:\u00a0<a href=\"https:\/\/frontendmasters.com\/courses\/css-grid\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">Ultimate CSS Grid &amp; Layout Techniques, v3<\/a><\/li>\n\n\n\n<li>Three courses centered around user feedback:\u00a0<a href=\"https:\/\/frontendmasters.com\/courses\/ux-testing\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">UX Research &amp; User Testing<\/a>,\u00a0<a href=\"https:\/\/frontendmasters.com\/courses\/product-design\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">The Product Design Process<\/a>, and\u00a0<a href=\"https:\/\/frontendmasters.com\/courses\/product-launch\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">Guide for Launching Your Next Big Idea<\/a>.<\/li>\n<\/ul>\n\n\n\n<p>We have recorded a ton of courses recently and will be releasing at least four more courses this month!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Industry news &amp; updates<\/h2>\n\n\n\n<p>Last month we shared news that the\u00a0<a href=\"https:\/\/webkit.org\/blog\/15269\/help-us-invent-masonry-layouts-for-css-grid-level-3\/\" target=\"_blank\" rel=\"noreferrer noopener\">WebKit<\/a>\u00a0and\u00a0<a href=\"https:\/\/developer.chrome.com\/blog\/masonry?hl=en\" target=\"_blank\" rel=\"noreferrer noopener\">Chrome<\/a>\u00a0teams were somewhat at odds on how best to implement &#8216;masonry-style&#8217; layouts in CSS. The\u00a0<a href=\"https:\/\/keithjgrant.com\/posts\/2024\/05\/weighing-in-on-css-masonry\/\" target=\"_blank\" rel=\"noreferrer noopener\">conversation has continued<\/a>\u00a0at pace, with\u00a0<a href=\"https:\/\/piccalil.li\/blog\/masonry-and-tabbing\/\" target=\"_blank\" rel=\"noreferrer noopener\">lots of thoughts<\/a>\u00a0on the best way forward, and\u00a0<a href=\"https:\/\/rachelandrew.co.uk\/archives\/2024\/05\/26\/masonry-and-reading-order\/\" target=\"_blank\" rel=\"noreferrer noopener\">why certain approaches are favored<\/a>.<\/p>\n\n\n\n<p>Google I\/O took place a couple of weeks back and beyond the\u00a0<a href=\"https:\/\/developer.chrome.com\/blog\/web-at-io24\" target=\"_blank\" rel=\"noreferrer noopener\">banging of the AI drum<\/a>, there&#8217;s now\u00a0<a href=\"https:\/\/www.youtube.com\/playlist?list=PLOU2XLYxmsIKeQI4KTrrplA_mUPI3Lq5b\" target=\"_blank\" rel=\"noreferrer noopener\">a full YouTube playlist of all the session videos<\/a>\u00a0\u2014 plenty worth watching here, including\u00a0<a href=\"https:\/\/youtu.be\/_-6LgEjEyzE?si=S6SB2O2GCJqBUMS3\" target=\"_blank\" rel=\"noreferrer noopener\">Una Kravets taking a look over the latest in web UI<\/a>.<\/p>\n\n\n\n<p>\u2728 Key releases you may want on your radar:\u00a0<a href=\"https:\/\/astro.build\/blog\/astro-490\/\" target=\"_blank\" rel=\"noreferrer noopener\">Astro 4.9<\/a>,\u00a0<a href=\"https:\/\/storybook.js.org\/blog\/storybook-8-1\/\" target=\"_blank\" rel=\"noreferrer noopener\">Storybook 8.1<\/a>,\u00a0<a href=\"https:\/\/blog.angular.dev\/angular-v18-is-now-available-e79d5ac0affe\" target=\"_blank\" rel=\"noreferrer noopener\">Angular 18<\/a>,\u00a0<a href=\"https:\/\/ionic.io\/blog\/announcing-ionic-8-1\" target=\"_blank\" rel=\"noreferrer noopener\">Ionic 8.1<\/a>,\u00a0<a href=\"https:\/\/nextjs.org\/blog\/next-15-rc\" target=\"_blank\" rel=\"noreferrer noopener\">Next.js 15 RC<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tutorials and articles<\/h2>\n\n\n\n<p>With&nbsp;<a href=\"https:\/\/developer.chrome.com\/blog\/anchor-positioning-api\" target=\"_blank\" rel=\"noreferrer noopener\">anchor positioning built into the browser<\/a>, you\u2019ll now be able to build layered user interfaces&nbsp;<em>without<\/em>&nbsp;relying on third-party libraries. The CSS Anchor Positioning API is in Chrome as of version 125.<\/p>\n\n\n\n<p>Jiayi Hu shares a thorough&nbsp;<a href=\"https:\/\/blog.jiayihu.net\/comprenhensive-guide-chrome-performance\/\" target=\"_blank\" rel=\"noreferrer noopener\">walkthrough of the practicalities of using Chrome DevTools<\/a>&nbsp;for digging into performance issues.<\/p>\n\n\n\n<p>Chris Coyier notes that&nbsp;<a href=\"https:\/\/frontendmasters.com\/blog\/weve-got-container-queries-now-but-are-we-actually-using-them\/?utm_source=email&amp;utm_medium=email&amp;utm_campaign=fefs14\" target=\"_blank\" rel=\"noreferrer noopener\">container query adoption isn\u2019t particularly high, and shares some reasons as to why that may be the case<\/a>&nbsp;(beyond it just being new, and any potential browser support concerns).<\/p>\n\n\n\n<p><a href=\"https:\/\/x.com\/WordPress\/status\/1795196552048173268\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress just turned 21<\/a>&#8230; but not everyone is celebrating \u2014&nbsp;<a href=\"https:\/\/dbushell.com\/2024\/05\/07\/modern-wordpress-themes-yikes\/\" target=\"_blank\" rel=\"noreferrer noopener\">David Bushell is frustrated<\/a>&nbsp;with the current &#8216;code-within-code&#8217; approach to WP development.<\/p>\n\n\n\n<p>Jen warns when testing the responsiveness of our sites, we need to&nbsp;<a href=\"https:\/\/www.jenchan.biz\/blog\/stop-resizing-your-browser-improve-responsive-testing\" target=\"_blank\" rel=\"noreferrer noopener\">stop just resizing the browser<\/a>&nbsp;and should instead use device emulation.<\/p>\n\n\n\n<p>Adam Argyle and Kevin Powell \u25b6&nbsp;<a href=\"https:\/\/www.youtube.com\/watch?v=opHu7HvFM60\" target=\"_blank\" rel=\"noreferrer noopener\">chat about under the radar CSS features in this video<\/a>, highlighting 23 that you should know, and be using. A good refresher on what&#8217;s possible.<\/p>\n\n\n\n<p>Preethi Sam runs through\u00a0<a href=\"https:\/\/frontendmasters.com\/blog\/how-to-make-a-css-timer\/\" target=\"_blank\" rel=\"noreferrer noopener\">making a timer with CSS<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful projects<\/h2>\n\n\n\n<p><a href=\"https:\/\/webstatus.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">webstatus.dev is a new dashboard<\/a>, from Google, highlighting web platform features.<\/p>\n\n\n\n<p><a href=\"https:\/\/css-pattern.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">CSS Pattern<\/a>&nbsp;is a growing collection of nice background patterns from Temani Afif. It&#8217;s now 144 strong, and, as you&#8217;d expect, all made with just CSS.<\/p>\n\n\n\n<p>This browser-based tool attempts to&nbsp;<a href=\"https:\/\/www.lightgalleryjs.com\/jquery-to-js-converter\/\" target=\"_blank\" rel=\"noreferrer noopener\">quickly convert jQuery-based scripts<\/a>&nbsp;into efficient modern JavaScript.<\/p>\n\n\n\n<p>Fontsource has&nbsp;<a href=\"https:\/\/fontsource.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">over 1,500 open-source fonts<\/a>&nbsp;to browse&nbsp;<em>and<\/em>&nbsp;integrate into your project via npm packages. Handy.<\/p>\n\n\n\n<p>If you&#8217;re looking for design inspiration,\u00a0<a href=\"https:\/\/www.designspells.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Design Spells<\/a>\u00a0is a nice resource.<\/p>\n\n\n\n<p>Thanks for reading \u2013 see you in the next issue!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;re back with Frontend to Fullstack Monthly #14 \u2013 new courses, updates, and all the industry&#8217;s latest news! Frontend Masters Boost (From this Blog) This month, Boost welcomed new writers sharing essential tools, technology, and modern browser features: For beginners: Frontend Masters Courses We launched four new courses: We have recorded a ton of courses [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":2192,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[172],"class_list":["post-2585","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-post","tag-newsletter"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2024\/05\/newsletter.jpg?fit=1792%2C1024&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/2585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/comments?post=2585"}],"version-history":[{"count":1,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/2585\/revisions"}],"predecessor-version":[{"id":2586,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/2585\/revisions\/2586"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media\/2192"}],"wp:attachment":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media?parent=2585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/categories?post=2585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/tags?post=2585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}