In less than one year, Walmart.com has completed its migration to React/Node.js and we are proud of that accomplishment! The goal was to build a new application platform to help @WalmartLabs and its engineers scale for the future.
Electrode archetypes are a way for every Electrode module to share common scripts, dependencies, and best practices that can be updated in real time—and have that update propagate to every module that inherits from that specific archetype. For a detailed description of archetypes, see what are archetypes?.
Most likely you are using npm@2. Upgrade to npm@3 by running command
npm i -g npm@3 and redo
Electrode Boilerplate was created using the
yo electrode command.
yo electrode gives you a bare bones Electrode Isomorphic Universal React App with NodeJS backend.
Electrode Boilerplate includes all the bells and whistles for the SSR optimizations using the following modules configured and integrated for your use:
Electrode reusable components are for reusing across different apps, so they are made for being developed independently, consumed via electrode-explorer. These reusable components can take extra disk space to be able to develop & run independently in the browser, but when bundled/compiled the footprint is very small.
If you just have one app, they probably shouldn't follow this model and instead, embed the components in your app directly.
SEO - Because Walmart.com is an eCommerce site, SEO is critical for our business model. To benefit from search indexing, SSR allows us to return an HTML string to search engines and our search analytics.
Reusability - At Walmart.com we handle highly complex user interactions at an unbelievable scale. ReactJS is the chosen framework to deal with this so our developers can create reusable components that we can then run universally—on the client and the server. Creating modular and reusable components has helped us to share the same code across several different pages and even different brands. The shared components all have one single source of truth and are easy to read, debug and implement, so our engineers can focus on building great features to enrich user experience.
We have plans for GraphQL, but it’s a bit further out. Regarding React Native, we recently released Electrode Native.
Electrode Native is a mobile platform that simplifies development and streamlines the integration of React Native components into existing mobile applications. Electrode Native requires minimal changes to the existing mobile code base and infrastructure. Using Electrode Native, you can leverage React Native potential in your mobile application.
hot-reloading of jsx is already built in electrode.
clap hot will enable hot-reloading.