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(735)

151 JSJ Getting Started with a Career in Web Development with Tyler McGinnis

151 JSJ Getting Started with a Career in Web Development with Tyler McGinnis

02:21 - Tyler McGinnis IntroductionTwitter GitHub BlogDevMountain Programming Bootcamp@DevMtn Firebase Experts Program03:23 - Getting Started at DevMountainHack ReactorNeedle04:38 - DevMountain ConceptionCahlan Sharp05:37 - How Do I Learn How to Code?Struggle. Fail. Tears.[Confreaks] Tyler McGinnis: What I’ve Learned about Learning from Teaching People to Code08:03 - Resources => Consume ALL THE InformationKatya Eames[YouTube] Katya Eames: How to Teach Angular to your KidsA Smarter Way to Learn JavaScript: The new approach that uses technology to cut your effort in half by Mark Myers11:16 - Two Camps: Art (Creators) and Technicians <= Does DevMountain Cater to One or the Other?13:08 - Repetition as a Way to LearnThe Hard Way Series (Zed Shaw)Follow @lzsthw for book related news, advice, and politeness 15:23 - Letting People Struggle vs Helping Them    17:14 - Training/Finding Instructors / Teaching Teachers to be Better Teachers21:08 - Why Is JavaScript a Good Language to Learn?JSX24:11 - DevMountain Mentors26:30 - Student Success Stories28:56 - Bootcamp Learning EnvironmentsReact Week@reactweekRyan Florence34:11 - Oldest and Youngest Students (Success Stories Cont’d)37:18 - Bootcamp Alumni (Employment Rates and Statistics)Picks Costco Kirkland Brand Peanut Butter Cups (Dave) [Confreaks] Tyler McGinnis: What I’ve Learned about Learning from Teaching People to Code (Dave) [YouTube] Katya Eames: How to Teach Angular to your Kids (Dave) [YouTube] Misko Hevery and Rado Kirov: ng-conf 2015 Keynote 2 (Dave) Mandy’s Fiancé (AJ) [YouTube] Katya Eames: How to Teach Angular to your Kids (Joe) ng-conf Kids (Joe) Salt (Joe) [YouTube] Dave Smith: Angular + React = Speed (Tyler) [YouTube] Igor Minor: (Super)Power Management (Tyler) React.js Newsletter (Tyler) Dave Smith’s addendum to his talk (Joe)Special Guest: Tyler McGinnis. Support 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 201550min

150 JSJ OIMs with Richard Kennard, Geraint Luff, and David Luecke

150 JSJ OIMs with Richard Kennard, Geraint Luff, and David Luecke

Check out RailsClips on Kickstarter!! 02:01 - Richard Kennard IntroductionTwitter GitHubKennard ConsultingMetawidget02:04 - Geraint Luff IntroductionTwitter02:07 - David Luecke IntroductionTwitterGitHub02:57 - Object-relational Mapping (ORM)NoSQLDuplication10:57 - Online Interface Mapper (OIM)CRUD (Create, Read, Update, Delete) UI (User Interface)12:53 - How OIMs WorkForm GenerationDynamic GenerationStatic GenerationDuplication of DefinitionsRuntime Generation16:02 - Editing a UI That’s Automatically GeneratedShape Information => Make Obvious Choice23:01 - Why Do We Need These?25:24 - Protocol? Metawidget 27:56 - Plugging Into Frameworksbackbone-formsJSON Schema33:48 - Making Judgement CallsWebComponents, ReactJSON APIAngularJS49:27 - Example OIMsJSON SchemaMetawidgetJsonary 52:08 - TestingPicks The Legend of Zelda: Majora's Mask 3D (AJ) 80/20 Sales and Marketing: The Definitive Guide to Working Less and Making More by Perry Marshall (Chuck) A Wizard of Earthsea by Ursula K. Le Guin (Chuck) Conform: Exposing the Truth About Common Core and Public Education by Glenn Beck (Chuck) Miracles and Massacres: True and Untold Stories of the Making of America by Glenn Beck (Chuck) 3D Modeling (Richard) Blender (Richard) Me3D (Richard) Bandcamp (David) Zones of Thought Series by Vernor Vinge (David) Citizenfour (Geraint) Solar Fields (Geraint) OpenPGP.js (Geraint) forge (Geraint)Special Guests: David Luecke, Geraint Luff, and Richard Kennard. Support 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.

11 Maalis 20151h 2min

149 JSJ Passenger Enterprise with Node.js with Hongli Lai and Tinco Andringa

149 JSJ Passenger Enterprise with Node.js with Hongli Lai and Tinco Andringa

Check out RailsClips on Kickstarter!! 02:39 - Hongli Lai IntroductionTwitter GitHub BlogPhusion03:08 - Tinco Andringa IntroductionGitHub03:23 - Phusion Passenger[GitHub] passenger06:13 - Automationnginx08:37 - Parsing HTTP HeadersHooking12:44 - Meteor Support15:37 - Future Added Features?17:12 - Passenger EnterpriseRuby Rogues Episode #143: Passenger Enterprise with Tinco Andringa and Hongli Lai About Phusion Passenger Documentation & Support20:03 - Concurrency and Multithreading  MultiprocessingThe Cluster ModuleWebSocketspassenger_sticky_sessions23:33 - Setting Up on a Server for a Node.js ApplicationDebian Packages25:06 - Union Station Monitoring Tool (Union Station Teaser)Introducing Union Station: our web app performance monitoring and behavior analysis service; now in open beta Using Google PolymerJavaScript Jabber Episode #120: Google Polymer with Rob Dodson and Eric BidelmanPolymer vs Facebook ReactPicks Emily Claire Reese: Playing Catch-Up (Jamison) Jason Punyon: Providence: Failure Is Always an Option (Jamison) Active Child: You Are All I See (Jamison) FFmpeg (Chuck) YouTube (Chuck) Developers' Box Club (Chuck) Ruby Remote Conf (Chuck) DevChat.tv Kickstarter (Chuck) Dash (Hongli) In the Balance: An Alternate History of the Second World War by Harry Turtledove (Hongli) phusion-mvc (Tinco) Union Station Teaser (Tinco) Radio 1's Live Lounge (Tinco)Special Guests: Hongli Lai and Tinco Andringa. Support 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.

4 Maalis 201543min

148 JSJ i.cx and EveryBit.js with Matt Asher and Dann Toliver

148 JSJ i.cx and EveryBit.js with Matt Asher and Dann Toliver

02:24 - Dann Toliver IntroductionTwitter GitHub Bento Miso02:35 - Matt Asher IntroductionTwitter GitHub Blog02:51 - EveryBit.js and I.CX[GitHub] everybit.js EveryBit.js Whitepaper 03:43 - ArchitectureEpisode #135: Smallest Federated Wiki with Ward Cunningham06:54 - Sustainability and The Pieces of the SystemContent “Puffs”AuthenticationStorageFirebaseDistributed Hash Table (DHT)The Chord Algorithm (Peer-to-Peer)21:56 - DecentralizationSpace MonkeyMadesafe25:20 - Audience: Why Should I Care?27:38 - Getting Started: Nuts and BoltsFrontend AgnosticStorage and PerformanceUsers and Data ManagementPayload PropertiesMetadataGraph DatabaseAdding New RelationshipsAdding HeuristicsResource Allocator ComponentLocal StorageRAM34:55 - Scaling and Server Cost36:23 - Cloud Storage and Management (Security & Trust)HTTPSSSL ModelGPG Model“Proof of Presence”"Self-verifying"Namecoin Project47:22 - Implementing Cryptographic Primitivesbitcoinjs-lib    Key Management CryptographyOAuth55:13 - The Firefox Sync Tool ProjectPicks [Twitch.tv] Kylelandrypiano (Jamison) "Visualizing Persistent Data Structures" by Dann Toliver (Jamison) Probability and Statistics Blog (Jamison) Seeed Studio (Tim) Adafruit Industries (Tim) SparkFun Electronics (Tim) American Sniper by Chris Kyle, Scott McEwen, and Jim DeFelice (Chuck) Introducing Relay and GraphQL (Dann) The Clojurescript Ecosystem (Dann) Read-Eval-Print-λove (Dann) React Native (Matt)Special Guests: Dann Toliver and Matt Asher. Support 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.

25 Helmi 20151h 5min

147 JSJ io.js with Isaac Schleuter and Mikeal Rogers

147 JSJ io.js with Isaac Schleuter and Mikeal Rogers

The panelists talk to Isaac Schleuter and Mikeal Rogers about io.js.Special Guests: Isaac Schleuter and Mikeal Rogers. Support 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 Helmi 20152min

146 JSJ React with Christopher Chedeau and Jordan Walke

146 JSJ React with Christopher Chedeau and Jordan Walke

The panelists talk to Christopher Chedeau and Jordan Walke about React.js Conf and React Native.Special Guests: Christopher Chedeau and Jordan Walke. Support 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.

11 Helmi 201557min

145 JSJ Meteor.js with Matt DeBergalis

145 JSJ Meteor.js with Matt DeBergalis

The panelists talk to Matt DeBergalis about Meteor.js.Special Guest: Matt DeBergalis. Support 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.

4 Helmi 20151h 6min

144 JSJ Marionette.js 2.0 with Sam Saccone

144 JSJ Marionette.js 2.0 with Sam Saccone

The panelists talk to Sam Saccone about Marionette.js 2.0.Special Guest: Sam Saccone. Support 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.

28 Tammi 201538min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
rss-rahapodi
mimmit-sijoittaa
psykopodiaa-podcast
ostan-asuntoja-podcast
oppimisen-psykologia
pomojen-suusta
rss-rahamania
taloudellinen-mielenrauha
sijoituskaverit
rss-lahtijat
herrasmieshakkerit
kasvun-kipuja
yrittaja
hyva-paha-johtaminen
rss-h-asselmoilanen
rss-turvacast
rss-yrittajan-mielenmatka
rss-merja-mahkan-rahat
mihin-sita-saastais