Topics covered in this potluck episode include hosting NextJS, spicy sidedishes, putting forms in modern websites, why is everyone abandoning TypeScript, and do front-end developers need to be into CSS.
Read more
AI Summary
AI Chapters
Episode notes
auto_awesome
Podcast summary created with Snipd AI
Quick takeaways
Using touch action manipulation can solve issues with zooming in on touch devices when rapidly pressing keys in word games built in the browser.
CSS features like Subgrid and the :has selector have graceful fallbacks, allowing for progressive enhancement of designs on all browsers.
The use of 'new' when throwing an error is a convention and personal preference, with 'throw new Error' and 'throw Error' essentially achieving the same result.
Deep dives
Use of touch action to prevent zooming on touch devices
One listener shared a use case for touch action, mentioning that they built word games in the browser that used an on-screen keyboard. Rapidly pressing keys would cause touch devices to zoom in on the pressed key. Using touch action manipulation solved this issue.
Progressive enhancement with CSS features like Subgrid and :has selector
Listeners pointed out that CSS features like Subgrid and the :has selector have acceptable graceful fallbacks, allowing them to progressively enhance their designs. They mentioned that they build their layouts to look decent on all browsers, and use advanced CSS features to enhance the experience for browsers that support them.
Throwing new Error vs throwing Error
The use of 'new' when throwing an error is a convention, with both 'throw new Error' and 'throw Error' essentially doing the same thing at the end of the day. The 'new' keyword is used to create a new instance of an error, while 'throw Error' is used to throw an error without specifically creating a new instance. It is more of a convention and personal preference.
Understanding terms like workers, processes, jobs, tasks, and daemons
In the context of building a JavaScript web app, a process refers to an instance of an application being run. A worker is a sub-process that computes part of a larger bit of computer work, ideal for running heavy tasks on a separate thread. A job or task is a unit of work that needs to be completed, such as resizing an image or importing data. A daemon is a background process that runs continually on a system, often without any interaction, constantly listening for certain events or tasks.
Being a front-end developer with varying interest in CSS
While it's important for front-end developers to have a good understanding of CSS, varying interest levels exist, and it's okay to focus more on the JavaScript side of things. Specializing in interaction-based development or back-end development could be a potential career path, and it's not necessarily an indication of not being meant to be a front-end developer. However, a solid understanding of CSS layout mechanisms is still necessary, even if not heavily focused on detailed CSS styling.
In this potluck episode of Syntax, Wes and Scott answer your questions about hosting NextJS, spicy sidedishes, putting forms in modern websites, why is everyone abandoning TypeScript, CSS Survey follow up, do devs need to be into CSS, and more!