Share Code between React and React Native Apps – Hacker Noon

  • Share Code between React and React Native AppsDevelopers are adopting Higher Order Components (HOC) Stateless Functional Components, and for good reason: they make it easier to achieve code reuse, a coveted aspiration of developers.There are many articles on HOC and Functional Stateless Components.
  • But here are a few benefits to consider:UX consistency, both within an application and across devicesMake cross-cutting upgrades: improve a component and update all its uses easilyreuse routing and authorization rulesSwitch libraries (for example, the apps below uses MobX for state management, but Redux could be swapped in)I’ll focus on using HOC and Functional Stateless Components to achieve reuse.
  • It will not use routes nor multiple scenes as the focus is on component reuse.We will add a second pair of applications (React and React Native), which will reuse the components we extract.This GitHub repo branch has the baseline applications (The final result is here.)
  • You have to “see” the duplication, which might require rearranging code blocks.Applying these ideas is like moving puzzle pieces around, to find where they meet and what patterns they reveal.Let’s start by looking for duplication.Seeing DuplicationThe web and mobile applications have two main components.In the web application, App.jsIn the mobile application, SearchView.jsThe following outlines their structure.Almost the same, but the platform differences between React and React Native are in the way.The two components have similar structures.
  • But they are in the README for the GitHub repo branch.Instead, I’ll focus on the refactoring to a common SearchBox, which our web (React) and mobile (React Native) applications will both use.Extracting a Shared Component for Web and MobileFor clarity, I’ve renamed SearchInput.js, SearchResults.js and SearchBox.js to WebSearchInput.js, WebSearchResults.js and WebSearchBox.js, respectively.Let’s look at (Web)SearchBox.jsLines 2–10, 19, 20, 26, 27 are specific to React.MuiThemeProvider, a container for Material UI components, is the only direct dependency on Material UI.

Developers are adopting Higher Order Components (HOC) Stateless Functional Components, and for good reason: they make it easier to achieve code reuse, a coveted aspiration of developers. There are…
Continue reading “Share Code between React and React Native Apps – Hacker Noon”

Intro To Web Components: What They Are & How They Work

Intro to web components: What they are & how they work  #webcomponents #polymer #reactjs

  • A web component is a DOM element created through reusable code.
  • The idea behind web components is to create dynamic interface elements without writing custom JavaScript code or building your own libraries.
  • If you skim the Web Components intro guide it explains that components are built on four unique W3C technologies:

    Each of these features are separate and have their own specs on the W3C website.

  • If you do use Polymer alongside web component polyfills you can get large browser support for all four W3C technologies.
  • However if you’re willing to learn Polymer and dive into polyfills you can actually get web components running in all major browsers.

Reusable code is the bedrock of modern web design. With every frontend framework and Sass library out there you can find solutions to any problem.
Continue reading “Intro To Web Components: What They Are & How They Work”