JSJ 269 Reusable React and JavaScript Components with Cory House
JavaScript Jabber11 Heinä 2017

JSJ 269 Reusable React and JavaScript Components with Cory House

JSJ 269 Reusable React and JavaScript Components with Cory HouseOn today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in![00:01:35] – OverviewWe can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done.Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. [00:04:50] – Browser support issueThe story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load different components.Whether you’re in Angular or React, you have this model of putting your data in your curly braces. That setup is non-existent in standardized web components. You have to play the game of putting and pulling data into and out the DOM using DOM selectors. You actually take a step backward in developer ergonomics when you choose to leverage the platform instead. [00:07:50] – Polymer The reason that Polymer is useful is it adds some goodness on top of web components. One of those things is that it makes it easier to bind in data and not having to do things like writing a DOM query to be able to get your hands on this div and put this text inside of it. With Polymer, you can do something that feels more like Angular, where you can put in your curly braces and just bind in some data into that place. Polymer ends up adding some nice syntactic sugar on top of the web components standard just to make it easier to create web components. Polymer is also used to bundle in Polyfill for the features across browser. [00:14:20] – Standards are deadNo. The standard itself has been embraced at different levels by different libraries. What you can see for the near future is popular libraries leveraging pieces of the web components platform to do things in a standard-spaced way. Effectively, Angular, Vue, Aurelia, are going to be abstractions over the web components standard. Arguably the most popular way to do components today is React. But React completely ignores the web components standard. When you look at React, you can’t see what piece of the web components standard would fundamentally make React a better component library.Cory can’t seem to run to anybody that is actually using the standard in production to build real applications. People continue to reach for the popular JavaScript libraries that we so often hear about.[00:17:05] – Libraries making reusable componentsThere is a risk that it would have been a waste for people writing components on Angular, for React, for Vue. But it’s not necessarily safer writing on the web component standard when you have so few people leveraging that standard. There’s always the risk that that standard may shift as well.As an example, Cory’s team created approximately 100 reusable components in React. If they end up moving to a hot new library, the components are really just functions that take parameters and contain HTML. There is little there[00:21:20] – Why opt for reusable componentsReusable components are inherently useful in a situation where you’re going to be doing something more than once. If you think about any work that you do as a software developer, we’d like to think that we’re coming in and creating new things but often it is groundhogs day. There are all sorts of opportunities for reuse.As a company, we want to encapsulate our forms in reusable components so it’s literally impossible for our software developers to do something that goes against our standard. That’s the power of reusable components. [00:31:20] – Rigid component vs. flexible component As component developers, if we try to create a reusable component in a vacuum, bad things happen. If you’re going to do a reusable component, start by solving a specific problem on a given application. If we think that a component’s going to be useful in multiple places, we put it in a folder called reusable right there in our application source folder.We try to follow that rule of three as well. If we’ve taken that component and used it in 3 places, that’s a good sign that we should extract it out, put it in our NPM package, that way, everybody has this centralized component to utilize. At that point, it has been tested. It’s been through the fire. People have used it in the real world in a few places so we can be confident that the API is truly flexible enough.Be as rigid as you can upfront. Once you add features, it’s really hard to take features away. But it’s quite easy to add features later. If you start with something rigid, it’s easier to understand. It’s easier to maintain and you can always add a few more switches later.[00:36:00] – Reusable componentsThe reason that we can’t reuse code is every time a new project comes up, people are spending up their own ideas rather than leveraging standards that should have been put in place previously.We’ve had the technical ability to do this for a long time. We just haven’t been around long enough for consolidation to happen, for standardization to happen. You look at how quickly things are changing in our industry. For instance, a couple of years ago, everybody had pretty much decided that two-way binding was the way to build web applications. And then, React came along and shook that up. So today, you have different ways of thinking about that issue.[00:42:45] – Component development on teamsAimee’s team has component development and they’re using Angular 1.6. All of our base components are sitting in a seed application. We just go in when we want to create a new property and we just extend all of those components with specific functionalities that we need.[00:47:45] – Mobile to web crossoverCory’s team is creating React components but it’s not leveraged on a mobile application. But people use React Native components on the web. And in fact, if you use create-react-app today, you can do that right now. It’s wired up to work in React Native components. In that way, you can literally have these same components running on your Native mobile apps as you do on your web application.[00:50:00] – ChallengeCory’s challenge for everybody listening is sit down with your team and have a quick conversation about whether you think components make sense. Look back at the last few months of development and say, "if we have a reusable component library, what would be in it? How often have we found ourselves copying and pasting code between different projects? How much benefit would we get out of this story?"Once you’ve realized the benefits of the component model, both in the way that makes you think about your application, in a way that it helps you move faster and faster over time, I really think you won’t go back to the old model. I’d encourage people to investigate reusable components, whether that’d be React, Angular, Vue or Ember.PicksCory HouseJoe EamesAimee KnightCharles Max WoodJSJ 269 Reusable React and JavaScript Components with Cory HouseOn today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in![00:01:35] – OverviewWe can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done.Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. [00:04:50] – Browser support issueThe story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load differ

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(734)

Svelte 5: Compiler, Signals, and Web App Performance - JSJ 627

Svelte 5: Compiler, Signals, and Web App Performance - JSJ 627

Rich Harris joins this week's episode. They dive deep into the world of web application performance, signals, and the capabilities of Svelte 5. Join them as they explore the innovative features of Svelte 5, its compiler capabilities, and its potential impact on application building. From discussing the fastest mainstream framework to drawing parallels with traditional compiler optimization modes, they leave no stone unturned in dissecting the advancements in Svelte 5. Stay tuned as they also explore topics like React server components, the controversy around embedding SQL in React components, and much more. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsGitHub: Rich HarrisPicksCharles - Sushi Go Party! | Board GameDan - "Rethinking reactivity" talk by Rich Harris from 2019Dan - I Care a Lot Dan - Saga of the Pliocene ExileBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

9 Huhti 20241h 21min

Embracing Web Standards with Owen Buckley - JSJ 626

Embracing Web Standards with Owen Buckley - JSJ 626

Delve into a thought-provoking discussion with Owen Buckley, a seasoned web developer with 20 years of experience. Owen introduces Greenwood, a project focused on leveraging web standards and simplifying web development. Throughout the episode, They explore Greenwood's evolution, capabilities, and unique approach to application scaffolding and local development. From the emphasis on HTML and web components to Greenwood's seamless integration with HTMX, they uncover the project's vision to provide an onramp close to web standards. Join them as they navigate through the world of web development and gain valuable insights from Owen's expertise and passion for web standards and components.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Owen BuckleyPicksCharles - The White CastleOwen - Hypermedia SystemsBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

2 Huhti 20241h 9min

Simplifying Development with Deno - JSJ 625

Simplifying Development with Deno - JSJ 625

Kevin Whinnery is the Head of Developer Relations at Deno. They dive deep into the world of Deno, exploring its evolution, functionality, and differences from its predecessor, Node.js. They discuss the challenges Deno has faced in establishing compatibility with the NPM ecosystem, its out-of-the-box TypeScript support, built-in tools, and its use in edge computing. With insights into Deno's standard library, TypeScript implementation, and plans for improving compatibility with popular meta frameworks, this episode is a must-listen for developers looking to stay ahead in the ever-evolving world of JavaScript. Get ready to uncover the latest developments in Deno and its impact on the development landscape!SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Kevin WhinneryGitHub: kwhinneryTwitter: @kevinwhinneryPicksCharles - ApiaryCharles - Puppeteer | PuppeteerDan - The GentlemanKevin - House of NinjasSteve - New data shows: Tabs more popular than Spaces. But Spaces users are happier.Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

29 Maalis 20241h 14min

Navigating Web Development Challenges - JSJ 624

Navigating Web Development Challenges - JSJ 624

Shay Davidson is a full-stack web, mobile, and game developer. He is currently leading the front end at Lemonade. The discussion revolves around the use of Supabase as a free database and its comparisons to Firebase for developer experience. They dive into building applications with Next.js and React 18, utilizing React Server Components to interact with the Supabase API. They share their experiences, frustrations, and insights regarding caching mechanisms, server actions, and the challenges of adapting to new technologies in the React ecosystem. The episode also delves into the React server components controversy, the importance of learning and experimenting with new technologies, the use of AI for creative purposes, and the potential dangers of deep fakes.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Shay DavidsonPicksAJ - Dune: Part Two (2024)Dan - Arnold Schwarzenegger Sings About Rainbows (AI)Dan - Finance worker pays out $25 million after video call with deepfake CFOShai - Rendezvous with RamaSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

18 Maalis 20241h 16min

Unveiling Chrome DevTools: Network Monitoring, Cache Debugging, and Beyond - JSJ 623

Unveiling Chrome DevTools: Network Monitoring, Cache Debugging, and Beyond - JSJ 623

Michael Hablich is the product lead for Chrome DevTools and Puppeteer. They delve into a comprehensive discussion on various features and uses of the network tab for monitoring API calls, performance debugging with cache, simulating network conditions, and visual understanding of page loading. They cover topics such as debugging, PHP, and the history of dev tools. Michael Hablich shares insights into the development and evolution of Chrome DevTools, highlighting its migration to TypeScript and the team behind it.Tune in to uncover the challenges and advancements in debugging tools, the potential integration of AI, and a range of powerful features within Chrome DevTools.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Michael HablichPicksDan - Killing EveMichael - Spirit IslandsSteve - Victory GripsSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

12 Maalis 20241h 22min

The Alphabet Soup of Performance Measurements - JSJ 622

The Alphabet Soup of Performance Measurements - JSJ 622

Dan Shappir takes the lead in explaining all of the acronyms and metrics for measuring the performance of your web applications. He leads a discussion through the ins and outs of monitoring performance and then how to improve and check up on how your website is doing.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinks<picture>: The Picture element - HTML: Hypertext Markup Language | MDNPicksAJ - The Way of KingsAJ - Taco BellAimee - web.devAimee - @DanShappirDan - New accessibility feature in Chrome Dev Tools: simulate vision deficiencies, including blurred vision & various types of color blindness. In Canary at the bottom of the Rendering tab.Dan - Better Call SaulSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

27 Helmi 20241h 19min

Simplifying Full-Stack Dev with the "Boring JavaScript Stack" and Sails Framework - JSJ 621

Simplifying Full-Stack Dev with the "Boring JavaScript Stack" and Sails Framework - JSJ 621

Kelvin Omereshone is the lead maintainer of Sales.js. In this episode, they uncover the complexities of the "Boring JavaScript Stack" and its implications for building full-stack web applications. They engage in in-depth discussions on MVC conventions, data modeling, front-end and back-end integration challenges, and the role of frameworks like React and Vue in UI development. Kelvin shares his insights on the "Boring JavaScript Stack" and its aim to simplify development by leveraging stable technologies. Alongside these technical discussions, they share personal anecdotes and delve into topics ranging from aquarium hobbies to drone certifications. Join them as they navigate through the multifaceted landscape of JavaScript developmentSponsorsChuck's Resume Template Developer Book Club Become a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Kelvin OmereshoneSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

20 Helmi 202453min

Unpacking Core Web Vitals - JSJ 620

Unpacking Core Web Vitals - JSJ 620

Harry Roberts is a web performance consultant. They immerse themselves in the critical realm of web performance and JavaScript. The esteemed panel, including the renowned Harry Roberts, delves into the intricate details of site speed measurement and the evolving landscape of web performance metrics. The conversation sheds light on the profound impact of Core Web Vitals on businesses and the challenges they pose. Join them as they navigate the intricacies of web development, explore the nuances of user experience, and unravel the complexities of performance optimization.SponsorsChuck's Resume Template Developer Book Club Become a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Harry RobertsGitHub: Harry RobertsPicksAJ - ImageOptimAJ - AmeriDroid AJ - CloudFreeAJ - TRÅDFRIAJ - Aquarium Co-OpAJ - MJ AquascapingAJ - AQUAPROSAJ - Father FishDan - Apple Vision ProDan - Cache Rules Everything | Harry Roberts | performance.now() 2023Dan - GriseldaSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

13 Helmi 20241h 19min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
herrasmieshakkerit
ostan-asuntoja-podcast
rss-lentopaivakirjat
leadcast
rss-rahamania
inderespodi
rss-laakispodi
rss-paasipodi
rss-neuvottelija-sami-miettinen
pomojen-suusta
markkinointi-mimmit
rss-startup-ministerio
rss-what-the-hair
rss-lounastauko
rss-johtajien-tyonhakusirkus
rss-rahataito-podcast